This is an automated email from the ASF dual-hosted git repository.

baoyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git


The following commit(s) were added to refs/heads/master by this push:
     new 8390d3dfd feat: support consul discovery (#2731)
8390d3dfd is described below

commit 8390d3dfd53bae19fc31e5dbc8753882e69a8ff3
Author: fabriceli <[email protected]>
AuthorDate: Sat Mar 25 19:59:01 2023 +0800

    feat: support consul discovery (#2731)
---
 ...ate-route-with-service-discovery-upstream.cy.js | 42 ++++++++++++++++++++++
 .../Upstream/components/ServiceDiscovery.tsx       |  1 +
 web/src/components/Upstream/locales/en-US.ts       |  1 +
 web/src/components/Upstream/locales/tr-TR.ts       |  1 +
 web/src/components/Upstream/locales/zh-CN.ts       |  1 +
 web/src/pages/Upstream/typing.d.ts                 |  2 +-
 6 files changed, 47 insertions(+), 1 deletion(-)

diff --git 
a/web/cypress/e2e/route/create-route-with-service-discovery-upstream.cy.js 
b/web/cypress/e2e/route/create-route-with-service-discovery-upstream.cy.js
old mode 100644
new mode 100755
index 9076cef1d..deb8bbfbd
--- a/web/cypress/e2e/route/create-route-with-service-discovery-upstream.cy.js
+++ b/web/cypress/e2e/route/create-route-with-service-discovery-upstream.cy.js
@@ -41,6 +41,7 @@ context('Create Route with Service Discovery Upstream', () => 
{
     upstreamName: 'test_upstream',
     routeName: 'test_route',
     serviceName: 'test.cluster.local',
+    consul: 'Consul',
   };
 
   beforeEach(() => {
@@ -154,6 +155,47 @@ context('Create Route with Service Discovery Upstream', () 
=> {
     });
   });
 
+  it('should edit this route with Consul Service Discovery upstream', function 
() {
+    cy.visit('/');
+    cy.contains('Route').click();
+    cy.get(selector.nameSelector).type(data.routeName);
+
+    cy.contains('Search').click();
+    cy.contains(data.routeName).siblings().contains('Configure').click();
+
+    cy.get(selector.name).should('value', data.routeName);
+    cy.contains('Next').click({
+      force: true,
+    });
+
+    cy.contains('Nacos').should('exist');
+
+    // set another service discovery
+    cy.get(selector.discovery_type).click({ force: true });
+    cy.get('[title="Consul"] > .ant-select-item-option-content').click();
+    cy.get(selector.service_name).clear().type(`another.${data.serviceName}`);
+
+    cy.contains('Next').click();
+    cy.contains('Next').click();
+    cy.contains('Submit').click();
+    cy.contains(data.submitSuccess).should('be.visible');
+    cy.contains('Goto List').click();
+    cy.url().should('contains', 'routes/list');
+
+    // check if the changes have been saved
+    cy.get(selector.nameSelector).type(data.routeName);
+    cy.contains('Search').click();
+
+    cy.contains(data.routeName).siblings().contains('More').click();
+    cy.contains('View').click();
+    cy.get(selector.drawer).should('be.visible');
+
+    cy.get(selector.monacoScroll).within(() => {
+      cy.contains(`another.${data.serviceName}`).should('exist');
+      cy.contains('consul').should('exist');
+    });
+  });
+
   it('should delete this test route and upstream', function () {
     cy.visit('/routes/list');
     cy.get(selector.nameSelector).type(data.routeName);
diff --git a/web/src/components/Upstream/components/ServiceDiscovery.tsx 
b/web/src/components/Upstream/components/ServiceDiscovery.tsx
index 7329dc534..067e52b91 100644
--- a/web/src/components/Upstream/components/ServiceDiscovery.tsx
+++ b/web/src/components/Upstream/components/ServiceDiscovery.tsx
@@ -28,6 +28,7 @@ type Props = {
 
 const discoveryType = {
   dns: {},
+  consul: {},
   consul_kv: {},
   nacos: {
     args: ['group_name', 'namespace_id'],
diff --git a/web/src/components/Upstream/locales/en-US.ts 
b/web/src/components/Upstream/locales/en-US.ts
index 2b00de759..bdffbfd00 100644
--- a/web/src/components/Upstream/locales/en-US.ts
+++ b/web/src/components/Upstream/locales/en-US.ts
@@ -28,6 +28,7 @@ export default {
   'component.upstream.fields.discovery_type.tooltip': 'Discovery Type',
   'component.upstream.fields.discovery_type.placeholder': 'Please select the 
discovery type',
   'component.upstream.fields.discovery_type.type.dns': 'DNS',
+  'component.upstream.fields.discovery_type.type.consul': 'Consul',
   'component.upstream.fields.discovery_type.type.consul_kv': 'Consul KV',
   'component.upstream.fields.discovery_type.type.nacos': 'Nacos',
   'component.upstream.fields.discovery_type.type.eureka': 'Eureka',
diff --git a/web/src/components/Upstream/locales/tr-TR.ts 
b/web/src/components/Upstream/locales/tr-TR.ts
index a7f823786..2307446de 100644
--- a/web/src/components/Upstream/locales/tr-TR.ts
+++ b/web/src/components/Upstream/locales/tr-TR.ts
@@ -28,6 +28,7 @@ export default {
   'component.upstream.fields.discovery_type.tooltip': 'Keşif Tipi',
   'component.upstream.fields.discovery_type.placeholder': 'Keşif tipini 
seçiniz',
   'component.upstream.fields.discovery_type.type.dns': 'DNS',
+  'component.upstream.fields.discovery_type.type.consul': 'Consul',
   'component.upstream.fields.discovery_type.type.consul_kv': 'Consul KV',
   'component.upstream.fields.discovery_type.type.nacos': 'Nacos',
   'component.upstream.fields.discovery_type.type.eureka': 'Eureka',
diff --git a/web/src/components/Upstream/locales/zh-CN.ts 
b/web/src/components/Upstream/locales/zh-CN.ts
index bcc38f118..b26d15527 100644
--- a/web/src/components/Upstream/locales/zh-CN.ts
+++ b/web/src/components/Upstream/locales/zh-CN.ts
@@ -28,6 +28,7 @@ export default {
   'component.upstream.fields.discovery_type.tooltip': '服务发现类型',
   'component.upstream.fields.discovery_type.placeholder': '请选择服务发现类型',
   'component.upstream.fields.discovery_type.type.dns': 'DNS',
+  'component.upstream.fields.discovery_type.type.consul': 'Consul',
   'component.upstream.fields.discovery_type.type.consul_kv': 'Consul KV',
   'component.upstream.fields.discovery_type.type.nacos': 'Nacos',
   'component.upstream.fields.discovery_type.type.eureka': 'Eureka',
diff --git a/web/src/pages/Upstream/typing.d.ts 
b/web/src/pages/Upstream/typing.d.ts
index 5c73cc70d..df6df9099 100644
--- a/web/src/pages/Upstream/typing.d.ts
+++ b/web/src/pages/Upstream/typing.d.ts
@@ -17,7 +17,7 @@
 declare namespace UpstreamModule {
   type Node = Record<string, number | string>;
   type Type = 'roundrobin' | 'chash' | 'ewma';
-  type DiscoveryType = 'dns' | 'consul_kv' | 'nacos' | 'eureka';
+  type DiscoveryType = 'dns' | 'consul' | 'consul_kv' | 'nacos' | 'eureka';
   type DiscoveryArgs = {
     group_name?: string;
     namespace_id?: string;

Reply via email to