-
Notifications
You must be signed in to change notification settings - Fork 401
/
Copy pathinstance_test.go
206 lines (169 loc) · 5.41 KB
/
instance_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
//go:build integration
// +build integration
/**
* Tencent is pleased to support the open source community by making Polaris available.
*
* Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the BSD 3-Clause License (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://opensource.org/licenses/BSD-3-Clause
*
* 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 test
import (
"testing"
"google.golang.org/protobuf/types/known/wrapperspb"
"github.com/polarismesh/polaris/test/integrate/http"
"github.com/polarismesh/polaris/test/integrate/resource"
)
/**
* @brief 测试增删改查服务实例
*/
func TestInstance(t *testing.T) {
t.Log("test instance interface")
client := http.NewClient(httpserverAddress, httpserverVersion)
namespaces := resource.CreateNamespaces()
services := resource.CreateServices(namespaces[0])
// 创建命名空间
ret, err := client.CreateNamespaces(namespaces)
if err != nil {
t.Fatalf("create namespaces fail: %s", err.Error())
}
for index, item := range ret.GetResponses() {
namespaces[index].Token = item.GetNamespace().GetToken()
}
t.Log("create namespaces success")
// 创建服务
ret, err = client.CreateServices(services)
if err != nil {
t.Fatalf("create services fail: %s", err.Error())
}
for index, item := range ret.GetResponses() {
services[index].Token = item.GetService().GetToken()
}
t.Log("create services success")
// -------------------------------------------------------
instances := resource.CreateInstances(services[0])
// 创建实例
ret, err = client.CreateInstances(instances)
if err != nil {
t.Fatalf("create instances fail: %s", err.Error())
}
for index, item := range ret.GetResponses() {
instances[index].Id = item.GetInstance().GetId()
}
t.Log("create instances success")
// 查询实例
err = client.GetInstances(instances)
if err != nil {
t.Fatalf("get instances fail: %s", err.Error())
}
t.Log("get instances success")
// 更新实例
resource.UpdateInstances(instances)
err = client.UpdateInstances(instances)
if err != nil {
t.Fatalf("update instances fail: %s", err.Error())
}
t.Log("update instances success")
// 查询实例
err = client.GetInstances(instances)
if err != nil {
t.Fatalf("get instances fail: %s", err.Error())
}
t.Log("get instances success")
// 删除实例
err = client.DeleteInstances(instances)
if err != nil {
t.Fatalf("delete instances fail: %s", err.Error())
}
t.Log("delete instances success")
// -------------------------------------------------------
// 删除服务
err = client.DeleteServices(services)
if err != nil {
t.Fatalf("delete services fail: %s", err.Error())
}
t.Log("delete services success")
// 删除命名空间
err = client.DeleteNamespaces(namespaces)
if err != nil {
t.Fatalf("delete namespaces fail: %s", err.Error())
}
t.Log("delete namespaces success")
}
// TestInstanceWithoutService 测试注册实例的时候,没有创建服务时可以自动创建服务出来
func TestInstanceWithoutService(t *testing.T) {
t.Log("test instance interface")
client := http.NewClient(httpserverAddress, httpserverVersion)
namespaces := resource.CreateNamespaces()
services := resource.CreateServices(namespaces[0])
for i := range services {
services[i].Name = wrapperspb.String("WithoutService_" + services[i].Name.GetValue())
}
// 创建命名空间
ret, err := client.CreateNamespaces(namespaces)
if err != nil {
t.Fatalf("create namespaces fail: %s", err.Error())
}
for index, item := range ret.GetResponses() {
namespaces[index].Token = item.GetNamespace().GetToken()
}
t.Log("create namespaces success")
// -------------------------------------------------------
instances := resource.CreateInstances(services[0])
// 创建实例
ret, err = client.CreateInstances(instances)
if err != nil {
t.Fatalf("create instances fail: %s", err.Error())
}
for index, item := range ret.GetResponses() {
instances[index].Id = item.GetInstance().GetId()
}
t.Log("create instances success")
// 查询实例
err = client.GetInstances(instances)
if err != nil {
t.Fatalf("get instances fail: %s", err.Error())
}
t.Log("get instances success")
// 更新实例
resource.UpdateInstances(instances)
err = client.UpdateInstances(instances)
if err != nil {
t.Fatalf("update instances fail: %s", err.Error())
}
t.Log("update instances success")
// 查询实例
err = client.GetInstances(instances)
if err != nil {
t.Fatalf("get instances fail: %s", err.Error())
}
t.Log("get instances success")
// 删除实例
err = client.DeleteInstances(instances)
if err != nil {
t.Fatalf("delete instances fail: %s", err.Error())
}
t.Log("delete instances success")
// -------------------------------------------------------
// 删除服务
err = client.DeleteServices(services)
if err != nil {
t.Fatalf("delete services fail: %s", err.Error())
}
t.Log("delete services success")
// 删除命名空间
err = client.DeleteNamespaces(namespaces)
if err != nil {
t.Fatalf("delete namespaces fail: %s", err.Error())
}
t.Log("delete namespaces success")
}