| //Copyright 2017 Huawei Technologies Co., Ltd |
| // |
| //Licensed under the Apache License, Version 2.0 (the "License"); |
| //you may not use this file except in compliance with the License. |
| //You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| //Unless required by applicable law or agreed to in writing, software |
| //distributed under the License is distributed on an "AS IS" BASIS, |
| //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| //See the License for the specific language governing permissions and |
| //limitations under the License. |
| package service_test |
| |
| import ( |
| "fmt" |
| "github.com/ServiceComb/service-center/server/core" |
| pb "github.com/ServiceComb/service-center/server/core/proto" |
| . "github.com/onsi/ginkgo" |
| . "github.com/onsi/gomega" |
| ) |
| |
| var _ = Describe("ServiceController", func() { |
| var serviceId string |
| var serviceId2 string |
| var serviceId3 string |
| Describe("Create", func() { |
| Context("normal", func() { |
| It("创建微服务1", func() { |
| resp, err := serviceResource.Create(getContext(), &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| ServiceName: "some-relay", |
| Alias: "sr", |
| AppId: "default", |
| Version: "1.0.0", |
| Level: "FRONT", |
| Schemas: []string{ |
| "xxxxxxxx", |
| }, |
| Status: "UP", |
| }, |
| }) |
| Expect(err).To(BeNil()) |
| serviceId = resp.ServiceId |
| fmt.Println("UT=========" + serviceId) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| |
| resp, err = serviceResource.Create(getContext(), &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| ServiceName: "some-relay", |
| Alias: "sr1", |
| AppId: "default", |
| Version: "1.0.0", |
| Level: "FRONT", |
| Schemas: []string{ |
| "xxxxxxxx", |
| }, |
| Status: "UP", |
| }, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| resp, err = serviceResource.Create(getContext(), &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| ServiceName: "some-relay1", |
| Alias: "sr", |
| AppId: "default", |
| Version: "1.0.0", |
| Level: "FRONT", |
| Schemas: []string{ |
| "xxxxxxxx", |
| }, |
| Status: "UP", |
| }, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| resp, err = serviceResource.Create(getContext(), &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| ServiceId: "custom_Id", |
| ServiceName: "some-relay1", |
| Alias: "sr", |
| AppId: "default", |
| Version: "1.0.0", |
| Level: "FRONT", |
| Schemas: []string{ |
| "xxxxxxxx", |
| }, |
| Status: "UP", |
| }, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| }) |
| |
| It("微服务是否存在,参数校验", func() { |
| resp, err := serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "schema", |
| ServiceId: "noneservice", |
| SchemaId: "xxxxxxxx", |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| resp, err = serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "schema", |
| ServiceId: serviceId, |
| SchemaId: "noneschema", |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| resp, err = serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "nonetype", |
| ServiceId: serviceId, |
| SchemaId: "noneschema", |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| resp, err = serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "schema", |
| ServiceId: serviceId, |
| SchemaId: invalidSchemaId, |
| }) |
| //Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| resp, err = serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "microservice", |
| ServiceId: serviceId, |
| ServiceName: TOO_LONG_SERVICENAME, |
| Version: "2.0.0", |
| AppId: "default", |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| }) |
| |
| It("微服务是否存在", func() { |
| resp, err := serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "microservice", |
| AppId: "default", |
| ServiceName: "some-relay", |
| Version: "1.0.0", |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.ServiceId).To(Equal(serviceId)) |
| |
| resp, err = serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "microservice", |
| AppId: "default", |
| ServiceName: "sr", |
| Version: "1.0.0", |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.ServiceId).To(Equal(serviceId)) |
| |
| resp, err = serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "microservice", |
| AppId: "default", |
| ServiceName: "some-relay", |
| Version: "latest", |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.ServiceId).To(Equal(serviceId)) |
| |
| resp, err = serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "microservice", |
| AppId: "default", |
| ServiceName: "some-relay", |
| Version: "1.0.0+", |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.ServiceId).To(Equal(serviceId)) |
| |
| resp, err = serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "microservice", |
| AppId: "default", |
| ServiceName: "some-relay", |
| Version: "0.9.1-1.0.0", |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.ServiceId).To(Equal(serviceId)) |
| |
| resp, err = serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "microservice", |
| AppId: "default", |
| ServiceName: "notExistService", |
| Version: "1.0.0", |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=============" + resp.String()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| }) |
| |
| It("创建微服务2", func() { |
| r := &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| ServiceName: "some-backend", |
| AppId: "default", |
| Version: "1.0.0", |
| Level: "BACK", |
| Schemas: []string{ |
| "xxxxxxxx", |
| }, |
| Properties: make(map[string]string), |
| Status: "UP", |
| }, |
| } |
| r.Service.Properties["project"] = "x" |
| resp, err := serviceResource.Create(getContext(), r) |
| Expect(err).To(BeNil()) |
| serviceId2 = resp.ServiceId |
| fmt.Println("UT=========" + serviceId2) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| It("创建微服务3", func() { |
| r := &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| ServiceName: "some-project", |
| AppId: "default", |
| Version: "1.0.0", |
| Level: "BACK", |
| Schemas: []string{ |
| "xxxxxxxx", |
| }, |
| Properties: make(map[string]string), |
| Status: "UP", |
| }, |
| } |
| r.Service.Properties["project"] = "x" |
| resp, err := serviceResource.Create(getContext(), r) |
| Expect(err).To(BeNil()) |
| serviceId3 = resp.ServiceId |
| fmt.Println("UT=========" + serviceId3) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| It("创建微服务4,字段验证", func() { |
| r := &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| ServiceName: "service-validate", |
| Version: "1.0.0", |
| Level: "BACK", |
| Status: "UP", |
| }, |
| } |
| resp, err := serviceResource.Create(getContext(), r) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=========" + resp.ServiceId) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| r = &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| AppId: "default", |
| Version: "1.0.0", |
| Level: "BACK", |
| Status: "UP", |
| }, |
| } |
| resp, err = serviceResource.Create(getContext(), r) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=========" + resp.ServiceId) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| r = &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| AppId: "default", |
| ServiceName: "service-validate", |
| Level: "BACK", |
| Status: "UP", |
| }, |
| } |
| resp, err = serviceResource.Create(getContext(), r) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=========" + resp.ServiceId) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| r = &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| AppId: "default", |
| ServiceName: "service-validate", |
| Version: "1.0.0", |
| Status: "UP", |
| }, |
| } |
| resp, err = serviceResource.Create(getContext(), r) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=========" + resp.ServiceId) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| r = &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| AppId: "default", |
| ServiceName: "service-validate", |
| Version: "1.0.0", |
| Level: "BACK", |
| }, |
| } |
| resp, err = serviceResource.Create(getContext(), r) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT=========" + resp.ServiceId) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| }) |
| |
| It("创建微服务5,参数校验", func() { |
| fmt.Println("UT=========" + "参数为空") |
| r := &pb.CreateServiceRequest{ |
| Service: nil, |
| } |
| resp, err := serviceResource.Create(getContext(), r) |
| Expect(err).To(BeNil()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| fmt.Println("UT=========" + "Alias 非法") |
| r = &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| AppId: "default", |
| ServiceName: "service-validate-alias", |
| Alias: "@$#%", |
| Version: "1.0.0", |
| Level: "BACK", |
| Status: "UP", |
| }, |
| } |
| resp, err = serviceResource.Create(getContext(), r) |
| Expect(err).To(BeNil()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| fmt.Println("UT=========" + "Alias 合法") |
| r = &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| AppId: "default", |
| ServiceName: "service-validate-alias", |
| Alias: "aA:-_.1", |
| Version: "1.0.0", |
| Level: "BACK", |
| Status: "UP", |
| }, |
| } |
| resp, err = serviceResource.Create(getContext(), r) |
| Expect(err).To(BeNil()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| |
| It("查询所有服务,参数校验", func() { |
| resp, err := serviceResource.GetServices(getContext(), nil) |
| Expect(err).To(BeNil()) |
| fmt.Println(fmt.Sprintf("UT=============%s", resp.Services)) |
| Expect(resp.Response.Code).To(Equal(pb.Response_FAIL)) |
| }) |
| |
| It("查询所有服务", func() { |
| |
| resp, err := serviceResource.GetServices(getContext(), &pb.GetServicesRequest{}) |
| Expect(err).To(BeNil()) |
| fmt.Println(fmt.Sprintf("UT=============%s", resp.Services)) |
| Expect(len(resp.Services)).To(Not(Equal(0))) |
| }) |
| It("查询单个服务,参数校验", func() { |
| resp, err := serviceResource.GetOne(getContext(), &pb.GetServiceRequest{ |
| ServiceId: "", |
| }) |
| Expect(err).To(BeNil()) |
| Expect(resp.Response.Code).To(Equal(pb.Response_FAIL)) |
| |
| resp, err = serviceResource.GetOne(getContext(), &pb.GetServiceRequest{ |
| ServiceId: "notexistservice", |
| }) |
| Expect(err).To(BeNil()) |
| Expect(resp.Response.Code).To(Equal(pb.Response_FAIL)) |
| |
| resp, err = serviceResource.GetOne(getContext(), &pb.GetServiceRequest{ |
| ServiceId: TOO_LONG_SERVICEID, |
| }) |
| Expect(err).To(BeNil()) |
| Expect(resp.Response.Code).To(Equal(pb.Response_FAIL)) |
| }) |
| It("更新微服务1props", func() { |
| r := &pb.UpdateServicePropsRequest{ |
| ServiceId: serviceId, |
| Properties: make(map[string]string), |
| } |
| r2 := &pb.UpdateServicePropsRequest{ |
| ServiceId: serviceId, |
| Properties: make(map[string]string), |
| } |
| r.Properties["test"] = "1" |
| r2.Properties["k"] = "v" |
| resp, err := serviceResource.UpdateProperties(getContext(), r) |
| if err != nil { |
| fmt.Println("UT===========" + err.Error()) |
| } |
| Expect(resp.Response.Code).To(Equal(pb.Response_SUCCESS)) |
| |
| resp, err = serviceResource.UpdateProperties(getContext(), r2) |
| if err != nil { |
| fmt.Println("UT===========" + err.Error()) |
| } |
| Expect(err).To(BeNil()) |
| fmt.Println(fmt.Sprintf("UT=============%s", resp.Response.Code)) |
| resp2, err := serviceResource.GetOne(getContext(), &pb.GetServiceRequest{ |
| ServiceId: serviceId, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println(fmt.Sprintf("UT=============%s", resp2.Service.ServiceId)) |
| Expect(resp2.Service.ServiceId).To(Equal(serviceId)) |
| Expect(resp2.Service.Properties["k"]).To(Equal("v")) |
| |
| r.ServiceId = "notexistservice" |
| resp, err = serviceResource.UpdateProperties(getContext(), r) |
| if err != nil { |
| fmt.Println("UT===========" + err.Error()) |
| } |
| Expect(err).To(BeNil()) |
| fmt.Println(fmt.Sprintf("UT=============%s", resp.Response.Code)) |
| Expect(resp.Response.Code).To(Equal(pb.Response_FAIL)) |
| }) |
| It("更新微服务3props,空结构更新", func() { |
| r := &pb.UpdateServicePropsRequest{ |
| ServiceId: serviceId, |
| Properties: nil, |
| } |
| resp, err := serviceResource.UpdateProperties(getContext(), r) |
| if err != nil { |
| fmt.Println("UT===========" + err.Error()) |
| } |
| Expect(err).To(BeNil()) |
| fmt.Println(fmt.Sprintf("UT=============%s", resp.Response.Code)) |
| Expect(resp.Response.Code).To(Equal(pb.Response_FAIL)) |
| |
| r = &pb.UpdateServicePropsRequest{ |
| ServiceId: "", |
| Properties: map[string]string{}, |
| } |
| resp, err = serviceResource.UpdateProperties(getContext(), r) |
| Expect(err).To(BeNil()) |
| fmt.Println(fmt.Sprintf("UT=============%s", resp.Response.Code)) |
| Expect(resp.Response.Code).To(Equal(pb.Response_FAIL)) |
| }) |
| |
| It("更新微服务3props, 参数校验", func() { |
| r := &pb.UpdateServicePropsRequest{ |
| ServiceId: TOO_LONG_SERVICEID, |
| Properties: map[string]string{}, |
| } |
| resp, _ := serviceResource.UpdateProperties(getContext(), r) |
| Expect(resp.Response.Code).To(Equal(pb.Response_FAIL)) |
| }) |
| |
| It("创建微服务1实例", func() { |
| resp, err := insResource.Register(getContext(), &pb.RegisterInstanceRequest{ |
| Instance: &pb.MicroServiceInstance{ |
| ServiceId: serviceId, |
| Endpoints: []string{ |
| "rest:127.0.0.1:8080", |
| }, |
| HostName: "UT-HOST", |
| Status: pb.MSI_UP, |
| Stage: "prod", |
| }, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + resp.GetResponse().Message) |
| fmt.Println("UT============" + resp.InstanceId) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| Expect(resp.InstanceId).To(Not(Equal(""))) |
| }) |
| It("没添加黑名单 尝试访问", func() { |
| resp, err := insResource.GetInstances(getContext(), &pb.GetInstancesRequest{ |
| ConsumerServiceId: serviceId3, |
| ProviderServiceId: serviceId, |
| Stage: "prod", |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + resp.GetResponse().Message) |
| fmt.Println(fmt.Sprintf("UT============%s"), resp.Instances) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| Expect(len(resp.Instances)).To(Not(Equal(0))) |
| }) |
| It("添加黑名单 尝试访问", func() { |
| req := &pb.AddServiceRulesRequest{ |
| ServiceId: serviceId, |
| } |
| rules := append(req.Rules, &pb.AddOrUpdateServiceRule{ |
| RuleType: "BLACK", |
| Pattern: ".*project", |
| Attribute: "ServiceName", |
| }) |
| resp, err := serviceResource.AddRule(getContext(), &pb.AddServiceRulesRequest{ |
| ServiceId: serviceId, |
| Rules: rules, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + resp.GetResponse().Message) |
| fmt.Println(fmt.Sprintf("UT============%s"), resp.String()) |
| resp2, err := insResource.GetInstances(getContext(), &pb.GetInstancesRequest{ |
| ConsumerServiceId: serviceId3, |
| ProviderServiceId: serviceId, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + resp2.GetResponse().Message) |
| fmt.Println(fmt.Sprintf("UT============%s"), resp2.Instances) |
| Expect(resp2.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| Expect(len(resp2.Instances)).To((Equal(0))) |
| }) |
| It("添加白名单 尝试访问", func() { |
| req := &pb.AddServiceRulesRequest{ |
| ServiceId: serviceId3, |
| } |
| rules := append(req.Rules, &pb.AddOrUpdateServiceRule{ |
| RuleType: "WHITE", |
| Pattern: ".*relay", |
| Attribute: "ServiceName", |
| }) |
| resp, err := serviceResource.AddRule(getContext(), &pb.AddServiceRulesRequest{ |
| ServiceId: serviceId3, |
| Rules: rules, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + resp.GetResponse().Message) |
| fmt.Println(fmt.Sprintf("UT============%s"), resp.String()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| resp2, err := insResource.GetInstances(getContext(), &pb.GetInstancesRequest{ |
| ConsumerServiceId: serviceId, |
| ProviderServiceId: serviceId3, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + resp2.GetResponse().Message) |
| fmt.Println(fmt.Sprintf("UT============%s"), resp2.Instances) |
| Expect(resp2.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| Expect(len(resp2.Instances)).To((Equal(0))) |
| }) |
| |
| It("添加tag 尝试访问", func() { |
| resp1, err := serviceResource.AddTags(getContext(), &pb.AddServiceTagsRequest{ |
| ServiceId: serviceId3, |
| Tags: map[string]string{"a": "b"}, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + resp1.GetResponse().Message) |
| fmt.Println(fmt.Sprintf("UT============%s"), resp1.Response) |
| Expect(resp1.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| |
| resp2, err := insResource.GetInstances(getContext(), &pb.GetInstancesRequest{ |
| ConsumerServiceId: serviceId, |
| ProviderServiceId: serviceId3, |
| Tags: []string{"a"}, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + resp2.GetResponse().Message) |
| fmt.Println(fmt.Sprintf("UT============%s"), resp2.Instances) |
| Expect(resp2.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| Expect(len(resp2.Instances)).To((Equal(0))) |
| }) |
| |
| It("添加tag白名单 尝试访问", func() { |
| req := &pb.AddServiceRulesRequest{ |
| ServiceId: serviceId3, |
| } |
| rules := append(req.Rules, &pb.AddOrUpdateServiceRule{ |
| RuleType: "WHITE", |
| Pattern: ".*relay", |
| Attribute: "tag_ServiceName", |
| }) |
| resp, err := serviceResource.AddRule(getContext(), &pb.AddServiceRulesRequest{ |
| ServiceId: serviceId3, |
| Rules: rules, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + resp.GetResponse().Message) |
| fmt.Println(fmt.Sprintf("UT============%s"), resp.String()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| resp2, err := insResource.GetInstances(getContext(), &pb.GetInstancesRequest{ |
| ConsumerServiceId: serviceId2, |
| ProviderServiceId: serviceId3, |
| }) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + resp2.GetResponse().Message) |
| fmt.Println(fmt.Sprintf("UT============%s"), resp2.Instances) |
| Expect(resp2.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| Expect(len(resp2.Instances)).To((Equal(0))) |
| }) |
| }) |
| }) |
| |
| Describe("Delete", func() { |
| Context("normal", func() { |
| It("删除微服务,参数校验", func() { |
| resp, err := serviceResource.Delete(getContext(), &pb.DeleteServiceRequest{ |
| ServiceId: "", |
| Force: true, |
| }) |
| Expect(err).To(BeNil()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| resp, err = serviceResource.Delete(getContext(), &pb.DeleteServiceRequest{ |
| ServiceId: TOO_LONG_SERVICEID, |
| Force: true, |
| }) |
| Expect(err).To(BeNil()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| |
| resp, err = serviceResource.Delete(getContext(), &pb.DeleteServiceRequest{ |
| ServiceId: "notexistservice", |
| Force: true, |
| }) |
| Expect(err).To(BeNil()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| }) |
| |
| It("删除微服务1", func() { |
| resp, err := serviceResource.Delete(getContext(), &pb.DeleteServiceRequest{ |
| ServiceId: serviceId, |
| Force: true, |
| }) |
| Expect(err).To(BeNil()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| It("删除微服务2", func() { |
| resp, err := serviceResource.Delete(getContext(), &pb.DeleteServiceRequest{ |
| ServiceId: serviceId2, |
| Force: true, |
| }) |
| Expect(err).To(BeNil()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| It("删除微服务3", func() { |
| resp, err := serviceResource.Delete(getContext(), &pb.DeleteServiceRequest{ |
| ServiceId: serviceId3, |
| Force: false, |
| }) |
| Expect(err).To(BeNil()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| |
| It("删除微服务4,删除SC自身", func() { |
| respExist, err := serviceResource.Exist(getContext(), &pb.GetExistenceRequest{ |
| Type: "microservice", |
| AppId: core.Service.AppId, |
| ServiceName: core.Service.ServiceName, |
| Version: core.Service.Version, |
| }) |
| Expect(err).To(BeNil()) |
| core.Service.ServiceId = respExist.ServiceId |
| fmt.Println("UT=================serviceId is ", core.Service.ServiceId) |
| resp, err := serviceResource.Delete(getContext(), &pb.DeleteServiceRequest{ |
| ServiceId: core.Service.ServiceId, |
| Force: true, |
| }) |
| fmt.Println("UT============" + resp.GetResponse().Message) |
| Expect(err).To(BeNil()) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| }) |
| }) |
| }) |
| |
| Describe("DeleteServices", func() { |
| Context("normal", func() { |
| var serviceId3 string |
| var serviceId4 string |
| var serviceId5 string |
| var serviceId6 string |
| var instanceId6 string |
| // 创建服务4,服务5,服务6,其中服务6创建了实例关系 |
| It("批量删除服务,创建依赖的服务4", func() { |
| resp, err := serviceResource.Create(getContext(), &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| ServiceName: "test-services-03", |
| Alias: "ts_03", |
| AppId: "default_03", |
| Version: "1.0.0", |
| Level: "FRONT", |
| Schemas: []string{ |
| "xxxxxxxxxx", |
| }, |
| Status: "UP", |
| }, |
| }) |
| Expect(err).To(BeNil()) |
| serviceId3 = resp.ServiceId |
| fmt.Println("UT=========ServiceId" + serviceId3) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| |
| It("批量删除服务,创建依赖的服务4", func() { |
| resp, err := serviceResource.Create(getContext(), &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| ServiceName: "test-services-04", |
| Alias: "ts_04", |
| AppId: "default_04", |
| Version: "1.0.0", |
| Level: "FRONT", |
| Schemas: []string{ |
| "xxxxxxxxxx", |
| }, |
| Status: "UP", |
| }, |
| }) |
| Expect(err).To(BeNil()) |
| serviceId4 = resp.ServiceId |
| fmt.Println("UT=========ServiceId" + serviceId4) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| It("批量删除服务,创建依赖的服务5", func() { |
| resp, err := serviceResource.Create(getContext(), &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| ServiceName: "test-services-05", |
| Alias: "ts_05", |
| AppId: "default_05", |
| Version: "1.0.0", |
| Level: "FRONT", |
| Schemas: []string{ |
| "xxxxxxxx11", |
| }, |
| Status: "UP", |
| }, |
| }) |
| Expect(err).To(BeNil()) |
| serviceId5 = resp.ServiceId |
| fmt.Println("UT=========ServiceId5 " + serviceId5) |
| fmt.Printf("TEST CREATE service %d", resp.GetResponse().Code) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| It("批量删除服务,创建依赖的服务6", func() { |
| resp, err := serviceResource.Create(getContext(), &pb.CreateServiceRequest{ |
| Service: &pb.MicroService{ |
| ServiceName: "test-services-06", |
| Alias: "ts_06", |
| AppId: "default_06", |
| Version: "1.0.0", |
| Level: "FRONT", |
| Schemas: []string{ |
| "xxxxxxxxxxxxx", |
| }, |
| Status: "UP", |
| }, |
| }) |
| Expect(err).To(BeNil()) |
| serviceId6 = resp.ServiceId |
| fmt.Println("UT=========ServiceId" + serviceId6) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| |
| It("批量删除服务,创建依赖的服务6", func() { |
| respReg, err := insResource.Register(getContext(), &pb.RegisterInstanceRequest{ |
| Instance: &pb.MicroServiceInstance{ |
| ServiceId: serviceId6, |
| Endpoints: []string{ |
| "rest:127.0.0.1:8081", |
| }, |
| HostName: "UT-HOST", |
| Status: pb.MSI_UP, |
| Stage: "prod", |
| }, |
| }) |
| instanceId6 = respReg.InstanceId |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + respReg.GetResponse().Message) |
| Expect(respReg.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| |
| It("批量删除服务3和服务4", func() { |
| resp, err := serviceResource.DeleteServices(getContext(), &pb.DelServicesRequest{ |
| ServiceIds: []string{serviceId3,serviceId4}, |
| Force: false , |
| }, |
| ) |
| Expect(err).To(BeNil()) |
| fmt.Println("UT============" + resp.GetResponse().Message) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| |
| It("批量删除服务5和服务6", func() { |
| resp, err := serviceResource.DeleteServices(getContext(), &pb.DelServicesRequest{ |
| ServiceIds: []string{serviceId5,serviceId6}, |
| Force: false , |
| }, |
| ) |
| Expect(err).To(BeNil()) |
| //期待结果失败 |
| fmt.Println("UT============" + resp.GetResponse().Message) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_FAIL)) |
| }) |
| |
| It("删除服务6的实例,删除服务5和服务6", func() { |
| |
| respReg, err := insResource.Unregister(getContext(), &pb.UnregisterInstanceRequest{ |
| ServiceId: serviceId6, |
| InstanceId:instanceId6, |
| }) |
| |
| Expect(err).To(BeNil()) |
| Expect(respReg.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| |
| resp, err := serviceResource.DeleteServices(getContext(), &pb.DelServicesRequest{ |
| ServiceIds: []string{serviceId6}, |
| Force: false , |
| }, |
| ) |
| Expect(err).To(BeNil()) |
| //期待结果失败 |
| fmt.Println("UT============" + resp.GetResponse().Message) |
| Expect(resp.GetResponse().Code).To(Equal(pb.Response_SUCCESS)) |
| }) |
| |
| |
| |
| }) |
| }) |
| }) |