You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ti...@apache.org on 2021/08/02 12:47:44 UTC

[servicecomb-service-center] branch master updated: Optimize: Add discosvc.GetService (#1123)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 2d1aa32  Optimize: Add discosvc.GetService (#1123)
2d1aa32 is described below

commit 2d1aa32767cc508105f3ad8c9a80148eff699e51
Author: little-cui <su...@qq.com>
AuthorDate: Mon Aug 2 20:47:38 2021 +0800

    Optimize: Add discosvc.GetService (#1123)
---
 datasource/etcd/ms.go                              | 15 +++-------
 datasource/mongo/engine.go                         |  6 ++--
 datasource/mongo/ms.go                             | 15 +++-------
 datasource/ms.go                                   |  2 +-
 datasource/schema_test.go                          | 19 ++++++-------
 datasource/service_test.go                         | 18 ++++++------
 pkg/proto/service.go                               |  2 ++
 server/plugin/auth/buildin/service_parser.go       |  8 +-----
 .../rest/controller/v4/microservice_controller.go  |  7 +++--
 server/service/disco/metadata_dao.go               | 11 ++++++++
 server/service/disco/microservice.go               |  7 ++---
 server/service/disco/microservice_test.go          | 33 +++++++++++-----------
 server/service/disco/schema_test.go                | 18 ++++++------
 13 files changed, 75 insertions(+), 86 deletions(-)

diff --git a/datasource/etcd/ms.go b/datasource/etcd/ms.go
index e63a458..e2b4d52 100644
--- a/datasource/etcd/ms.go
+++ b/datasource/etcd/ms.go
@@ -196,26 +196,19 @@ func (ds *MetadataManager) GetServices(ctx context.Context, request *pb.GetServi
 }
 
 func (ds *MetadataManager) GetService(ctx context.Context, request *pb.GetServiceRequest) (
-	*pb.GetServiceResponse, error) {
+	*pb.MicroService, error) {
 	domainProject := util.ParseDomainProject(ctx)
 	singleService, err := serviceUtil.GetService(ctx, domainProject, request.ServiceId)
 
 	if err != nil {
 		if errors.Is(err, datasource.ErrNoData) {
 			log.Debug(fmt.Sprintf("get micro-service[%s] failed, service does not exist in db", request.ServiceId))
-			return &pb.GetServiceResponse{
-				Response: pb.CreateResponse(pb.ErrServiceNotExists, "Service does not exist."),
-			}, nil
+			return nil, pb.NewError(pb.ErrServiceNotExists, "Service does not exist.")
 		}
 		log.Error(fmt.Sprintf("get micro-service[%s] failed, get service file failed", request.ServiceId), err)
-		return &pb.GetServiceResponse{
-			Response: pb.CreateResponse(pb.ErrInternal, err.Error()),
-		}, err
+		return nil, pb.NewError(pb.ErrInternal, err.Error())
 	}
-	return &pb.GetServiceResponse{
-		Response: pb.CreateResponse(pb.ResponseSuccess, "Get service successfully."),
-		Service:  singleService,
-	}, nil
+	return singleService, nil
 }
 
 func (ds *MetadataManager) GetServiceDetail(ctx context.Context, request *pb.GetServiceRequest) (
diff --git a/datasource/mongo/engine.go b/datasource/mongo/engine.go
index 4c48239..997e510 100644
--- a/datasource/mongo/engine.go
+++ b/datasource/mongo/engine.go
@@ -156,12 +156,12 @@ func (ds *SCManager) registryService(pCtx context.Context) error {
 	}
 	if respE.Response.GetCode() == pb.ResponseSuccess {
 		log.Warn(fmt.Sprintf("service center service[%s] already registered", respE.ServiceId))
-		respG, err := datasource.GetMetadataManager().GetService(ctx, core.GetServiceRequest(respE.ServiceId))
-		if respG.Response.GetCode() != pb.ResponseSuccess {
+		service, err := datasource.GetMetadataManager().GetService(ctx, core.GetServiceRequest(respE.ServiceId))
+		if err != nil {
 			log.Error(fmt.Sprintf("query service center service[%s] info failed", respE.ServiceId), err)
 			return mutil.ErrLostServiceFile
 		}
-		core.Service = respG.Service
+		core.Service = service
 		return nil
 	}
 
diff --git a/datasource/mongo/ms.go b/datasource/mongo/ms.go
index 9d6fe85..7420779 100644
--- a/datasource/mongo/ms.go
+++ b/datasource/mongo/ms.go
@@ -209,7 +209,7 @@ func (ds *MetadataManager) GetApplications(ctx context.Context, request *discove
 	}, nil
 }
 
-func (ds *MetadataManager) GetService(ctx context.Context, request *discovery.GetServiceRequest) (*discovery.GetServiceResponse, error) {
+func (ds *MetadataManager) GetService(ctx context.Context, request *discovery.GetServiceRequest) (*discovery.MicroService, error) {
 	svc, ok := cache.GetServiceByID(ctx, request.ServiceId)
 	if !ok {
 		var err error
@@ -217,20 +217,13 @@ func (ds *MetadataManager) GetService(ctx context.Context, request *discovery.Ge
 		if err != nil {
 			if errors.Is(err, datasource.ErrNoData) {
 				log.Debug(fmt.Sprintf("service %s not exist in db", request.ServiceId))
-				return &discovery.GetServiceResponse{
-					Response: discovery.CreateResponse(discovery.ErrServiceNotExists, "Service not exist."),
-				}, nil
+				return nil, discovery.NewError(discovery.ErrServiceNotExists, "Service not exist.")
 			}
 			log.Error(fmt.Sprintf("failed to get single service %s from mongo", request.ServiceId), err)
-			return &discovery.GetServiceResponse{
-				Response: discovery.CreateResponse(discovery.ErrInternal, "get service data from mongodb failed."),
-			}, err
+			return nil, discovery.NewError(discovery.ErrInternal, "get service data from mongodb failed.")
 		}
 	}
-	return &discovery.GetServiceResponse{
-		Response: discovery.CreateResponse(discovery.ResponseSuccess, "Get service successfully."),
-		Service:  svc.Service,
-	}, nil
+	return svc.Service, nil
 }
 
 func (ds *MetadataManager) ExistServiceByID(ctx context.Context, request *discovery.GetExistenceByIDRequest) (*discovery.GetExistenceByIDResponse, error) {
diff --git a/datasource/ms.go b/datasource/ms.go
index 6208d39..309ce88 100644
--- a/datasource/ms.go
+++ b/datasource/ms.go
@@ -42,7 +42,7 @@ type MetadataManager interface {
 	// Microservice management
 	RegisterService(ctx context.Context, request *pb.CreateServiceRequest) (*pb.CreateServiceResponse, error)
 	GetServices(ctx context.Context, request *pb.GetServicesRequest) (*pb.GetServicesResponse, error)
-	GetService(ctx context.Context, request *pb.GetServiceRequest) (*pb.GetServiceResponse, error)
+	GetService(ctx context.Context, request *pb.GetServiceRequest) (*pb.MicroService, error)
 
 	GetServiceDetail(ctx context.Context, request *pb.GetServiceRequest) (*pb.GetServiceDetailResponse, error)
 	GetServicesInfo(ctx context.Context, request *pb.GetServicesInfoRequest) (*pb.GetServicesInfoResponse, error)
diff --git a/datasource/schema_test.go b/datasource/schema_test.go
index c004ef3..795be06 100644
--- a/datasource/schema_test.go
+++ b/datasource/schema_test.go
@@ -198,12 +198,11 @@ func TestSchema_Create(t *testing.T) {
 		assert.Equal(t, pb.ResponseSuccess, respCreateSchema.Response.GetCode())
 
 		log.Info("query service by serviceID to obtain schema info")
-		respGetService, err := datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
+		service, err := datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
 			ServiceId: serviceIdDev1,
 		})
 		assert.NoError(t, err)
-		assert.Equal(t, pb.ResponseSuccess, respGetService.Response.GetCode())
-		assert.Equal(t, []string{"second_schemaId_service_ms"}, respGetService.Service.Schemas)
+		assert.Equal(t, []string{"second_schemaId_service_ms"}, service.Schemas)
 
 		log.Info("add new schemaId not exist in service's schemaId list")
 		schemas = []*pb.Schema{
@@ -220,12 +219,11 @@ func TestSchema_Create(t *testing.T) {
 		assert.NoError(t, err)
 		assert.Equal(t, pb.ResponseSuccess, respCreateSchema.Response.GetCode())
 
-		respGetService, err = datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
+		service, err = datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
 			ServiceId: serviceIdDev2,
 		})
 		assert.NoError(t, err)
-		assert.Equal(t, pb.ResponseSuccess, respGetService.Response.GetCode())
-		assert.Equal(t, []string{"second_schemaId_service_ms"}, respGetService.Service.Schemas)
+		assert.Equal(t, []string{"second_schemaId_service_ms"}, service.Schemas)
 	})
 
 	t.Run("when modify schemas and summary is empty", func(t *testing.T) {
@@ -411,12 +409,11 @@ func TestSchema_Create(t *testing.T) {
 		assert.NoError(t, err)
 		assert.Equal(t, pb.ResponseSuccess, respModifySchemas.Response.GetCode())
 
-		respService, err := datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
+		service, err := datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
 			ServiceId: serviceIdPro1,
 		})
 		assert.NoError(t, err)
-		assert.Equal(t, pb.ResponseSuccess, respService.Response.GetCode())
-		assert.Equal(t, []string{"first_schemaId_ms"}, respService.Service.Schemas)
+		assert.Equal(t, []string{"first_schemaId_ms"}, service.Schemas)
 
 		schemas = []*pb.Schema{
 			{
@@ -479,11 +476,11 @@ func TestSchema_Create(t *testing.T) {
 		assert.NoError(t, err)
 		assert.Equal(t, pb.ResponseSuccess, respModifySchemas.Response.GetCode())
 
-		respService, err := datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
+		service, err := datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
 			ServiceId: serviceIdPro1,
 		})
 		assert.NoError(t, err)
-		assert.Equal(t, []string{"first_schemaId_ms"}, respService.Service.Schemas)
+		assert.Equal(t, []string{"first_schemaId_ms"}, service.Schemas)
 
 		log.Info("schema edit not allowed, modify schema should fail")
 		localMicroServiceDs := genLocalDatasource(false).MetadataManager()
diff --git a/datasource/service_test.go b/datasource/service_test.go
index 0c84147..93df825 100644
--- a/datasource/service_test.go
+++ b/datasource/service_test.go
@@ -19,6 +19,7 @@ package datasource_test
 
 import (
 	"context"
+	"github.com/go-chassis/cari/pkg/errsvc"
 	"strconv"
 	"strings"
 	"testing"
@@ -277,20 +278,19 @@ func TestService_Get(t *testing.T) {
 		assert.Equal(t, resp.Response.GetCode(), pb.ResponseSuccess)
 
 		// search service by serviceID
-		queryResp, err := datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
+		_, err = datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
 			ServiceId: "ms-service-query-id",
 		})
 		assert.NoError(t, err)
-		assert.Equal(t, queryResp.Response.GetCode(), pb.ResponseSuccess)
 	})
 
 	t.Run("query a service by a not existed serviceId, should not pass", func(t *testing.T) {
 		// not exist service
-		resp, err := datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
+		_, err := datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
 			ServiceId: "no-exist-service",
 		})
-		assert.NoError(t, err)
-		assert.Equal(t, resp.Response.GetCode(), pb.ErrServiceNotExists)
+		assert.NotNil(t, err)
+		assert.Equal(t, pb.ErrServiceNotExists, err.(*errsvc.Error).Code)
 	})
 }
 
@@ -496,13 +496,13 @@ func TestService_Update(t *testing.T) {
 		assert.NoError(t, err)
 		assert.Equal(t, pb.ResponseSuccess, resp.Response.GetCode())
 
-		respGetService, err := datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
+		service, err := datasource.GetMetadataManager().GetService(getContext(), &pb.GetServiceRequest{
 			ServiceId: serviceId,
 		})
 		assert.NoError(t, err)
-		assert.Equal(t, serviceId, respGetService.Service.ServiceId)
-		assert.Equal(t, "", respGetService.Service.Properties["test"])
-		assert.Equal(t, "v", respGetService.Service.Properties["k"])
+		assert.Equal(t, serviceId, service.ServiceId)
+		assert.Equal(t, "", service.Properties["test"])
+		assert.Equal(t, "v", service.Properties["k"])
 	})
 
 	t.Run("update service that does not exist", func(t *testing.T) {
diff --git a/pkg/proto/service.go b/pkg/proto/service.go
index 3fa0b62..a38e005 100644
--- a/pkg/proto/service.go
+++ b/pkg/proto/service.go
@@ -24,10 +24,12 @@ import (
 	"google.golang.org/grpc"
 )
 
+// ServiceCtrlServer deprecated, Use disco pkg instead
 type ServiceCtrlServer interface {
 	Exist(context.Context, *discovery.GetExistenceRequest) (*discovery.GetExistenceResponse, error)
 	Create(context.Context, *discovery.CreateServiceRequest) (*discovery.CreateServiceResponse, error)
 	Delete(context.Context, *discovery.DeleteServiceRequest) (*discovery.DeleteServiceResponse, error)
+	// deprecated
 	GetOne(context.Context, *discovery.GetServiceRequest) (*discovery.GetServiceResponse, error)
 	GetServices(context.Context, *discovery.GetServicesRequest) (*discovery.GetServicesResponse, error)
 	UpdateProperties(context.Context, *discovery.UpdateServicePropsRequest) (*discovery.UpdateServicePropsResponse, error)
diff --git a/server/plugin/auth/buildin/service_parser.go b/server/plugin/auth/buildin/service_parser.go
index 6d37fe8..b9c68c3 100644
--- a/server/plugin/auth/buildin/service_parser.go
+++ b/server/plugin/auth/buildin/service_parser.go
@@ -103,16 +103,10 @@ func fromQueryKey(r *http.Request, queryKey string) (*auth.ResourceScope, error)
 	}, nil
 }
 func serviceIDToLabels(ctx context.Context, serviceID string) ([]map[string]string, error) {
-	response, err := datasource.GetMetadataManager().GetService(ctx, &discovery.GetServiceRequest{ServiceId: serviceID})
+	service, err := datasource.GetMetadataManager().GetService(ctx, &discovery.GetServiceRequest{ServiceId: serviceID})
 	if err != nil {
 		return nil, err
 	}
-
-	service := response.Service
-	if service == nil {
-		return nil, fmt.Errorf("resource %s not found", serviceID)
-	}
-
 	return []map[string]string{{
 		LabelEnvironment: service.Environment,
 		LabelAppID:       service.AppId,
diff --git a/server/rest/controller/v4/microservice_controller.go b/server/rest/controller/v4/microservice_controller.go
index 0d58956..467d481 100644
--- a/server/rest/controller/v4/microservice_controller.go
+++ b/server/rest/controller/v4/microservice_controller.go
@@ -26,6 +26,7 @@ import (
 	"github.com/apache/servicecomb-service-center/pkg/rest"
 	"github.com/apache/servicecomb-service-center/pkg/util"
 	"github.com/apache/servicecomb-service-center/server/core"
+	discosvc "github.com/apache/servicecomb-service-center/server/service/disco"
 	pb "github.com/go-chassis/cari/discovery"
 )
 
@@ -156,13 +157,13 @@ func (s *MicroServiceService) GetServiceOne(w http.ResponseWriter, r *http.Reque
 	request := &pb.GetServiceRequest{
 		ServiceId: r.URL.Query().Get(":serviceId"),
 	}
-	resp, err := core.ServiceAPI.GetOne(r.Context(), request)
+	service, err := discosvc.GetService(r.Context(), request)
 	if err != nil {
 		log.Errorf(err, "get service[%s] failed", request.ServiceId)
-		rest.WriteError(w, pb.ErrInternal, "get service failed")
+		rest.WriteServiceError(w, err)
 		return
 	}
-	rest.WriteResponse(w, r, resp.Response, resp)
+	rest.WriteResponse(w, r, nil, &pb.GetServiceResponse{Service: service})
 }
 
 func (s *MicroServiceService) UnregisterServices(w http.ResponseWriter, r *http.Request) {
diff --git a/server/service/disco/metadata_dao.go b/server/service/disco/metadata_dao.go
index 1060348..3f046ef 100644
--- a/server/service/disco/metadata_dao.go
+++ b/server/service/disco/metadata_dao.go
@@ -4,6 +4,8 @@ import (
 	"context"
 
 	"github.com/apache/servicecomb-service-center/datasource"
+	"github.com/apache/servicecomb-service-center/pkg/log"
+	"github.com/apache/servicecomb-service-center/server/service/validator"
 	pb "github.com/go-chassis/cari/discovery"
 )
 
@@ -14,3 +16,12 @@ func RegisterService(ctx context.Context, request *pb.CreateServiceRequest) (*pb
 func UnregisterService(ctx context.Context, request *pb.DeleteServiceRequest) (*pb.DeleteServiceResponse, error) {
 	return datasource.GetMetadataManager().UnregisterService(ctx, request)
 }
+
+func GetService(ctx context.Context, in *pb.GetServiceRequest) (*pb.MicroService, error) {
+	err := validator.Validate(in)
+	if err != nil {
+		log.Errorf(err, "get micro-service[%s] failed", in.ServiceId)
+		return nil, pb.NewError(pb.ErrInvalidParams, err.Error())
+	}
+	return datasource.GetMetadataManager().GetService(ctx, in)
+}
diff --git a/server/service/disco/microservice.go b/server/service/disco/microservice.go
index 493518c..0145453 100644
--- a/server/service/disco/microservice.go
+++ b/server/service/disco/microservice.go
@@ -198,15 +198,14 @@ func (s *MicroServiceService) getDeleteServiceFunc(ctx context.Context, serviceI
 }
 
 func (s *MicroServiceService) GetOne(ctx context.Context, in *pb.GetServiceRequest) (*pb.GetServiceResponse, error) {
-	err := validator.Validate(in)
+	service, err := GetService(ctx, in)
 	if err != nil {
 		log.Errorf(err, "get micro-service[%s] failed", in.ServiceId)
 		return &pb.GetServiceResponse{
 			Response: pb.CreateResponse(pb.ErrInvalidParams, err.Error()),
-		}, nil
+		}, err
 	}
-
-	return datasource.GetMetadataManager().GetService(ctx, in)
+	return &pb.GetServiceResponse{Response: pb.CreateResponse(pb.ResponseSuccess, ""), Service: service}, nil
 }
 
 func (s *MicroServiceService) GetServices(ctx context.Context, in *pb.GetServicesRequest) (*pb.GetServicesResponse, error) {
diff --git a/server/service/disco/microservice_test.go b/server/service/disco/microservice_test.go
index 5677224..85142c3 100644
--- a/server/service/disco/microservice_test.go
+++ b/server/service/disco/microservice_test.go
@@ -20,13 +20,14 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/apache/servicecomb-service-center/server/service/disco"
+	. "github.com/onsi/ginkgo"
+	. "github.com/onsi/gomega"
 
 	"github.com/apache/servicecomb-service-center/server/core"
 	"github.com/apache/servicecomb-service-center/server/plugin/quota"
+	"github.com/apache/servicecomb-service-center/server/service/disco"
 	pb "github.com/go-chassis/cari/discovery"
-	. "github.com/onsi/ginkgo"
-	. "github.com/onsi/gomega"
+	"github.com/go-chassis/cari/pkg/errsvc"
 )
 
 var (
@@ -1019,23 +1020,23 @@ var _ = Describe("'Micro-service' service", func() {
 
 		Context("when query a not exist service by serviceId", func() {
 			It("should be failed", func() {
-				resp, err := serviceResource.GetOne(getContext(), &pb.GetServiceRequest{
+				service, err := disco.GetService(getContext(), &pb.GetServiceRequest{
 					ServiceId: "",
 				})
-				Expect(err).To(BeNil())
-				Expect(resp.Response.GetCode()).To(Equal(pb.ErrInvalidParams))
+				Expect(service).To(BeNil())
+				Expect(err.(*errsvc.Error).Code).To(Equal(pb.ErrInvalidParams))
 
-				resp, err = serviceResource.GetOne(getContext(), &pb.GetServiceRequest{
+				service, err = disco.GetService(getContext(), &pb.GetServiceRequest{
 					ServiceId: "notexistservice",
 				})
-				Expect(err).To(BeNil())
-				Expect(resp.Response.GetCode()).To(Equal(pb.ErrServiceNotExists))
+				Expect(service).To(BeNil())
+				Expect(err.(*errsvc.Error).Code).To(Equal(pb.ErrServiceNotExists))
 
-				resp, err = serviceResource.GetOne(getContext(), &pb.GetServiceRequest{
+				service, err = disco.GetService(getContext(), &pb.GetServiceRequest{
 					ServiceId: TOO_LONG_SERVICEID,
 				})
-				Expect(err).To(BeNil())
-				Expect(resp.Response.GetCode()).To(Equal(pb.ErrInvalidParams))
+				Expect(service).To(BeNil())
+				Expect(err.(*errsvc.Error).Code).To(Equal(pb.ErrInvalidParams))
 			})
 		})
 	})
@@ -1079,13 +1080,13 @@ var _ = Describe("'Micro-service' service", func() {
 				resp, err = serviceResource.UpdateProperties(getContext(), r2)
 				Expect(err).To(BeNil())
 
-				resp2, err := serviceResource.GetOne(getContext(), &pb.GetServiceRequest{
+				service, err := disco.GetService(getContext(), &pb.GetServiceRequest{
 					ServiceId: serviceId,
 				})
 				Expect(err).To(BeNil())
-				Expect(resp2.Service.ServiceId).To(Equal(serviceId))
-				Expect(resp2.Service.Properties["test"]).To(Equal(""))
-				Expect(resp2.Service.Properties["k"]).To(Equal("v"))
+				Expect(service.ServiceId).To(Equal(serviceId))
+				Expect(service.Properties["test"]).To(Equal(""))
+				Expect(service.Properties["k"]).To(Equal("v"))
 			})
 		})
 
diff --git a/server/service/disco/schema_test.go b/server/service/disco/schema_test.go
index c7823d7..f9d87b3 100644
--- a/server/service/disco/schema_test.go
+++ b/server/service/disco/schema_test.go
@@ -20,13 +20,13 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/apache/servicecomb-service-center/datasource"
+	. "github.com/onsi/ginkgo"
+	. "github.com/onsi/gomega"
 
+	"github.com/apache/servicecomb-service-center/datasource"
 	"github.com/apache/servicecomb-service-center/server/plugin/quota"
+	"github.com/apache/servicecomb-service-center/server/service/disco"
 	pb "github.com/go-chassis/cari/discovery"
-
-	. "github.com/onsi/ginkgo"
-	. "github.com/onsi/gomega"
 )
 
 const (
@@ -384,12 +384,11 @@ var _ = Describe("'Schema' service", func() {
 				Expect(err).To(BeNil())
 				Expect(respCreateService.Response.GetCode()).To(Equal(pb.ResponseSuccess))
 
-				respGetOne, err := serviceResource.GetOne(getContext(), &pb.GetServiceRequest{
+				service, err := disco.GetService(getContext(), &pb.GetServiceRequest{
 					ServiceId: serviceIdDev1,
 				})
 				Expect(err).To(BeNil())
-				Expect(respGetOne.Response.GetCode()).To(Equal(pb.ResponseSuccess))
-				Expect(respGetOne.Service.Schemas).To(Equal([]string{"second_schemaId"}))
+				Expect(service.Schemas).To(Equal([]string{"second_schemaId"}))
 
 				By("create empty")
 				schemas = []*pb.Schema{}
@@ -415,12 +414,11 @@ var _ = Describe("'Schema' service", func() {
 				Expect(err).To(BeNil())
 				Expect(respCreateService.Response.GetCode()).To(Equal(pb.ResponseSuccess))
 
-				respGetOne, err = serviceResource.GetOne(getContext(), &pb.GetServiceRequest{
+				service, err = disco.GetService(getContext(), &pb.GetServiceRequest{
 					ServiceId: serviceIdDev2,
 				})
 				Expect(err).To(BeNil())
-				Expect(respGetOne.Response.GetCode()).To(Equal(pb.ResponseSuccess))
-				Expect(respGetOne.Service.Schemas).To(Equal([]string{"second_schemaId"}))
+				Expect(service.Schemas).To(Equal([]string{"second_schemaId"}))
 			})
 		})