You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by as...@apache.org on 2018/08/20 14:17:00 UTC

[incubator-servicecomb-service-center] branch master updated: SCB-851 Can not get providers if consumer have * dependency rule (#421)

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

asifdxtreme pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-service-center.git


The following commit(s) were added to refs/heads/master by this push:
     new 601fe32  SCB-851 Can not get providers if consumer have * dependency rule (#421)
601fe32 is described below

commit 601fe32ce50ee65a11ddd071fd6ee33d23a6f576
Author: little-cui <su...@qq.com>
AuthorDate: Mon Aug 20 22:16:58 2018 +0800

    SCB-851 Can not get providers if consumer have * dependency rule (#421)
---
 server/service/dependency_test.go       | 47 +++++++++++++++++++++++++++++++--
 server/service/util/dependency_query.go |  2 +-
 2 files changed, 46 insertions(+), 3 deletions(-)

diff --git a/server/service/dependency_test.go b/server/service/dependency_test.go
index b1bfcbc..497b86c 100644
--- a/server/service/dependency_test.go
+++ b/server/service/dependency_test.go
@@ -32,6 +32,7 @@ var _ = Describe("'Dependency' service", func() {
 		var (
 			consumerId1 string
 			consumerId2 string
+			consumerId3 string
 		)
 
 		It("should be passed", func() {
@@ -50,6 +51,19 @@ var _ = Describe("'Dependency' service", func() {
 
 			respCreateService, err = serviceResource.Create(getContext(), &pb.CreateServiceRequest{
 				Service: &pb.MicroService{
+					AppId:       "create_dep_group",
+					ServiceName: "create_dep_consumer_all",
+					Version:     "1.0.0",
+					Level:       "FRONT",
+					Status:      pb.MS_UP,
+				},
+			})
+			Expect(err).To(BeNil())
+			Expect(respCreateService.Response.Code).To(Equal(pb.Response_SUCCESS))
+			consumerId3 = respCreateService.ServiceId
+
+			respCreateService, err = serviceResource.Create(getContext(), &pb.CreateServiceRequest{
+				Service: &pb.MicroService{
 					Environment: pb.ENV_PROD,
 					AppId:       "create_dep_group",
 					ServiceName: "create_dep_consumer",
@@ -443,7 +457,11 @@ var _ = Describe("'Dependency' service", func() {
 				respCreateDependency, err = serviceResource.CreateDependenciesForMicroServices(getContext(), &pb.CreateDependenciesRequest{
 					Dependencies: []*pb.ConsumerDependency{
 						{
-							Consumer: consumer,
+							Consumer: &pb.MicroServiceKey{
+								ServiceName: "create_dep_consumer_all",
+								AppId:       "create_dep_group",
+								Version:     "1.0.0",
+							},
 							Providers: []*pb.MicroServiceKey{
 								{
 									ServiceName: "*",
@@ -455,6 +473,31 @@ var _ = Describe("'Dependency' service", func() {
 				Expect(err).To(BeNil())
 				Expect(respCreateDependency.Response.Code).To(Equal(pb.Response_SUCCESS))
 
+				Expect(deh.Handle()).To(BeNil())
+
+				respPro, err = serviceResource.GetConsumerDependencies(getContext(), &pb.GetDependenciesRequest{
+					ServiceId: consumerId3,
+				})
+				Expect(err).To(BeNil())
+				Expect(respPro.Response.Code).To(Equal(pb.Response_SUCCESS))
+				Expect(len(respPro.Providers)).ToNot(Equal(0))
+
+				By("clean all")
+				respCreateDependency, err = serviceResource.CreateDependenciesForMicroServices(getContext(), &pb.CreateDependenciesRequest{
+					Dependencies: []*pb.ConsumerDependency{
+						{
+							Consumer: &pb.MicroServiceKey{
+								ServiceName: "create_dep_consumer_all",
+								AppId:       "create_dep_group",
+								Version:     "1.0.0",
+							},
+							Providers: nil,
+						},
+					},
+				})
+				Expect(err).To(BeNil())
+				Expect(respCreateDependency.Response.Code).To(Equal(pb.Response_SUCCESS))
+
 				By("add multiple providers")
 				respCreateDependency, err = serviceResource.CreateDependenciesForMicroServices(getContext(), &pb.CreateDependenciesRequest{
 					Dependencies: []*pb.ConsumerDependency{
@@ -476,7 +519,7 @@ var _ = Describe("'Dependency' service", func() {
 				Expect(err).To(BeNil())
 				Expect(respCreateDependency.Response.Code).To(Equal(pb.Response_SUCCESS))
 
-				By("add 1.0.0-2.0.0")
+				By("add 1.0.0-2.0.0 to override *")
 				respCreateDependency, err = serviceResource.CreateDependenciesForMicroServices(getContext(), &pb.CreateDependenciesRequest{
 					Dependencies: []*pb.ConsumerDependency{
 						{
diff --git a/server/service/util/dependency_query.go b/server/service/util/dependency_query.go
index 88bf4c4..b873b72 100644
--- a/server/service/util/dependency_query.go
+++ b/server/service/util/dependency_query.go
@@ -167,7 +167,7 @@ func (dr *DependencyRelation) parseDependencyRule(dependencyRule *pb.MicroServic
 		sopts := append(opts,
 			registry.WithStrKey(allServiceKey),
 			registry.WithPrefix())
-		resp, err := backend.Store().Service().Search(dr.ctx, sopts...)
+		resp, err := backend.Store().ServiceIndex().Search(dr.ctx, sopts...)
 		if err != nil {
 			return nil, err
 		}