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

littlecui 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 f8b3e7b   [SCB-376] Optimize validate parameter log print (#307)
f8b3e7b is described below

commit f8b3e7b95ef63709cfb933a3688a4714271ec518
Author: aseTo2016 <[email protected]>
AuthorDate: Fri Mar 16 17:14:08 2018 +0800

     [SCB-376] Optimize validate parameter log print (#307)
    
    * SCB-339 The wrong statistics in micro-service
    2.add test code
    
    * [SCB-376] Optimize validate parameter log print
    
    * [SCB-376] Optimize validate parameter log print
    print invalid value
    
    * [SCB-376] Optimize validate parameter log print
    print invalid value
---
 pkg/validate/validate.go             | 18 ++++++++++++++++-
 server/govern/service.go             |  2 +-
 server/service/microservices.go      |  2 +-
 server/service/microservices_test.go | 39 +++++++++++++++++++++++++++++++++---
 server/service/util/rule_util.go     |  4 ----
 5 files changed, 55 insertions(+), 10 deletions(-)

diff --git a/pkg/validate/validate.go b/pkg/validate/validate.go
index 3a36f31..59190e3 100644
--- a/pkg/validate/validate.go
+++ b/pkg/validate/validate.go
@@ -238,9 +238,25 @@ func (v *Validator) Validate(s interface{}) error {
                        }
                        // TODO null pointer如何校验
                        if field.Kind() != reflect.Ptr && !validate.Match(fi) {
-                               return fmt.Errorf("%s validate failed, %s", 
fieldName, validate)
+                               if filter(fieldName) {
+                                       return fmt.Errorf("invalid field: %s.%s 
, %s", st.Type.Name(), fieldName, validate)
+                               }
+                               return fmt.Errorf("invalid field: %s.%s,  
invalid value: {%v} , %s", st.Type.Name(), fieldName, fi, validate)
                        }
                }
        }
        return nil
 }
+
+var (
+       BLACK_LIST_FOR_PRINT = map[string]interface{} {
+               "Properties": nil,
+               }
+)
+
+func filter(fieldName string) bool {
+       if _, ok := BLACK_LIST_FOR_PRINT[fieldName]; ok {
+               return true
+       }
+       return false
+}
diff --git a/server/govern/service.go b/server/govern/service.go
index 5cc5290..2ae0514 100644
--- a/server/govern/service.go
+++ b/server/govern/service.go
@@ -121,7 +121,7 @@ func (governService *GovernService) GetServiceDetail(ctx 
context.Context, in *pb
 
        if len(in.ServiceId) == 0 {
                return &pb.GetServiceDetailResponse{
-                       Response: pb.CreateResponse(scerr.ErrInvalidParams, 
"Invalid requtest for getting service detail."),
+                       Response: pb.CreateResponse(scerr.ErrInvalidParams, 
"Invalid request for getting service detail."),
                }, nil
        }
 
diff --git a/server/service/microservices.go b/server/service/microservices.go
index d3265e5..4fe47d2 100644
--- a/server/service/microservices.go
+++ b/server/service/microservices.go
@@ -406,7 +406,7 @@ func (s *MicroServiceService) DeleteServices(ctx 
context.Context, request *pb.De
                }
        }
 
-       util.Logger().Infof("Batch DeleteServices serviceId = %v , result = %d, 
", request.ServiceIds, responseCode)
+       util.Logger().Infof("Batch DeleteServices, count is %s, serviceId = %v 
, result = %d, ", len(request.ServiceIds), request.ServiceIds, responseCode)
 
        resp := &pb.DelServicesResponse{
                Services: delServiceRspInfo,
diff --git a/server/service/microservices_test.go 
b/server/service/microservices_test.go
index f5819c9..5dd04f2 100644
--- a/server/service/microservices_test.go
+++ b/server/service/microservices_test.go
@@ -206,6 +206,39 @@ var _ = Describe("'Micro-service' service", func() {
                                Expect(err).To(BeNil())
                                
Expect(resp.Response.Code).ToNot(Equal(pb.Response_SUCCESS))
                        })
+                       It("same serviceId,different service, can not register 
again,error is same as the service register twice", func() {
+                               resp, err := 
serviceResource.Create(getContext(), &pb.CreateServiceRequest{
+                                       Service: &pb.MicroService{
+                                               ServiceId:   "same_serviceId",
+                                               ServiceName: "serviceA",
+                                               AppId:       "default",
+                                               Version:     "1.0.0",
+                                               Level:       "FRONT",
+                                               Schemas: []string{
+                                                       "xxxxxxxx",
+                                               },
+                                               Status: "UP",
+                                       },
+                               })
+                               Expect(err).To(BeNil())
+                               
Expect(resp.Response.Code).To(Equal(pb.Response_SUCCESS))
+
+                               resp, err = 
serviceResource.Create(getContext(), &pb.CreateServiceRequest{
+                                       Service: &pb.MicroService{
+                                               ServiceId:   "same_serviceId",
+                                               ServiceName: "serviceB",
+                                               AppId:       "default",
+                                               Version:     "1.0.0",
+                                               Level:       "FRONT",
+                                               Schemas: []string{
+                                                       "xxxxxxxx",
+                                               },
+                                               Status: "UP",
+                                       },
+                               })
+                               Expect(err).To(BeNil())
+                               
Expect(resp.Response.Code).ToNot(Equal(pb.Response_SUCCESS))
+                       })
                })
 
                Context("when creating a diff env service", func() {
@@ -485,7 +518,7 @@ var _ = Describe("'Micro-service' service", func() {
                })
        })
 
-       Describe("execute 'exists' operartion", func() {
+       Describe("execute 'exists' operation", func() {
                var (
                        serviceId1 string
                        serviceId2 string
@@ -667,7 +700,7 @@ var _ = Describe("'Micro-service' service", func() {
                })
        })
 
-       Describe("execute 'query' operartion", func() {
+       Describe("execute 'query' operation", func() {
                Context("when request is nil", func() {
                        It("should be failed", func() {
                                resp, err := 
serviceResource.GetServices(getContext(), nil)
@@ -707,7 +740,7 @@ var _ = Describe("'Micro-service' service", func() {
                })
        })
 
-       Describe("execute 'update' operartion", func() {
+       Describe("execute 'update' operation", func() {
                var (
                        serviceId string
                )
diff --git a/server/service/util/rule_util.go b/server/service/util/rule_util.go
index df2047d..e158c80 100644
--- a/server/service/util/rule_util.go
+++ b/server/service/util/rule_util.go
@@ -160,14 +160,10 @@ func MatchRules(rulesOfProvider []*pb.ServiceRule, 
consumer *pb.MicroService, ta
                return scerr.NewError(scerr.ErrInvalidParams, "consumer is nil")
        }
 
-       isWhite := false
        if len(rulesOfProvider) <= 0 {
                return nil
        }
        if rulesOfProvider[0].RuleType == "WHITE" {
-               isWhite = true
-       }
-       if isWhite {
                return patternWhiteList(rulesOfProvider, tagsOfConsumer, 
consumer)
        }
        return patternBlackList(rulesOfProvider, tagsOfConsumer, consumer)

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to