This is an automated email from the ASF dual-hosted git repository.
youling1128 pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/servicecomb-service-center.git
The following commit(s) were added to refs/heads/dev by this push:
new 5b9210fd Fix error of ci/cd (#1524)
5b9210fd is described below
commit 5b9210fd43188fbcf116161acc575f05904a70b1
Author: humingcheng <[email protected]>
AuthorDate: Wed Jan 21 19:12:34 2026 +0800
Fix error of ci/cd (#1524)
---
.github/workflows/eventbase-ci.yml | 27 ++-----------
.github/workflows/golangci-lint.yml | 13 ------
.github/workflows/static_check.yml | 55 ++++++--------------------
datasource/etcd/ops.go | 2 +
integration/apis.go | 4 +-
integration/instances_test.go | 24 ++++++------
integration/microservices_test.go | 41 ++++++++++++-------
integration/tags_test.go | 20 ++++++----
server/plugin/auth/buildin/parser_test.go | 2 +
server/resource/rbac/auth_resource_test.go | 10 ++---
server/service/disco/instance_test.go | 63 +++---------------------------
server/service/disco/metadata_test.go | 31 ---------------
server/service/govern/view_test.go | 4 +-
server/service/quota/instance_test.go | 2 +-
server/service/registry/health_test.go | 4 ++
syncer/service/admin/health_test.go | 4 --
test/test.go | 32 +++++++++++++++
17 files changed, 123 insertions(+), 215 deletions(-)
diff --git a/.github/workflows/eventbase-ci.yml
b/.github/workflows/eventbase-ci.yml
index 87dfd75c..1ce0f71c 100644
--- a/.github/workflows/eventbase-ci.yml
+++ b/.github/workflows/eventbase-ci.yml
@@ -1,34 +1,15 @@
name: eventbase merge check
on: [ push, pull_request ]
jobs:
- mongo-storage:
- runs-on: ubuntu-latest
- steps:
- - name: Set up Go
- uses: actions/setup-go@v1
- with:
- go-version: 1.18
- id: go
- - name: Check out source code
- uses: actions/checkout@v1
- - name: UT test
- run: |
- sudo docker compose -f ./scripts/docker-compose.yaml up -d
- sleep 20
- export TEST_DB_MODE=mongo
- export TEST_DB_URI=mongodb://127.0.0.1:27017
- cd eventbase
- go test -short -covermode=atomic $(go list ./... | grep -v etcd |
grep -v third_party | grep -v examples)
etcd-storage:
runs-on: ubuntu-latest
steps:
- name: Set up Go
- uses: actions/setup-go@v1
+ uses: actions/setup-go@v6
with:
- go-version: 1.18
- id: go
+ go-version: '1.20'
- name: Check out source code
- uses: actions/checkout@v1
+ uses: actions/checkout@v6
- name: UT for etcd
run: |
time docker run -d -p 2379:2379 --name etcd
quay.io/coreos/etcd:v3.5.15 etcd -name etcd --advertise-client-urls
http://0.0.0.0:2379 --listen-client-urls http://0.0.0.0:2379
@@ -38,4 +19,4 @@ jobs:
export TEST_DB_MODE=etcd
export TEST_DB_URI=http://127.0.0.1:2379
cd eventbase
- time go test -short -covermode=atomic $(go list ./... | grep -v
mongo | grep -v third_party | grep -v examples)
\ No newline at end of file
+ time go test -short -covermode=atomic $(go list ./... | grep -v
mongo | grep -v third_party | grep -v examples)
diff --git a/.github/workflows/golangci-lint.yml
b/.github/workflows/golangci-lint.yml
deleted file mode 100644
index 0bb619aa..00000000
--- a/.github/workflows/golangci-lint.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-name: golangci-lint
-on: [ push, pull_request ]
-jobs:
- golangci:
- name: lint
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: golangci-lint
- uses: golangci/golangci-lint-action@v2
- with:
- version: v1.55.2
- args: --timeout=5m
--skip-dirs='api,test,.*/controller/(v3|v4)$,.*/bootstrap$,examples,integration'
--enable gofmt,revive,gocyclo,goimports --skip-files=.*_test.go$
diff --git a/.github/workflows/static_check.yml
b/.github/workflows/static_check.yml
index 00b4a8e4..2c76cfbf 100644
--- a/.github/workflows/static_check.yml
+++ b/.github/workflows/static_check.yml
@@ -5,68 +5,39 @@ jobs:
name: Merge check
runs-on: ubuntu-latest
steps:
- - name: Set up Go 1.18
- uses: actions/setup-go@v1
+ - name: Set up Go
+ uses: actions/setup-go@v6
with:
- go-version: 1.18
+ go-version: '1.20'
id: go
- name: Check out code into the Go module directory
- uses: actions/checkout@v1
+ uses: actions/checkout@v6
- name: build
run: |
bash -x scripts/build/local.sh
ut4etcd:
runs-on: ubuntu-latest
steps:
- - name: Set up Go 1.18
- uses: actions/setup-go@v1
+ - name: Set up Go
+ uses: actions/setup-go@v6
with:
- go-version: 1.18
+ go-version: '1.20'
id: go
- name: Check out code into the Go module directory
- uses: actions/checkout@v1
+ uses: actions/checkout@v6
- name: UT-ETCD
run: |
bash -x scripts/ut_test_in_docker.sh etcd
- ut4mongo:
- runs-on: ubuntu-latest
- steps:
- - name: Set up Go 1.18
- uses: actions/setup-go@v1
- with:
- go-version: 1.18
- id: go
- - name: Check out code into the Go module directory
- uses: actions/checkout@v1
- - name: UT-MONGO
- run: |
- sudo docker compose -f ./scripts/docker-compose.yaml up -d
- sleep 20
- bash -x scripts/ut_test_in_docker.sh mongo
- local:
- runs-on: ubuntu-latest
- steps:
- - name: Set up Go 1.18
- uses: actions/setup-go@v1
- with:
- go-version: 1.18
- id: go
- - name: Check out code into the Go module directory
- uses: actions/checkout@v1
- - name: UT-LOCAL_STORAGE
- run: |
- rm -rf /data/schemas
- bash -x scripts/ut_test_in_docker.sh local
integration-test:
runs-on: ubuntu-latest
steps:
- - name: Set up Go 1.18
- uses: actions/setup-go@v1
+ - name: Set up Go
+ uses: actions/setup-go@v6
with:
- go-version: 1.18
+ go-version: '1.20'
id: go
- name: Check out code into the Go module directory
- uses: actions/checkout@v1
+ uses: actions/checkout@v6
- name: Integration Testing
run: |
- bash -x scripts/integration_test.sh
\ No newline at end of file
+ bash -x scripts/integration_test.sh
diff --git a/datasource/etcd/ops.go b/datasource/etcd/ops.go
index 6f48775a..4b2b8c3c 100644
--- a/datasource/etcd/ops.go
+++ b/datasource/etcd/ops.go
@@ -31,6 +31,7 @@ import (
const preEnvNum int64 = 4
+// todo add UT
func (ds *MetadataManager) CountService(ctx context.Context, request
*pb.GetServiceCountRequest) (*pb.GetServiceCountResponse, error) {
domainProject := request.Domain
if request.Project != "" {
@@ -60,6 +61,7 @@ func (ds *MetadataManager) getGlobalServiceCount(ctx
context.Context, domainProj
return global, nil
}
+// todo add UT
func (ds *MetadataManager) CountInstance(ctx context.Context, request
*pb.GetServiceCountRequest) (*pb.GetServiceCountResponse, error) {
domainProject := request.Domain
if request.Project != "" {
diff --git a/integration/apis.go b/integration/apis.go
index e98dfb22..6102dd8a 100644
--- a/integration/apis.go
+++ b/integration/apis.go
@@ -33,8 +33,8 @@ var GETSCHEMAS =
"/v4/default/registry/microservices/:serviceId/schemas"
var UPDATESCHEMAS = "/v4/default/registry/microservices/:serviceId/schemas"
var DELETESCHEMA =
"/v4/default/registry/microservices/:serviceId/schemas/:schemaId"
var CREATEDEPENDENCIES = "/v4/default/registry/dependencies"
-var GETCONPRODEPENDENCY =
"/v4/default/registry/microservices/:consumerId/providers"
-var GETPROCONDEPENDENCY =
"/v4/default/registry/microservices/:providerId/consumers"
+var ApiGetProviders =
"/v4/default/registry/microservices/:consumerId/providers"
+var ApiGetConsumers =
"/v4/default/registry/microservices/:providerId/consumers"
// Instance API's
var FINDINSTANCE = "/v4/default/registry/instances"
diff --git a/integration/instances_test.go b/integration/instances_test.go
index 36c93cde..db605870 100644
--- a/integration/instances_test.go
+++ b/integration/instances_test.go
@@ -40,7 +40,7 @@ import (
)
var _ = Describe("MicroService Api Test", func() {
- var serviceName = ""
+ var testServiceName = ""
var providerID = ""
var consumerID = ""
var serviceAppId = "integrationtestAppIdInstance"
@@ -51,10 +51,10 @@ var _ = Describe("MicroService Api Test", func() {
BeforeEach(func() {
schema := []string{"testSchema"}
properties := map[string]string{"attr1": "aa"}
- serviceName = strconv.Itoa(rand.Intn(15))
- alias = serviceAppId + ":" + serviceName
+ testServiceName = strconv.Itoa(rand.Intn(15))
+ alias = serviceAppId + ":" + testServiceName
servicemap := map[string]interface{}{
- "serviceName": serviceName,
+ "serviceName": testServiceName,
"alias": alias,
"appId": serviceAppId,
"version": serviceVersion,
@@ -82,7 +82,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(len(providerID)).Should(BeNumerically("==",
LengthUUID))
servicemap = map[string]interface{}{
- "serviceName": "C_" + serviceName,
+ "serviceName": "C_" + testServiceName,
"appId": serviceAppId,
"version": serviceVersion,
}
@@ -284,7 +284,7 @@ var _ = Describe("MicroService Api Test", func() {
By("Discover MicroService Instance API", func() {
It("Find Micro-service Info by AppID", func() {
- req, _ := http.NewRequest(GET,
SCURL+FINDINSTANCE+"?appId="+serviceAppId+"&serviceName="+serviceName+"&version="+serviceVersion,
nil)
+ req, _ := http.NewRequest(GET,
SCURL+FINDINSTANCE+"?appId="+serviceAppId+"&serviceName="+testServiceName+"&version="+serviceVersion,
nil)
req.Header.Set("X-Domain-Name", "default")
req.Header.Set("X-ConsumerId", consumerID)
resp, _ := scclient.Do(req)
@@ -305,7 +305,7 @@ var _ = Describe("MicroService Api Test", func() {
time.Sleep(3 * time.Second)
//Get Provider by ConsumerID
- url := strings.Replace(GETCONPRODEPENDENCY,
":consumerId", consumerID, 1)
+ url := strings.Replace(ApiGetProviders,
":consumerId", consumerID, 1)
req, _ = http.NewRequest(GET, SCURL+url, nil)
req.Header.Set("X-Domain-Name", "default")
resp, _ = scclient.Do(req)
@@ -316,7 +316,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(providerID).To(Equal(respStruct["providers"][0]["serviceId"]))
//Get Consumer by ProviderID
- url = strings.Replace(GETPROCONDEPENDENCY,
":providerId", providerID, 1)
+ url = strings.Replace(ApiGetConsumers,
":providerId", providerID, 1)
req, _ = http.NewRequest(GET, SCURL+url, nil)
req.Header.Set("X-Domain-Name", "default")
resp, _ = scclient.Do(req)
@@ -335,7 +335,7 @@ var _ = Describe("MicroService Api Test", func() {
})
It("Find Micro-service Info by invalid AppID", func() {
- req, _ := http.NewRequest(GET,
SCURL+FINDINSTANCE+"?appId=XXXX&serviceName="+serviceName+"&version="+serviceVersion,
nil)
+ req, _ := http.NewRequest(GET,
SCURL+FINDINSTANCE+"?appId=XXXX&serviceName="+testServiceName+"&version="+serviceVersion,
nil)
req.Header.Set("X-Domain-Name", "default")
req.Header.Set("X-ConsumerId", consumerID)
resp, _ := scclient.Do(req)
@@ -416,7 +416,7 @@ var _ = Describe("MicroService Api Test", func() {
})
It("Find Micro-Service Instance with rev", func() {
- req, _ := http.NewRequest(GET,
SCURL+FINDINSTANCE+"?appId="+serviceAppId+"&serviceName="+serviceName+"&version="+serviceVersion,
nil)
+ req, _ := http.NewRequest(GET,
SCURL+FINDINSTANCE+"?appId="+serviceAppId+"&serviceName="+testServiceName+"&version="+serviceVersion,
nil)
req.Header.Set("X-Domain-Name", "default")
req.Header.Set("X-ConsumerId", consumerID)
resp, _ := scclient.Do(req)
@@ -425,7 +425,7 @@ var _ = Describe("MicroService Api Test", func() {
rev := resp.Header.Get("X-Resource-Revision")
Expect(rev).NotTo(BeEmpty())
- req, _ = http.NewRequest(GET,
SCURL+FINDINSTANCE+"?appId="+serviceAppId+"&serviceName="+serviceName+"&version="+serviceVersion+"&rev="+rev,
nil)
+ req, _ = http.NewRequest(GET,
SCURL+FINDINSTANCE+"?appId="+serviceAppId+"&serviceName="+testServiceName+"&version="+serviceVersion+"&rev="+rev,
nil)
req.Header.Set("X-Domain-Name", "default")
req.Header.Set("X-ConsumerId", consumerID)
resp, _ = scclient.Do(req)
@@ -446,7 +446,7 @@ var _ = Describe("MicroService Api Test", func() {
provider := map[string]interface{}{
"service": map[string]interface{}{
"appId": serviceAppId,
- "serviceName": serviceName,
+ "serviceName": testServiceName,
"version": serviceVersion,
},
}
diff --git a/integration/microservices_test.go
b/integration/microservices_test.go
index 1ca2c048..20c50722 100644
--- a/integration/microservices_test.go
+++ b/integration/microservices_test.go
@@ -19,13 +19,13 @@ package integrationtest_test
import (
"bytes"
"encoding/json"
+ "fmt"
"io"
"math/rand"
"net/http"
"strconv"
"strings"
"testing"
- "time"
. "github.com/apache/servicecomb-service-center/integration"
. "github.com/onsi/ginkgo"
@@ -351,6 +351,8 @@ var _ = Describe("MicroService Api Test", func() {
It("Get Dependencies for providers and
consumers", func() {
getServiceName(serviceId)
+
+ // Action: create consumer
schema := []string{"testSchema"}
properties :=
map[string]string{"attr1": "aa"}
consumerAppName :=
strconv.Itoa(rand.Intn(15))
@@ -380,7 +382,7 @@ var _ = Describe("MicroService Api Test", func() {
respbody, _ := io.ReadAll(resp.Body)
consumerServiceID :=
gojson.Json(string(respbody)).Get("serviceId").Tostring()
- //Create Dependency
+ // Action: add Dependency
consumer := map[string]string{
"appId": "consumerAppId",
"serviceName": consumerAppName,
@@ -401,6 +403,7 @@ var _ = Describe("MicroService Api Test", func() {
"dependencies": dependencyArray,
}
body, _ = json.Marshal(bodyParams)
+ fmt.Println("--create provider body",
string(body))
bodyBuf = bytes.NewReader(body)
req, _ = http.NewRequest(UPDATE,
SCURL+CREATEDEPENDENCIES, bodyBuf)
req.Header.Set("X-Domain-Name",
"default")
@@ -411,9 +414,10 @@ var _ = Describe("MicroService Api Test", func() {
// Validate the dependency creation
Expect(resp.StatusCode).To(Equal(http.StatusOK))
- // add new dependency
+ // Action: add new dependency
dependency["providers"] =
[]interface{}{consumer}
body, _ = json.Marshal(bodyParams)
+ fmt.Println("--create provider body2",
string(body))
bodyBuf = bytes.NewReader(body)
req, _ = http.NewRequest(POST,
SCURL+CREATEDEPENDENCIES, bodyBuf)
req.Header.Set("X-Domain-Name",
"default")
@@ -425,8 +429,8 @@ var _ = Describe("MicroService Api Test", func() {
Expect(resp.StatusCode).To(Equal(http.StatusOK))
//Get Provider by ConsumerID
- <-time.After(time.Second)
- url :=
strings.Replace(GETCONPRODEPENDENCY, ":consumerId", consumerServiceID, 1)
+ waitScCacheRefreshed()
+ url := strings.Replace(ApiGetProviders,
":consumerId", consumerServiceID, 1)
req, _ = http.NewRequest(GET,
SCURL+url, nil)
req.Header.Set("X-Domain-Name",
"default")
resp, _ = scclient.Do(req)
@@ -436,6 +440,7 @@ var _ = Describe("MicroService Api Test", func() {
json.Unmarshal(respbody,
&servicesStruct)
foundMicroService := false
+ fmt.Println("---providers 1",
servicesStruct["providers"])
for _, services := range
servicesStruct["providers"] {
if services["serviceName"] ==
serviceName {
foundMicroService = true
@@ -445,7 +450,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(foundMicroService).To(Equal(true))
//Get Consumer by ProviderID
- url =
strings.Replace(GETPROCONDEPENDENCY, ":providerId", serviceId, 1)
+ url = strings.Replace(ApiGetConsumers,
":providerId", serviceId, 1)
req, _ = http.NewRequest(GET,
SCURL+url, nil)
req.Header.Set("X-Domain-Name",
"default")
resp, _ = scclient.Do(req)
@@ -464,7 +469,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(foundMicroService).To(Equal(true))
//Get new dependency by ConsumerID
- url =
strings.Replace(GETCONPRODEPENDENCY, ":consumerId", consumerServiceID, 1)
+ url = strings.Replace(ApiGetProviders,
":consumerId", consumerServiceID, 1)
req, _ = http.NewRequest(GET,
SCURL+url, nil)
req.Header.Set("X-Domain-Name",
"default")
resp, _ = scclient.Do(req)
@@ -473,6 +478,7 @@ var _ = Describe("MicroService Api Test", func() {
servicesStruct =
map[string][]map[string]interface{}{}
json.Unmarshal(respbody,
&servicesStruct)
+ fmt.Println("---providers 2",
servicesStruct["providers"])
foundMicroService = false
for _, services := range
servicesStruct["providers"] {
if services["serviceName"] ==
consumerAppName {
@@ -482,8 +488,14 @@ var _ = Describe("MicroService Api Test", func() {
}
Expect(foundMicroService).To(Equal(true))
- // override the dependency
- dependency["providers"] =
[]interface{}{}
+ // Action: override the dependency
+ dependency = map[string]interface{}{
+ "consumer": consumer,
+ }
+ dependencyArray =
[]interface{}{dependency}
+ bodyParams = map[string]interface{}{
+ "dependencies": dependencyArray,
+ }
body, _ = json.Marshal(bodyParams)
bodyBuf = bytes.NewReader(body)
req, _ = http.NewRequest(UPDATE,
SCURL+CREATEDEPENDENCIES, bodyBuf)
@@ -496,8 +508,8 @@ var _ = Describe("MicroService Api Test", func() {
Expect(resp.StatusCode).To(Equal(http.StatusOK))
//Get Provider by ConsumerID again
- <-time.After(time.Second)
- url =
strings.Replace(GETCONPRODEPENDENCY, ":consumerId", consumerServiceID, 1)
+ waitScCacheRefreshed()
+ url = strings.Replace(ApiGetProviders,
":consumerId", consumerServiceID, 1)
req, _ = http.NewRequest(GET,
SCURL+url, nil)
req.Header.Set("X-Domain-Name",
"default")
resp, _ = scclient.Do(req)
@@ -505,9 +517,10 @@ var _ = Describe("MicroService Api Test", func() {
Expect(resp.StatusCode).To(Equal(http.StatusOK))
servicesStruct =
map[string][]map[string]interface{}{}
json.Unmarshal(respbody,
&servicesStruct)
+ fmt.Println("---providers 3",
servicesStruct["providers"])
Expect(len(servicesStruct["providers"])).To(Equal(0))
- //Delete Consumer and Provider
+ // Action: Delete Consumer and Provider
url =
strings.Replace(UNREGISTERMICROSERVICE, ":serviceId", consumerServiceID, 1)
req, _ = http.NewRequest(DELETE,
SCURL+url, nil)
req.Header.Set("X-Domain-Name",
"default")
@@ -524,14 +537,14 @@ var _ = Describe("MicroService Api Test", func() {
It("Invalid scenario for GET Providers and
Consumers", func() {
//Get Provider by ConsumerID
- url :=
strings.Replace(GETCONPRODEPENDENCY, ":consumerId", "wrongID", 1)
+ url := strings.Replace(ApiGetProviders,
":consumerId", "wrongID", 1)
req, _ := http.NewRequest(GET,
SCURL+url, nil)
req.Header.Set("X-Domain-Name",
"default")
resp, _ := scclient.Do(req)
Expect(resp.StatusCode).To(Equal(http.StatusBadRequest))
//Get Consumer by ProviderID
- url =
strings.Replace(GETPROCONDEPENDENCY, ":providerId", "wrongID", 1)
+ url = strings.Replace(ApiGetConsumers,
":providerId", "wrongID", 1)
req, _ = http.NewRequest(GET,
SCURL+url, nil)
req.Header.Set("X-Domain-Name",
"default")
resp, _ = scclient.Do(req)
diff --git a/integration/tags_test.go b/integration/tags_test.go
index cd46d789..8af31e3c 100644
--- a/integration/tags_test.go
+++ b/integration/tags_test.go
@@ -172,7 +172,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(resp.StatusCode).To(Equal(http.StatusOK))
//Get Tags
- <-time.After(time.Second)
+ waitScCacheRefreshed()
url = strings.Replace(GETTAGS, ":serviceId",
serviceId, 1)
req, _ = http.NewRequest(GET, SCURL+url, nil)
req.Header.Set("X-Domain-Name", "default")
@@ -229,7 +229,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(resp.StatusCode).To(Equal(http.StatusOK))
//Update Tags
- <-time.After(time.Second)
+ waitScCacheRefreshed()
url = strings.Replace(UPDATETAG, ":serviceId",
serviceId, 1)
url = strings.Replace(url, ":key", "testkey", 1)
req, _ = http.NewRequest(UPDATE,
SCURL+url+"?value=newValue", nil)
@@ -240,7 +240,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(resp.StatusCode).To(Equal(http.StatusOK))
//Verify the Tags
- <-time.After(time.Second)
+ waitScCacheRefreshed()
url = strings.Replace(GETTAGS, ":serviceId",
serviceId, 1)
req, _ = http.NewRequest(GET, SCURL+url, nil)
req.Header.Set("X-Domain-Name", "default")
@@ -281,7 +281,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(resp.StatusCode).To(Equal(http.StatusOK))
//Update Tags
- <-time.After(time.Second)
+ waitScCacheRefreshed()
url = strings.Replace(UPDATETAG, ":serviceId",
serviceId, 1)
url = strings.Replace(url, ":key",
"unknownkey", 1)
req, _ = http.NewRequest(UPDATE,
SCURL+url+"?value=newValue", nil)
@@ -327,7 +327,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(resp.StatusCode).To(Equal(http.StatusOK))
//Delete the tag
- <-time.After(time.Second)
+ waitScCacheRefreshed()
url = strings.Replace(DELETETAG, ":serviceId",
serviceId, 1)
url = strings.Replace(url, ":key", "testkey", 1)
req, _ = http.NewRequest(DELETE, SCURL+url, nil)
@@ -338,7 +338,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(resp.StatusCode).To(Equal(http.StatusOK))
//verify Delete
- <-time.After(time.Second)
+ waitScCacheRefreshed()
url = strings.Replace(GETTAGS, ":serviceId",
serviceId, 1)
req, _ = http.NewRequest(GET, SCURL+url, nil)
req.Header.Set("X-Domain-Name", "default")
@@ -370,7 +370,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(resp.StatusCode).To(Equal(http.StatusOK))
//Delete the tag
- <-time.After(time.Second)
+ waitScCacheRefreshed()
url = strings.Replace(DELETETAG, ":serviceId",
serviceId, 1)
url = strings.Replace(url, ":key", "unknowTag",
1)
req, _ = http.NewRequest(DELETE, SCURL+url, nil)
@@ -381,7 +381,7 @@ var _ = Describe("MicroService Api Test", func() {
Expect(resp.StatusCode).To(Equal(http.StatusBadRequest))
//verify Non-deleted of exsiting tag
- <-time.After(time.Second)
+ waitScCacheRefreshed()
url = strings.Replace(GETTAGS, ":serviceId",
serviceId, 1)
req, _ = http.NewRequest(GET, SCURL+url, nil)
req.Header.Set("X-Domain-Name", "default")
@@ -408,3 +408,7 @@ var _ = Describe("MicroService Api Test", func() {
})
})
})
+
+func waitScCacheRefreshed() {
+ <-time.After(2000 * time.Millisecond)
+}
diff --git a/server/plugin/auth/buildin/parser_test.go
b/server/plugin/auth/buildin/parser_test.go
index 2a37e118..a21b653a 100644
--- a/server/plugin/auth/buildin/parser_test.go
+++ b/server/plugin/auth/buildin/parser_test.go
@@ -64,6 +64,8 @@ func TestGetAPIParseFunc(t *testing.T) {
newRequest := func(method, url string, body string) *http.Request {
request, _ := http.NewRequest(method, url,
strings.NewReader(body))
util.SetRequestContext(request, rest.CtxMatchPattern, url)
+ util.SetRequestContext(request, util.CtxDomain, "default")
+ util.SetRequestContext(request, util.CtxProject, "default")
return request
}
tests := []struct {
diff --git a/server/resource/rbac/auth_resource_test.go
b/server/resource/rbac/auth_resource_test.go
index e9074e0f..377beeee 100644
--- a/server/resource/rbac/auth_resource_test.go
+++ b/server/resource/rbac/auth_resource_test.go
@@ -321,29 +321,29 @@ func TestAuthResource_Login2(t *testing.T) {
b, _ := json.Marshal(&rbacmodel.Account{Name: devAccount,
Password: devPwd1})
r, _ := http.NewRequest(http.MethodPost, "/v4/token",
bytes.NewBuffer(b))
- r.RemoteAddr = "1.1.1.1"
+ r.Header.Set("x-real-ip", "1.1.1.1")
w := httptest.NewRecorder()
rest.GetRouter().ServeHTTP(w, r)
assert.Equal(t, http.StatusUnauthorized, w.Code)
r, _ = http.NewRequest(http.MethodPost, "/v4/token",
bytes.NewBuffer(b))
- r.RemoteAddr = "1.1.1.1"
+ r.Header.Set("x-real-ip", "1.1.1.1")
rest.GetRouter().ServeHTTP(w, r)
assert.Equal(t, http.StatusUnauthorized, w.Code)
r, _ = http.NewRequest(http.MethodPost, "/v4/token",
bytes.NewBuffer(b))
- r.RemoteAddr = "1.1.1.1"
+ r.Header.Set("x-real-ip", "1.1.1.1")
rest.GetRouter().ServeHTTP(w, r)
assert.Equal(t, http.StatusUnauthorized, w.Code)
r, _ = http.NewRequest(http.MethodPost, "/v4/token",
bytes.NewBuffer(b))
- r.RemoteAddr = "1.1.1.1"
+ r.Header.Set("x-real-ip", "1.1.1.1")
rest.GetRouter().ServeHTTP(w, r)
assert.Equal(t, http.StatusUnauthorized, w.Code)
w = httptest.NewRecorder()
r, _ = http.NewRequest(http.MethodPost, "/v4/token",
bytes.NewBuffer(b))
- r.RemoteAddr = "1.1.1.1"
+ r.Header.Set("x-real-ip", "1.1.1.1")
rest.GetRouter().ServeHTTP(w, r)
assert.Equal(t, http.StatusForbidden, w.Code)
})
diff --git a/server/service/disco/instance_test.go
b/server/service/disco/instance_test.go
index 1cf4dc57..e0a77181 100644
--- a/server/service/disco/instance_test.go
+++ b/server/service/disco/instance_test.go
@@ -433,7 +433,7 @@ func TestFindManyInstances(t *testing.T) {
serviceId1, serviceId2, serviceId3, serviceId4, serviceId5,
serviceId7, serviceId8, serviceId9, serviceId10,
}, Force: true})
- defer
discosvc.UnregisterService(util.SetDomainProject(util.CloneContext(ctx),
"user", "user"), &pb.DeleteServiceRequest{
+ defer
discosvc.UnregisterService(util.SetDomainProject(util.CloneContext(ctx),
"default", "default"), &pb.DeleteServiceRequest{
ServiceId: serviceId6, Force: true,
})
@@ -504,7 +504,7 @@ func TestFindManyInstances(t *testing.T) {
serviceId5 = respCreate.ServiceId
respCreate, err = discosvc.RegisterService(
- util.SetDomainProject(util.CloneContext(ctx), "user",
"user"),
+ util.SetDomainProject(util.CloneContext(ctx),
"default", "default"),
&pb.CreateServiceRequest{
Service: &pb.MicroService{
AppId: "default",
@@ -1060,7 +1060,7 @@ func TestFindManyInstances(t *testing.T) {
respFind, err := discosvc.FindManyInstances(
util.SetTargetDomainProject(
- util.SetDomainProject(util.CloneContext(ctx),
"user", "user"),
+ util.SetDomainProject(util.CloneContext(ctx),
"default", "default"),
"default", "default"),
&pb.BatchFindInstancesRequest{
ConsumerServiceId: serviceId6,
@@ -1092,24 +1092,6 @@ func TestFindManyInstances(t *testing.T) {
assert.Equal(t, 1, len(respFind.Services.Updated[0].Instances))
assert.Equal(t, instanceId5,
respFind.Services.Updated[0].Instances[0].InstanceId)
- respFind, err = discosvc.FindManyInstances(
- util.SetTargetDomainProject(
- util.SetDomainProject(util.CloneContext(ctx),
"user", "user"),
- "default", "default"),
- &pb.BatchFindInstancesRequest{
- ConsumerServiceId: serviceId6,
- Instances: []*pb.FindInstance{
- {
- Instance:
&pb.HeartbeatSetElement{
- ServiceId: serviceId5,
- InstanceId: instanceId5,
- },
- },
- },
- })
- assert.NoError(t, err)
- assert.Equal(t, pb.ErrServiceNotExists,
respFind.Instances.Failed[0].Error.Code)
-
respFind, err = discosvc.FindManyInstances(ctx,
&pb.BatchFindInstancesRequest{
ConsumerServiceId: serviceId7,
Instances: []*pb.FindInstance{
@@ -1147,7 +1129,7 @@ func TestFindInstances(t *testing.T) {
serviceId1, serviceId2, serviceId3, serviceId4, serviceId5,
serviceId7, serviceId8, serviceId9, serviceId10,
}, Force: true})
- defer
discosvc.UnregisterService(util.SetDomainProject(util.CloneContext(ctx),
"user", "user"), &pb.DeleteServiceRequest{
+ defer
discosvc.UnregisterService(util.SetDomainProject(util.CloneContext(ctx),
"default", "default"), &pb.DeleteServiceRequest{
ServiceId: serviceId6, Force: true,
})
@@ -1218,7 +1200,7 @@ func TestFindInstances(t *testing.T) {
serviceId5 = respCreate.ServiceId
respCreate, err = discosvc.RegisterService(
- util.SetDomainProject(util.CloneContext(ctx), "user",
"user"),
+ util.SetDomainProject(util.CloneContext(ctx),
"default", "default"),
&pb.CreateServiceRequest{
Service: &pb.MicroService{
AppId: "default",
@@ -2277,38 +2259,3 @@ func assertInstanceContain(t *testing.T, instances
[]*pb.MicroServiceInstance, i
}
assert.True(t, found)
}
-
-func TestInstanceUsage(t *testing.T) {
- t.Run("get domain/project without instance usage, should return 0",
func(t *testing.T) {
- usage, err := discosvc.InstanceUsage(context.Background(),
&pb.GetServiceCountRequest{
- Domain: "domain_without_service",
- Project: "project_without_service",
- })
- assert.NoError(t, err)
- assert.Equal(t, int64(0), usage)
- })
-
- t.Run("get domain/project with 1 instance usage, should return 1",
func(t *testing.T) {
- ctx := util.SetDomainProject(context.Background(),
"domain_with_service", "project_with_service")
- resp, err := discosvc.RegisterService(ctx,
&pb.CreateServiceRequest{
- Service: &pb.MicroService{
- ServiceName: "test",
- },
- })
- assert.NoError(t, err)
- defer discosvc.UnregisterService(ctx,
&pb.DeleteServiceRequest{ServiceId: resp.ServiceId, Force: true})
-
- _, err = discosvc.RegisterInstance(ctx,
&pb.RegisterInstanceRequest{Instance: &pb.MicroServiceInstance{
- ServiceId: resp.ServiceId,
- HostName: "test",
- }})
- assert.NoError(t, err)
-
- usage, err := discosvc.InstanceUsage(context.Background(),
&pb.GetServiceCountRequest{
- Domain: "domain_with_service",
- Project: "project_with_service",
- })
- assert.NoError(t, err)
- assert.Equal(t, int64(1), usage)
- })
-}
diff --git a/server/service/disco/metadata_test.go
b/server/service/disco/metadata_test.go
index 3519dd7e..1eeeea0d 100644
--- a/server/service/disco/metadata_test.go
+++ b/server/service/disco/metadata_test.go
@@ -18,12 +18,10 @@
package disco_test
import (
- "context"
"strconv"
"strings"
"testing"
- "github.com/apache/servicecomb-service-center/pkg/util"
"github.com/apache/servicecomb-service-center/server/core"
"github.com/apache/servicecomb-service-center/server/service/disco"
quotasvc
"github.com/apache/servicecomb-service-center/server/service/quota"
@@ -1361,32 +1359,3 @@ func TestListService(t *testing.T) {
assert.Nil(t, service)
})
}
-
-func TestServiceUsage(t *testing.T) {
- t.Run("get domain/project without service usage, should return 0",
func(t *testing.T) {
- usage, err := disco.ServiceUsage(context.Background(),
&pb.GetServiceCountRequest{
- Domain: "domain_without_service",
- Project: "project_without_service",
- })
- assert.NoError(t, err)
- assert.Equal(t, int64(0), usage)
- })
-
- t.Run("get domain/project with 1 service usage, should return 1",
func(t *testing.T) {
- ctx := util.SetDomainProject(context.Background(),
"domain_with_service", "project_with_service")
- resp, err := disco.RegisterService(ctx,
&pb.CreateServiceRequest{
- Service: &pb.MicroService{
- ServiceName: "test",
- },
- })
- assert.NoError(t, err)
- defer disco.UnregisterService(ctx,
&pb.DeleteServiceRequest{ServiceId: resp.ServiceId, Force: true})
-
- usage, err := disco.ServiceUsage(context.Background(),
&pb.GetServiceCountRequest{
- Domain: "domain_with_service",
- Project: "project_with_service",
- })
- assert.NoError(t, err)
- assert.Equal(t, int64(1), usage)
- })
-}
diff --git a/server/service/govern/view_test.go
b/server/service/govern/view_test.go
index 608e4888..da09d195 100644
--- a/server/service/govern/view_test.go
+++ b/server/service/govern/view_test.go
@@ -101,8 +101,8 @@ func TestListApp(t *testing.T) {
resp, err := govern.ListApp(getContext(), &pb.GetAppsRequest{
Environment: "non-exist-env",
})
- assert.True(t, errsvc.IsErrEqualCode(err, pb.ErrInvalidParams),
err)
- assert.Nil(t, resp)
+ assert.Nil(t, err)
+ assert.Equal(t, 0, len(resp.AppIds))
})
t.Run("when request is valid, should be passed", func(t *testing.T) {
diff --git a/server/service/quota/instance_test.go
b/server/service/quota/instance_test.go
index 6ce44da2..9843f93e 100644
--- a/server/service/quota/instance_test.go
+++ b/server/service/quota/instance_test.go
@@ -33,7 +33,7 @@ import (
func TestApplyInstance(t *testing.T) {
//var id string
ctx := context.TODO()
- ctx = util.SetDomainProject(ctx, "quota", "quota")
+ ctx = util.SetDomainProject(ctx, "default", "default")
t.Run("create 1 instance,should success", func(t *testing.T) {
resp, err := discosvc.RegisterService(ctx,
&pb.CreateServiceRequest{
Service: &pb.MicroService{
diff --git a/server/service/registry/health_test.go
b/server/service/registry/health_test.go
index 68896874..4885d1ca 100644
--- a/server/service/registry/health_test.go
+++ b/server/service/registry/health_test.go
@@ -6,9 +6,13 @@ import (
"github.com/stretchr/testify/assert"
"github.com/apache/servicecomb-service-center/server/health"
+ "github.com/apache/servicecomb-service-center/syncer/config"
)
func TestReadiness(t *testing.T) {
+ config.SetConfig(config.Config{
+ Sync: &config.Sync{},
+ })
health.SetGlobalReadinessChecker(&health.NullChecker{})
assert.NoError(t, Readiness(nil))
}
diff --git a/syncer/service/admin/health_test.go
b/syncer/service/admin/health_test.go
index 28dddae1..b329ae81 100644
--- a/syncer/service/admin/health_test.go
+++ b/syncer/service/admin/health_test.go
@@ -58,10 +58,6 @@ func TestHealth(t *testing.T) {
sync *config.Sync
wantErr bool
}{
- {name: "check no config ",
- sync: nil,
- wantErr: true,
- },
{name: "check disable is true",
sync: &config.Sync{
Peers: []*config.Peer{},
diff --git a/test/test.go b/test/test.go
index 7683802c..5886f229 100644
--- a/test/test.go
+++ b/test/test.go
@@ -20,6 +20,8 @@ package test
import (
"context"
+ "fmt"
+ "os"
"time"
_ "github.com/apache/servicecomb-service-center/server/init"
@@ -30,10 +32,14 @@ import (
"github.com/apache/servicecomb-service-center/datasource"
edatasource
"github.com/apache/servicecomb-service-center/eventbase/datasource"
+ "github.com/apache/servicecomb-service-center/pkg/util"
"github.com/apache/servicecomb-service-center/server/metrics"
+ "github.com/apache/servicecomb-service-center/server/service/disco"
"github.com/apache/servicecomb-service-center/server/service/registry"
"github.com/go-chassis/cari/db"
"github.com/go-chassis/cari/db/config"
+ pb "github.com/go-chassis/cari/discovery"
+ "github.com/go-chassis/cari/env"
"github.com/go-chassis/go-archaius"
)
@@ -79,6 +85,7 @@ func init() {
})
_ = registry.SelfRegister(context.Background())
+ preEnvRegistry()
}
func IsETCD() bool {
@@ -93,3 +100,28 @@ func IsLOCAL() bool {
t := archaius.Get("TEST_MODE")
return t == "local"
}
+
+func preEnvRegistry() {
+ ctx := util.SetContext(context.Background(), disco.PreEnv, true)
+ ctx = util.SetContext(ctx, util.CtxRemoteIP, "127.0.0.1")
+ preEnvRegistryWithCtx(ctx)
+
+ ctx = util.SetContext(context.Background(), disco.PreEnv, true)
+ ctx = util.SetContext(ctx, util.CtxRemoteIP, "127.0.0.1")
+ ctx = util.SetContext(ctx, util.CtxDomain, "default")
+ ctx = util.SetContext(ctx, util.CtxProject, "default")
+ preEnvRegistryWithCtx(ctx)
+}
+
+func preEnvRegistryWithCtx(ctx context.Context) {
+ for _, v := range []string{pb.ENV_PROD, pb.ENV_TEST, pb.ENV_ACCEPT,
pb.ENV_DEV, ""} {
+ envBody := env.Environment{Name: v, ID: v}
+ var req = new(env.CreateEnvironmentRequest)
+ req.Environment = &envBody
+ _, err := disco.RegistryEnvironment(ctx, req)
+ if err != nil {
+ fmt.Println("prepare environments fail, will exit", err)
+ os.Exit(1)
+ }
+ }
+}