skyline/test/e2e/integration/pages/network/vpn.spec.js
zhuyue fff9d8ee02 fix: Change vpn tunnel to ipsec site connection
change vpn tunnel to ipsec site connection

Change-Id: Ia59bc87d4e61879b063719c114a02133b7044805
2021-10-11 11:04:55 +08:00

202 lines
6.6 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 { vpnListUrl } from '../../../support/constants';
const vpnServiceEnabled = (Cypress.env('extensions') || []).includes(
'neutron::vpn'
);
onlyOn(!vpnServiceEnabled, () => {
describe('The VPN Page', () => {
it('successfully skip', () => {});
});
});
onlyOn(vpnServiceEnabled, () => {
describe('The VPN Page', () => {
const listUrl = vpnListUrl;
const uuid = Cypress._.random(0, 1e6);
const gateway = `e2e-gateway-${uuid}`;
const endpointLocal = `e2e-endpoint-local-${uuid}`;
const endpointPeer = `e2e-endpoint-peer-${uuid}`;
const ikePolicy = `e2e-ike-policy-${uuid}`;
const ipsecPolicy = `e2e-ipsec-policy-${uuid}`;
const ipsecSiteConnection = `e2e-ipsec-site-connection-${uuid}`;
const cidr = '192.168.0.0/24';
const networkName = `e2e-network-for-vpn-${uuid}`;
const routerName = `e2e-router-for-vpn-${uuid}`;
beforeEach(() => {
cy.login(listUrl);
});
it('successfully prepair resource', () => {
cy.createNetwork({ name: networkName });
cy.createRouter({ name: routerName, network: networkName });
});
it('successfully create gateway', () => {
cy.clickHeaderButton(1)
.formInput('name', gateway)
.formText('description', gateway)
.formTableSelectBySearch('router_id', routerName)
.clickModalActionSubmitButton();
});
it('successfully create local endpoint', () => {
cy.clickTab('VPN EndPoint Group', 'vpn_endpoint_groups')
.clickHeaderButton(1)
.wait(5000)
.formInput('name', endpointLocal)
.formText('description', endpointLocal)
.formSelect('type', 'Local')
.formTableSelectBySearch('router_id', routerName)
.wait(5000)
.formTableSelect('subnet_id')
.clickModalActionSubmitButton();
});
it('successfully create peer endpoint', () => {
cy.clickTab('VPN EndPoint Group', 'vpn_endpoint_groups')
.clickHeaderButton(1)
.formInput('name', endpointPeer)
.formText('description', endpointPeer)
.formSelect('type', 'Peer')
.wait(2000)
.formText('endpoints', cidr)
.clickModalActionSubmitButton();
});
it('successfully create ike policy', () => {
cy.clickTab('IKE Policy', 'ike_policy')
.clickHeaderButton(1)
.formInput('name', ikePolicy)
.formText('description', ikePolicy)
.clickModalActionSubmitButton();
});
it('successfully create ipsec policy', () => {
cy.clickTab('IPsec Policy', 'ipsec_policy')
.clickHeaderButton(1)
.formInput('name', ipsecPolicy)
.formText('description', ipsecPolicy)
.clickModalActionSubmitButton();
});
it('successfully create ipsec site connection', () => {
cy.clickTab('IPsec Site Connections', 'ipsec_site_connections')
.clickHeaderButton(1)
.wait(5000)
.formInput('name', ipsecSiteConnection)
.formText('description', ipsecSiteConnection)
.formSelect('vpnservice_id', gateway)
.formSelect('ikepolicy_id', ikePolicy)
.formSelect('ipsecpolicy_id', ipsecPolicy)
.formSelect('local_ep_group_id', endpointLocal)
.wait(2000)
.formInput('peer_address', '192.168.1.1')
.formSelect('peer_ep_group_id', endpointPeer)
.formInput('password', 'passW0rd')
.formInput('confirmPassword', 'passW0rd')
.formButtonClick('more')
.clickModalActionSubmitButton();
});
it('successfully detail ipsec site connection', () => {
cy.clickTab('IPsec Site Connections', 'ipsec_site_connections').tableSearchText(ipsecSiteConnection);
cy.goToDetail().wait(30000);
cy.goBackToList(listUrl);
});
it('successfully edit ipsec site connection', () => {
cy.clickTab('IPsec Site Connections')
.tableSearchText(ipsecSiteConnection)
.clickFirstActionButton()
.formText('description', 'description')
.clickModalActionSubmitButton();
});
it('successfully delete ipsec site connection', () => {
cy.clickTab('IPsec Site Connections')
.tableSearchText(ipsecSiteConnection)
.clickConfirmActionButton('Delete');
});
it('successfully edit ipsec policy', () => {
cy.clickTab('IPsec Policy')
.tableSearchText(ipsecPolicy)
.clickFirstActionButton()
.formText('description', 'description')
.clickModalActionSubmitButton();
});
it('successfully delete ipsec policy', () => {
cy.clickTab('IPsec Policy')
.tableSearchText(ipsecPolicy)
.clickConfirmActionButton('Delete');
});
it('successfully edit ike policy', () => {
cy.clickTab('IKE Policy')
.tableSearchText(ikePolicy)
.clickFirstActionButton()
.formText('description', 'description')
.clickModalActionSubmitButton();
});
it('successfully delete ike policy', () => {
cy.clickTab('IKE Policy')
.tableSearchText(ikePolicy)
.clickConfirmActionButton('Delete');
});
it('successfully edit endpoint', () => {
cy.clickTab('VPN EndPoint Group')
.tableSearchText(endpointLocal)
.clickFirstActionButton()
.formText('description', 'description')
.clickModalActionSubmitButton();
});
it('successfully delete endpoint', () => {
cy.clickTab('VPN EndPoint Group')
.tableSearchText(endpointLocal)
.clickConfirmActionButton('Delete')
.wait(5000)
.tableSearchText(endpointPeer)
.clickConfirmActionButton('Delete');
});
it('successfully edit gateway', () => {
cy.tableSearchText(gateway)
.clickFirstActionButton()
.formText('description', 'description')
.clickModalActionSubmitButton();
});
it('successfully delete gateway', () => {
cy.tableSearchText(gateway).clickConfirmActionButton('Delete');
});
it('successfully delete related resources', () => {
cy.deleteRouter(routerName, networkName);
cy.deleteAll('network', networkName);
});
});
});