123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- /*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
- /* eslint-disable no-undef */
- context('Create and Edit Service with Custom CHash Key Upstream', () => {
- const selector = {
- name: '#name',
- description: '#desc',
- roundRobinSelect: '[title="Round Robin"]',
- upstreamTypeSelect: '[title="Node"]',
- discovery_type: '#discovery_type',
- service_name: '#service_name',
- upstreamType: '.ant-select-item-option-content',
- hashPosition: '.ant-select-item-option-content',
- discoveryTypeSelect: '.ant-select-item-option-content',
- chash_key: '#key',
- notification: '.ant-notification-notice-message',
- nameSearch: '[title=Name]',
- notificationCloseIcon: '.ant-notification-close-icon',
- drawer: '.ant-drawer-content',
- monacoScroll: '.monaco-scrollable-element',
- };
- const data = {
- createServiceSuccess: 'Create Service Successfully',
- deleteServiceSuccess: 'Delete Service Successfully',
- editServiceSuccess: 'Configure Service Successfully',
- port: '80',
- weight: 1,
- description: 'desc_by_autotest',
- ip1: '127.0.0.1',
- port0: '7000',
- weight0: '1',
- custom_key: 'custom_key',
- new_key: 'new_key',
- serviceName: 'test.cluster.local',
- anotherServiceName: `another.test.cluster.local`,
- };
- beforeEach(() => {
- cy.login();
- });
- it('should create a service with service discovery Upstream', function () {
- cy.visit('/');
- cy.contains('Service').click();
- cy.contains('Create').click();
- cy.get(selector.name).type(data.serviceName);
- cy.get(selector.description).type(data.description);
- cy.get(selector.upstreamTypeSelect).click();
- cy.get(selector.upstreamType).within(() => {
- cy.contains('Service Discovery').click();
- });
- cy.get(selector.discovery_type).click();
- cy.get(selector.discoveryTypeSelect).within(() => {
- cy.contains('DNS').click();
- });
- cy.get(selector.service_name).type(data.serviceName);
- cy.contains('Next').click();
- cy.contains('Next').click();
- cy.contains('Submit').click();
- cy.get(selector.notification).should('contain', data.createServiceSuccess);
- });
- it('should edit the service', function () {
- cy.visit('/service/list');
- cy.get(selector.nameSearch).type(data.serviceName);
- cy.contains('Search').click();
- cy.contains(data.serviceName).siblings().contains('Configure').click();
- cy.wait(1000);
- cy.get(selector.name).clear().type(data.anotherServiceName);
- // set another service discovery
- cy.get(selector.discovery_type).click({ force: true });
- cy.get(selector.discoveryTypeSelect).within(() => {
- cy.contains('Nacos').click();
- });
- cy.get(selector.service_name).clear().type(data.anotherServiceName);
- cy.contains('Next').click();
- cy.contains('Next').click();
- cy.contains('Submit').click();
- cy.get(selector.notification).should('contain', data.editServiceSuccess);
- });
- it('should view the test service', function () {
- cy.visit('/service/list');
- cy.get(selector.nameSearch).type(data.anotherServiceName);
- cy.contains('Search').click();
- cy.contains(data.anotherServiceName).siblings().contains('View').click();
- cy.get(selector.drawer).should('be.visible');
- cy.get(selector.monacoScroll).within(() => {
- cy.contains('service_name').should('exist');
- cy.contains('discovery').should('exist');
- });
- });
- it('should delete this service', function () {
- cy.visit('/service/list');
- cy.get(selector.nameSearch).type(data.anotherServiceName);
- cy.contains('Search').click();
- cy.contains(data.anotherServiceName).siblings().contains('Delete').click();
- cy.contains('button', 'Confirm').click();
- cy.get(selector.notification).should('contain', data.deleteServiceSuccess);
- cy.get(selector.notificationCloseIcon).click();
- });
- });
|