SCB-2176 Fix: POST tags should be covered (#829)

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 @@
 	"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 @@
 		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 @@
 	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 @@
 		}, 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 @@
 				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 @@
 				})
 				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))
 			})
 		})
 	})