@@ -17,19 +17,23 @@ package apitests
17
17
18
18
import (
19
19
"context"
20
+ "crypto/rand"
20
21
"fmt"
21
- "math/rand"
22
+ "math"
23
+ "math/big"
22
24
"reflect"
23
25
"testing"
24
26
25
27
"github.com/stretchr/testify/assert"
26
28
"github.com/stretchr/testify/require"
27
29
"google.golang.org/grpc/codes"
28
30
29
- "github.com/percona/pmm/api/inventorypb/json/client"
31
+ inventoryClient "github.com/percona/pmm/api/inventorypb/json/client"
30
32
"github.com/percona/pmm/api/inventorypb/json/client/agents"
31
33
"github.com/percona/pmm/api/inventorypb/json/client/nodes"
32
34
"github.com/percona/pmm/api/inventorypb/json/client/services"
35
+ "github.com/percona/pmm/api/managementpb/json/client"
36
+ "github.com/percona/pmm/api/managementpb/json/client/node"
33
37
)
34
38
35
39
// ErrorResponse represents the response structure for error scenarios.
@@ -49,7 +53,10 @@ type TestingT interface {
49
53
func TestString (t TestingT , name string ) string {
50
54
t .Helper ()
51
55
52
- n := rand .Int () //nolint:gosec
56
+ // Without proper seed parallel tests can generate same "random" number.
57
+ n , err := rand .Int (rand .Reader , big .NewInt (math .MaxInt32 ))
58
+ require .NoError (t , err )
59
+
53
60
return fmt .Sprintf ("pmm-api-tests/%s/%s/%s/%d" , Hostname , t .Name (), name , n )
54
61
}
55
62
@@ -130,6 +137,26 @@ func (tt *expectedFailureTestingT) Check() {
130
137
tt .t .Fatalf ("%s expected to fail, but didn't: %s" , tt .Name (), tt .link )
131
138
}
132
139
140
+ // UnregisterNodes unregister specified nodes.
141
+ func UnregisterNodes (t TestingT , nodeIDs ... string ) {
142
+ t .Helper ()
143
+
144
+ for _ , nodeID := range nodeIDs {
145
+ params := & node.UnregisterNodeParams {
146
+ Body : node.UnregisterNodeBody {
147
+ NodeID : nodeID ,
148
+ },
149
+ Context : context .Background (),
150
+ }
151
+
152
+ res , err := client .Default .Node .UnregisterNode (params )
153
+ require .NoError (t , err )
154
+ assert .NotNil (t , res )
155
+ assert .NotNil (t , res .Payload )
156
+ assert .Empty (t , res .Payload .Warning )
157
+ }
158
+ }
159
+
133
160
// RemoveNodes removes specified nodes.
134
161
func RemoveNodes (t TestingT , nodeIDs ... string ) {
135
162
t .Helper ()
@@ -141,7 +168,7 @@ func RemoveNodes(t TestingT, nodeIDs ...string) {
141
168
},
142
169
Context : context .Background (),
143
170
}
144
- res , err := client .Default .Nodes .RemoveNode (params )
171
+ res , err := inventoryClient .Default .Nodes .RemoveNode (params )
145
172
assert .NoError (t , err )
146
173
assert .NotNil (t , res )
147
174
}
@@ -159,7 +186,7 @@ func RemoveServices(t TestingT, serviceIDs ...string) {
159
186
},
160
187
Context : context .Background (),
161
188
}
162
- res , err := client .Default .Services .RemoveService (params )
189
+ res , err := inventoryClient .Default .Services .RemoveService (params )
163
190
assert .NoError (t , err )
164
191
assert .NotNil (t , res )
165
192
}
@@ -176,7 +203,7 @@ func RemoveAgents(t TestingT, agentIDs ...string) {
176
203
},
177
204
Context : context .Background (),
178
205
}
179
- res , err := client .Default .Agents .RemoveAgent (params )
206
+ res , err := inventoryClient .Default .Agents .RemoveAgent (params )
180
207
assert .NoError (t , err )
181
208
assert .NotNil (t , res )
182
209
}
@@ -193,7 +220,7 @@ func AddGenericNode(t TestingT, nodeName string) *nodes.AddGenericNodeOKBodyGene
193
220
},
194
221
Context : Context ,
195
222
}
196
- res , err := client .Default .Nodes .AddGenericNode (params )
223
+ res , err := inventoryClient .Default .Nodes .AddGenericNode (params )
197
224
assert .NoError (t , err )
198
225
require .NotNil (t , res )
199
226
require .NotNil (t , res .Payload )
@@ -212,7 +239,7 @@ func AddRemoteNode(t TestingT, nodeName string) *nodes.AddRemoteNodeOKBody {
212
239
},
213
240
Context : Context ,
214
241
}
215
- res , err := client .Default .Nodes .AddRemoteNode (params )
242
+ res , err := inventoryClient .Default .Nodes .AddRemoteNode (params )
216
243
assert .NoError (t , err )
217
244
require .NotNil (t , res )
218
245
return res .Payload
@@ -227,7 +254,7 @@ func AddNode(t TestingT, nodeBody *nodes.AddNodeBody) *nodes.AddNodeOKBody {
227
254
Context : Context ,
228
255
}
229
256
230
- res , err := client .Default .Nodes .AddNode (params )
257
+ res , err := inventoryClient .Default .Nodes .AddNode (params )
231
258
assert .NoError (t , err )
232
259
require .NotNil (t , res )
233
260
@@ -238,7 +265,7 @@ func AddNode(t TestingT, nodeBody *nodes.AddNodeBody) *nodes.AddNodeOKBody {
238
265
func AddPMMAgent (t TestingT , nodeID string ) * agents.AddPMMAgentOKBody {
239
266
t .Helper ()
240
267
241
- res , err := client .Default .Agents .AddPMMAgent (& agents.AddPMMAgentParams {
268
+ res , err := inventoryClient .Default .Agents .AddPMMAgent (& agents.AddPMMAgentParams {
242
269
Body : agents.AddPMMAgentBody {
243
270
RunsOnNodeID : nodeID ,
244
271
},
0 commit comments