skyline/test/e2e/integration/pages/network/qos-policy.spec.js
Jingwei.Zhang 69bae6f166 test: Update e2e test according to service enabled
1. Add extenstions in config.yaml to support skip e2e case when service is disabled
2. Support compute, storage, network, other(identity, heat, configuration) config files to runthe corresponding cases

Change-Id: I310f4481d083319221045708cf5b311d51802b8c
2021-09-30 13:51:29 +08:00

133 lines
4.0 KiB
JavaScript

// Copyright 2021 99cloud
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import { onlyOn } from '@cypress/skip-test';
import { policyListUrl } from '../../../support/constants';
const qosServiceEnabled = (Cypress.env('extensions') || []).includes(
'neutron::qos'
);
onlyOn(!qosServiceEnabled, () => {
describe('Skip The Network Qos Policy Page', () => {
it('successfully skip', () => {});
});
});
onlyOn(qosServiceEnabled, () => {
describe('The Network Qos Policy Page', () => {
const listUrl = policyListUrl;
const name = `e2e-policy-${Cypress._.random(0, 1e6)}`;
const newname = `${name}-1`;
beforeEach(() => {
cy.loginAdmin(listUrl);
});
it('successfully create', () => {
cy.clickHeaderButton(1)
.wait(2000)
.formInput('name', name)
.formText('description', name)
// .formSelect('project_id', 'admin')
.formSwitch('shared')
.clickModalActionSubmitButton();
});
it('successfully detail', () => {
cy.tableSearchText(name)
.checkTableFirstRow(name)
.goToDetail()
.checkDetailName(name);
cy.goBackToList(listUrl);
});
// egress
it('successfully create egress bandwidth limit rule', () => {
cy.tableSearchText(name)
.clickActionInMore('Create Bandwidth Limit Rule')
.formSelect('direction', 'egress')
.clickModalActionSubmitButton();
});
it('successfully edit bandwidth egress limit rule', () => {
cy.tableSearchText(name)
.clickActionInMore('Edit Bandwidth Egress Limit Rule')
.formInput('max_kbps', 2)
.clickModalActionSubmitButton();
});
it('successfully delete bandwidth egress limit rule', () => {
cy.tableSearchText(name).clickConfirmActionInMore(
'Delete Bandwidth Egress Rules'
);
});
it('successfully create bandwidth ingress limit rule', () => {
cy.tableSearchText(name)
.clickActionInMore('Create Bandwidth Limit Rule')
.formSelect('direction', 'ingress')
.clickModalActionSubmitButton();
});
it('successfully edit bandwidth ingress limit rule', () => {
cy.tableSearchText(name)
.clickActionInMore('Edit Bandwidth Ingress Limit Rule')
.formInput('max_kbps', 2)
.clickModalActionSubmitButton();
});
it('successfully delete bandwidth ingress limit rule', () => {
cy.tableSearchText(name).clickConfirmActionInMore(
'Delete Bandwidth Ingress Rules'
);
});
it('successfully create DSCP marking rule', () => {
cy.tableSearchText(name)
.clickActionInMore('Create DSCP Marking Rule')
.clickModalActionSubmitButton();
});
it('successfully edit DSCP marking rule', () => {
cy.tableSearchText(name)
.clickActionInMore('Edit DSCP Marking Rule')
.formSelect('dscp_mark', 8)
.clickModalActionSubmitButton();
});
it('successfully delete DSCP marking rule', () => {
cy.tableSearchText(name).clickConfirmActionInMore(
'Delete DSCP Marking Rules'
);
});
it('successfully edit', () => {
cy.tableSearchText(name)
.clickFirstActionButton()
.formInput('name', newname)
.formText('description', newname)
.clickModalActionSubmitButton()
.wait(2000);
});
it('successfully delete', () => {
cy.tableSearchText(newname)
.checkTableFirstRow(newname)
.clickConfirmActionInMore('Delete');
cy.tableSearchText(newname).checkEmptyTable();
});
});
});