You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/03/16 09:14:11 UTC

[incubator-servicecomb-service-center] branch master updated: [SCB-376] Optimize validate parameter log print (#307)

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 <14...@qq.com>
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
littlecui@apache.org.