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

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


The following commit(s) were added to refs/heads/v1.x by this push:
     new b141a55  SCB-2176 Fix: POST tags should be covered (#829)
b141a55 is described below

commit b141a55c6edb39342d240a18a3667247de594103
Author: little-cui <[email protected]>
AuthorDate: Mon Jan 18 10:26:07 2021 +0800

    SCB-2176 Fix: POST tags should be covered (#829)
---
 server/plugin/quota/buildin/common.go |  8 ++------
 server/service/tag.go                 | 35 +----------------------------------
 server/service/tag_test.go            | 10 +---------
 3 files changed, 4 insertions(+), 49 deletions(-)

diff --git a/server/plugin/quota/buildin/common.go 
b/server/plugin/quota/buildin/common.go
index 38dfe79..ee351f3 100644
--- a/server/plugin/quota/buildin/common.go
+++ b/server/plugin/quota/buildin/common.go
@@ -29,7 +29,6 @@ import (
        "github.com/apache/servicecomb-service-center/server/plugin/quota"
        "github.com/apache/servicecomb-service-center/server/plugin/registry"
        scerr "github.com/apache/servicecomb-service-center/server/scerror"
-       serviceUtil 
"github.com/apache/servicecomb-service-center/server/service/util"
 )
 
 type GetCurUsedNum func(context.Context, *quota.ApplyQuotaResource) (int64, 
error)
@@ -96,11 +95,8 @@ func resourceLimitHandler(ctx context.Context, res 
*quota.ApplyQuotaResource) (i
                key = core.GenerateServiceSchemaKey(domainProject, serviceID, 
"")
                indexer = backend.Store().Schema()
        case quota.TagQuotaType:
-               tags, err := serviceUtil.GetTagsUtils(ctx, domainProject, 
serviceID)
-               if err != nil {
-                       return 0, err
-               }
-               return int64(len(tags)), nil
+               // always re-create the service old tags
+               return 0, nil
        default:
                return 0, fmt.Errorf("not define quota type '%s'", 
res.QuotaType)
        }
diff --git a/server/service/tag.go b/server/service/tag.go
index 42189fe..7eed8b4 100644
--- a/server/service/tag.go
+++ b/server/service/tag.go
@@ -26,8 +26,6 @@ import (
        apt "github.com/apache/servicecomb-service-center/server/core"
        "github.com/apache/servicecomb-service-center/server/core/backend"
        "github.com/apache/servicecomb-service-center/server/core/proto"
-       "github.com/apache/servicecomb-service-center/server/plugin"
-       "github.com/apache/servicecomb-service-center/server/plugin/quota"
        "github.com/apache/servicecomb-service-center/server/plugin/registry"
        scerr "github.com/apache/servicecomb-service-center/server/scerror"
        serviceUtil 
"github.com/apache/servicecomb-service-center/server/service/util"
@@ -53,38 +51,7 @@ func (s *MicroServiceService) AddTags(ctx context.Context, 
in *pb.AddServiceTags
                }, nil
        }
 
-       addTags := in.Tags
-       res := quota.NewApplyQuotaResource(quota.TagQuotaType, domainProject, 
in.ServiceId, int64(len(addTags)))
-       rst := plugin.Plugins().Quota().Apply4Quotas(ctx, res)
-       errQuota := rst.Err
-       if errQuota != nil {
-               log.Errorf(errQuota, "add service[%s]'s tags %v failed, 
operator: %s", in.ServiceId, addTags, remoteIP)
-               response := &pb.AddServiceTagsResponse{
-                       Response: proto.CreateResponseWithSCErr(errQuota),
-               }
-               if errQuota.InternalError() {
-                       return response, errQuota
-               }
-               return response, nil
-       }
-
-       dataTags, err := serviceUtil.GetTagsUtils(ctx, domainProject, 
in.ServiceId)
-       if err != nil {
-               log.Errorf(err, "add service[%s]'s tags %v failed, get existed 
tag failed, operator: %s",
-                       in.ServiceId, addTags, remoteIP)
-               return &pb.AddServiceTagsResponse{
-                       Response: proto.CreateResponse(scerr.ErrInternal, 
err.Error()),
-               }, err
-       }
-       for key, value := range dataTags {
-               if _, ok := addTags[key]; ok {
-                       continue
-               }
-               addTags[key] = value
-       }
-       dataTags = addTags
-
-       checkErr := serviceUtil.AddTagIntoETCD(ctx, domainProject, 
in.ServiceId, dataTags)
+       checkErr := serviceUtil.AddTagIntoETCD(ctx, domainProject, 
in.ServiceId, in.Tags)
        if checkErr != nil {
                log.Errorf(checkErr, "add service[%s]'s tags %v failed, 
operator: %s", in.ServiceId, in.Tags, remoteIP)
                resp := &pb.AddServiceTagsResponse{
diff --git a/server/service/tag_test.go b/server/service/tag_test.go
index c467edf..72a6e4f 100644
--- a/server/service/tag_test.go
+++ b/server/service/tag_test.go
@@ -138,7 +138,7 @@ var _ = Describe("'Tag' service", func() {
                                Expect(err).To(BeNil())
                                
Expect(respAddTags.Response.GetCode()).To(Equal(scerr.ErrInvalidParams))
 
-                               size = quota.DefaultRuleQuota / 2
+                               size = quota.DefaultRuleQuota
                                tags = make(map[string]string, size)
                                for i := 0; i < size; i++ {
                                        s := "tag" + strconv.Itoa(i)
@@ -150,14 +150,6 @@ var _ = Describe("'Tag' service", func() {
                                })
                                Expect(err).To(BeNil())
                                
Expect(respAddTags.Response.GetCode()).To(Equal(proto.Response_SUCCESS))
-
-                               tags["out"] = "range"
-                               respAddTags, _ = 
serviceResource.AddTags(getContext(), &pb.AddServiceTagsRequest{
-                                       ServiceId: serviceId2,
-                                       Tags:      tags,
-                               })
-                               Expect(err).To(BeNil())
-                               
Expect(respAddTags.Response.GetCode()).To(Equal(scerr.ErrNotEnoughQuota))
                        })
                })
        })

Reply via email to