1// Copyright 2019 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by gapic-generator. DO NOT EDIT.
16
17package iot
18
19import (
20	"context"
21	"flag"
22	"fmt"
23	"io"
24	"log"
25	"net"
26	"os"
27	"strings"
28	"testing"
29
30	"github.com/golang/protobuf/proto"
31	"github.com/golang/protobuf/ptypes"
32	emptypb "github.com/golang/protobuf/ptypes/empty"
33	"google.golang.org/api/option"
34	iotpb "google.golang.org/genproto/googleapis/cloud/iot/v1"
35	iampb "google.golang.org/genproto/googleapis/iam/v1"
36	field_maskpb "google.golang.org/genproto/protobuf/field_mask"
37
38	status "google.golang.org/genproto/googleapis/rpc/status"
39	"google.golang.org/grpc"
40	"google.golang.org/grpc/codes"
41	"google.golang.org/grpc/metadata"
42
43	gstatus "google.golang.org/grpc/status"
44)
45
46var _ = io.EOF
47var _ = ptypes.MarshalAny
48var _ status.Status
49
50type mockDeviceManagerServer struct {
51	// Embed for forward compatibility.
52	// Tests will keep working if more methods are added
53	// in the future.
54	iotpb.DeviceManagerServer
55
56	reqs []proto.Message
57
58	// If set, all calls return this error.
59	err error
60
61	// responses to return if err == nil
62	resps []proto.Message
63}
64
65func (s *mockDeviceManagerServer) CreateDeviceRegistry(ctx context.Context, req *iotpb.CreateDeviceRegistryRequest) (*iotpb.DeviceRegistry, error) {
66	md, _ := metadata.FromIncomingContext(ctx)
67	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
68		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
69	}
70	s.reqs = append(s.reqs, req)
71	if s.err != nil {
72		return nil, s.err
73	}
74	return s.resps[0].(*iotpb.DeviceRegistry), nil
75}
76
77func (s *mockDeviceManagerServer) GetDeviceRegistry(ctx context.Context, req *iotpb.GetDeviceRegistryRequest) (*iotpb.DeviceRegistry, error) {
78	md, _ := metadata.FromIncomingContext(ctx)
79	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
80		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
81	}
82	s.reqs = append(s.reqs, req)
83	if s.err != nil {
84		return nil, s.err
85	}
86	return s.resps[0].(*iotpb.DeviceRegistry), nil
87}
88
89func (s *mockDeviceManagerServer) UpdateDeviceRegistry(ctx context.Context, req *iotpb.UpdateDeviceRegistryRequest) (*iotpb.DeviceRegistry, error) {
90	md, _ := metadata.FromIncomingContext(ctx)
91	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
92		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
93	}
94	s.reqs = append(s.reqs, req)
95	if s.err != nil {
96		return nil, s.err
97	}
98	return s.resps[0].(*iotpb.DeviceRegistry), nil
99}
100
101func (s *mockDeviceManagerServer) DeleteDeviceRegistry(ctx context.Context, req *iotpb.DeleteDeviceRegistryRequest) (*emptypb.Empty, error) {
102	md, _ := metadata.FromIncomingContext(ctx)
103	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
104		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
105	}
106	s.reqs = append(s.reqs, req)
107	if s.err != nil {
108		return nil, s.err
109	}
110	return s.resps[0].(*emptypb.Empty), nil
111}
112
113func (s *mockDeviceManagerServer) ListDeviceRegistries(ctx context.Context, req *iotpb.ListDeviceRegistriesRequest) (*iotpb.ListDeviceRegistriesResponse, error) {
114	md, _ := metadata.FromIncomingContext(ctx)
115	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
116		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
117	}
118	s.reqs = append(s.reqs, req)
119	if s.err != nil {
120		return nil, s.err
121	}
122	return s.resps[0].(*iotpb.ListDeviceRegistriesResponse), nil
123}
124
125func (s *mockDeviceManagerServer) CreateDevice(ctx context.Context, req *iotpb.CreateDeviceRequest) (*iotpb.Device, error) {
126	md, _ := metadata.FromIncomingContext(ctx)
127	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
128		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
129	}
130	s.reqs = append(s.reqs, req)
131	if s.err != nil {
132		return nil, s.err
133	}
134	return s.resps[0].(*iotpb.Device), nil
135}
136
137func (s *mockDeviceManagerServer) GetDevice(ctx context.Context, req *iotpb.GetDeviceRequest) (*iotpb.Device, error) {
138	md, _ := metadata.FromIncomingContext(ctx)
139	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
140		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
141	}
142	s.reqs = append(s.reqs, req)
143	if s.err != nil {
144		return nil, s.err
145	}
146	return s.resps[0].(*iotpb.Device), nil
147}
148
149func (s *mockDeviceManagerServer) UpdateDevice(ctx context.Context, req *iotpb.UpdateDeviceRequest) (*iotpb.Device, error) {
150	md, _ := metadata.FromIncomingContext(ctx)
151	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
152		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
153	}
154	s.reqs = append(s.reqs, req)
155	if s.err != nil {
156		return nil, s.err
157	}
158	return s.resps[0].(*iotpb.Device), nil
159}
160
161func (s *mockDeviceManagerServer) DeleteDevice(ctx context.Context, req *iotpb.DeleteDeviceRequest) (*emptypb.Empty, error) {
162	md, _ := metadata.FromIncomingContext(ctx)
163	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
164		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
165	}
166	s.reqs = append(s.reqs, req)
167	if s.err != nil {
168		return nil, s.err
169	}
170	return s.resps[0].(*emptypb.Empty), nil
171}
172
173func (s *mockDeviceManagerServer) ListDevices(ctx context.Context, req *iotpb.ListDevicesRequest) (*iotpb.ListDevicesResponse, error) {
174	md, _ := metadata.FromIncomingContext(ctx)
175	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
176		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
177	}
178	s.reqs = append(s.reqs, req)
179	if s.err != nil {
180		return nil, s.err
181	}
182	return s.resps[0].(*iotpb.ListDevicesResponse), nil
183}
184
185func (s *mockDeviceManagerServer) ModifyCloudToDeviceConfig(ctx context.Context, req *iotpb.ModifyCloudToDeviceConfigRequest) (*iotpb.DeviceConfig, error) {
186	md, _ := metadata.FromIncomingContext(ctx)
187	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
188		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
189	}
190	s.reqs = append(s.reqs, req)
191	if s.err != nil {
192		return nil, s.err
193	}
194	return s.resps[0].(*iotpb.DeviceConfig), nil
195}
196
197func (s *mockDeviceManagerServer) ListDeviceConfigVersions(ctx context.Context, req *iotpb.ListDeviceConfigVersionsRequest) (*iotpb.ListDeviceConfigVersionsResponse, error) {
198	md, _ := metadata.FromIncomingContext(ctx)
199	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
200		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
201	}
202	s.reqs = append(s.reqs, req)
203	if s.err != nil {
204		return nil, s.err
205	}
206	return s.resps[0].(*iotpb.ListDeviceConfigVersionsResponse), nil
207}
208
209func (s *mockDeviceManagerServer) ListDeviceStates(ctx context.Context, req *iotpb.ListDeviceStatesRequest) (*iotpb.ListDeviceStatesResponse, error) {
210	md, _ := metadata.FromIncomingContext(ctx)
211	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
212		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
213	}
214	s.reqs = append(s.reqs, req)
215	if s.err != nil {
216		return nil, s.err
217	}
218	return s.resps[0].(*iotpb.ListDeviceStatesResponse), nil
219}
220
221func (s *mockDeviceManagerServer) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest) (*iampb.Policy, error) {
222	md, _ := metadata.FromIncomingContext(ctx)
223	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
224		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
225	}
226	s.reqs = append(s.reqs, req)
227	if s.err != nil {
228		return nil, s.err
229	}
230	return s.resps[0].(*iampb.Policy), nil
231}
232
233func (s *mockDeviceManagerServer) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest) (*iampb.Policy, error) {
234	md, _ := metadata.FromIncomingContext(ctx)
235	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
236		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
237	}
238	s.reqs = append(s.reqs, req)
239	if s.err != nil {
240		return nil, s.err
241	}
242	return s.resps[0].(*iampb.Policy), nil
243}
244
245func (s *mockDeviceManagerServer) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error) {
246	md, _ := metadata.FromIncomingContext(ctx)
247	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
248		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
249	}
250	s.reqs = append(s.reqs, req)
251	if s.err != nil {
252		return nil, s.err
253	}
254	return s.resps[0].(*iampb.TestIamPermissionsResponse), nil
255}
256
257func (s *mockDeviceManagerServer) SendCommandToDevice(ctx context.Context, req *iotpb.SendCommandToDeviceRequest) (*iotpb.SendCommandToDeviceResponse, error) {
258	md, _ := metadata.FromIncomingContext(ctx)
259	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
260		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
261	}
262	s.reqs = append(s.reqs, req)
263	if s.err != nil {
264		return nil, s.err
265	}
266	return s.resps[0].(*iotpb.SendCommandToDeviceResponse), nil
267}
268
269func (s *mockDeviceManagerServer) BindDeviceToGateway(ctx context.Context, req *iotpb.BindDeviceToGatewayRequest) (*iotpb.BindDeviceToGatewayResponse, error) {
270	md, _ := metadata.FromIncomingContext(ctx)
271	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
272		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
273	}
274	s.reqs = append(s.reqs, req)
275	if s.err != nil {
276		return nil, s.err
277	}
278	return s.resps[0].(*iotpb.BindDeviceToGatewayResponse), nil
279}
280
281func (s *mockDeviceManagerServer) UnbindDeviceFromGateway(ctx context.Context, req *iotpb.UnbindDeviceFromGatewayRequest) (*iotpb.UnbindDeviceFromGatewayResponse, error) {
282	md, _ := metadata.FromIncomingContext(ctx)
283	if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
284		return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
285	}
286	s.reqs = append(s.reqs, req)
287	if s.err != nil {
288		return nil, s.err
289	}
290	return s.resps[0].(*iotpb.UnbindDeviceFromGatewayResponse), nil
291}
292
293// clientOpt is the option tests should use to connect to the test server.
294// It is initialized by TestMain.
295var clientOpt option.ClientOption
296
297var (
298	mockDeviceManager mockDeviceManagerServer
299)
300
301func TestMain(m *testing.M) {
302	flag.Parse()
303
304	serv := grpc.NewServer()
305	iotpb.RegisterDeviceManagerServer(serv, &mockDeviceManager)
306
307	lis, err := net.Listen("tcp", "localhost:0")
308	if err != nil {
309		log.Fatal(err)
310	}
311	go serv.Serve(lis)
312
313	conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure())
314	if err != nil {
315		log.Fatal(err)
316	}
317	clientOpt = option.WithGRPCConn(conn)
318
319	os.Exit(m.Run())
320}
321
322func TestDeviceManagerCreateDeviceRegistry(t *testing.T) {
323	var id string = "id3355"
324	var name string = "name3373707"
325	var expectedResponse = &iotpb.DeviceRegistry{
326		Id:   id,
327		Name: name,
328	}
329
330	mockDeviceManager.err = nil
331	mockDeviceManager.reqs = nil
332
333	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
334
335	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
336	var deviceRegistry *iotpb.DeviceRegistry = &iotpb.DeviceRegistry{}
337	var request = &iotpb.CreateDeviceRegistryRequest{
338		Parent:         formattedParent,
339		DeviceRegistry: deviceRegistry,
340	}
341
342	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
343	if err != nil {
344		t.Fatal(err)
345	}
346
347	resp, err := c.CreateDeviceRegistry(context.Background(), request)
348
349	if err != nil {
350		t.Fatal(err)
351	}
352
353	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
354		t.Errorf("wrong request %q, want %q", got, want)
355	}
356
357	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
358		t.Errorf("wrong response %q, want %q)", got, want)
359	}
360}
361
362func TestDeviceManagerCreateDeviceRegistryError(t *testing.T) {
363	errCode := codes.PermissionDenied
364	mockDeviceManager.err = gstatus.Error(errCode, "test error")
365
366	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
367	var deviceRegistry *iotpb.DeviceRegistry = &iotpb.DeviceRegistry{}
368	var request = &iotpb.CreateDeviceRegistryRequest{
369		Parent:         formattedParent,
370		DeviceRegistry: deviceRegistry,
371	}
372
373	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
374	if err != nil {
375		t.Fatal(err)
376	}
377
378	resp, err := c.CreateDeviceRegistry(context.Background(), request)
379
380	if st, ok := gstatus.FromError(err); !ok {
381		t.Errorf("got error %v, expected grpc error", err)
382	} else if c := st.Code(); c != errCode {
383		t.Errorf("got error code %q, want %q", c, errCode)
384	}
385	_ = resp
386}
387func TestDeviceManagerGetDeviceRegistry(t *testing.T) {
388	var id string = "id3355"
389	var name2 string = "name2-1052831874"
390	var expectedResponse = &iotpb.DeviceRegistry{
391		Id:   id,
392		Name: name2,
393	}
394
395	mockDeviceManager.err = nil
396	mockDeviceManager.reqs = nil
397
398	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
399
400	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
401	var request = &iotpb.GetDeviceRegistryRequest{
402		Name: formattedName,
403	}
404
405	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
406	if err != nil {
407		t.Fatal(err)
408	}
409
410	resp, err := c.GetDeviceRegistry(context.Background(), request)
411
412	if err != nil {
413		t.Fatal(err)
414	}
415
416	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
417		t.Errorf("wrong request %q, want %q", got, want)
418	}
419
420	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
421		t.Errorf("wrong response %q, want %q)", got, want)
422	}
423}
424
425func TestDeviceManagerGetDeviceRegistryError(t *testing.T) {
426	errCode := codes.PermissionDenied
427	mockDeviceManager.err = gstatus.Error(errCode, "test error")
428
429	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
430	var request = &iotpb.GetDeviceRegistryRequest{
431		Name: formattedName,
432	}
433
434	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
435	if err != nil {
436		t.Fatal(err)
437	}
438
439	resp, err := c.GetDeviceRegistry(context.Background(), request)
440
441	if st, ok := gstatus.FromError(err); !ok {
442		t.Errorf("got error %v, expected grpc error", err)
443	} else if c := st.Code(); c != errCode {
444		t.Errorf("got error code %q, want %q", c, errCode)
445	}
446	_ = resp
447}
448func TestDeviceManagerUpdateDeviceRegistry(t *testing.T) {
449	var id string = "id3355"
450	var name string = "name3373707"
451	var expectedResponse = &iotpb.DeviceRegistry{
452		Id:   id,
453		Name: name,
454	}
455
456	mockDeviceManager.err = nil
457	mockDeviceManager.reqs = nil
458
459	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
460
461	var deviceRegistry *iotpb.DeviceRegistry = &iotpb.DeviceRegistry{}
462	var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
463	var request = &iotpb.UpdateDeviceRegistryRequest{
464		DeviceRegistry: deviceRegistry,
465		UpdateMask:     updateMask,
466	}
467
468	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
469	if err != nil {
470		t.Fatal(err)
471	}
472
473	resp, err := c.UpdateDeviceRegistry(context.Background(), request)
474
475	if err != nil {
476		t.Fatal(err)
477	}
478
479	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
480		t.Errorf("wrong request %q, want %q", got, want)
481	}
482
483	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
484		t.Errorf("wrong response %q, want %q)", got, want)
485	}
486}
487
488func TestDeviceManagerUpdateDeviceRegistryError(t *testing.T) {
489	errCode := codes.PermissionDenied
490	mockDeviceManager.err = gstatus.Error(errCode, "test error")
491
492	var deviceRegistry *iotpb.DeviceRegistry = &iotpb.DeviceRegistry{}
493	var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
494	var request = &iotpb.UpdateDeviceRegistryRequest{
495		DeviceRegistry: deviceRegistry,
496		UpdateMask:     updateMask,
497	}
498
499	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
500	if err != nil {
501		t.Fatal(err)
502	}
503
504	resp, err := c.UpdateDeviceRegistry(context.Background(), request)
505
506	if st, ok := gstatus.FromError(err); !ok {
507		t.Errorf("got error %v, expected grpc error", err)
508	} else if c := st.Code(); c != errCode {
509		t.Errorf("got error code %q, want %q", c, errCode)
510	}
511	_ = resp
512}
513func TestDeviceManagerDeleteDeviceRegistry(t *testing.T) {
514	var expectedResponse *emptypb.Empty = &emptypb.Empty{}
515
516	mockDeviceManager.err = nil
517	mockDeviceManager.reqs = nil
518
519	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
520
521	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
522	var request = &iotpb.DeleteDeviceRegistryRequest{
523		Name: formattedName,
524	}
525
526	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
527	if err != nil {
528		t.Fatal(err)
529	}
530
531	err = c.DeleteDeviceRegistry(context.Background(), request)
532
533	if err != nil {
534		t.Fatal(err)
535	}
536
537	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
538		t.Errorf("wrong request %q, want %q", got, want)
539	}
540
541}
542
543func TestDeviceManagerDeleteDeviceRegistryError(t *testing.T) {
544	errCode := codes.PermissionDenied
545	mockDeviceManager.err = gstatus.Error(errCode, "test error")
546
547	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
548	var request = &iotpb.DeleteDeviceRegistryRequest{
549		Name: formattedName,
550	}
551
552	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
553	if err != nil {
554		t.Fatal(err)
555	}
556
557	err = c.DeleteDeviceRegistry(context.Background(), request)
558
559	if st, ok := gstatus.FromError(err); !ok {
560		t.Errorf("got error %v, expected grpc error", err)
561	} else if c := st.Code(); c != errCode {
562		t.Errorf("got error code %q, want %q", c, errCode)
563	}
564}
565func TestDeviceManagerListDeviceRegistries(t *testing.T) {
566	var nextPageToken string = ""
567	var deviceRegistriesElement *iotpb.DeviceRegistry = &iotpb.DeviceRegistry{}
568	var deviceRegistries = []*iotpb.DeviceRegistry{deviceRegistriesElement}
569	var expectedResponse = &iotpb.ListDeviceRegistriesResponse{
570		NextPageToken:    nextPageToken,
571		DeviceRegistries: deviceRegistries,
572	}
573
574	mockDeviceManager.err = nil
575	mockDeviceManager.reqs = nil
576
577	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
578
579	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
580	var request = &iotpb.ListDeviceRegistriesRequest{
581		Parent: formattedParent,
582	}
583
584	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
585	if err != nil {
586		t.Fatal(err)
587	}
588
589	resp, err := c.ListDeviceRegistries(context.Background(), request).Next()
590
591	if err != nil {
592		t.Fatal(err)
593	}
594
595	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
596		t.Errorf("wrong request %q, want %q", got, want)
597	}
598
599	want := (interface{})(expectedResponse.DeviceRegistries[0])
600	got := (interface{})(resp)
601	var ok bool
602
603	switch want := (want).(type) {
604	case proto.Message:
605		ok = proto.Equal(want, got.(proto.Message))
606	default:
607		ok = want == got
608	}
609	if !ok {
610		t.Errorf("wrong response %q, want %q)", got, want)
611	}
612}
613
614func TestDeviceManagerListDeviceRegistriesError(t *testing.T) {
615	errCode := codes.PermissionDenied
616	mockDeviceManager.err = gstatus.Error(errCode, "test error")
617
618	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
619	var request = &iotpb.ListDeviceRegistriesRequest{
620		Parent: formattedParent,
621	}
622
623	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
624	if err != nil {
625		t.Fatal(err)
626	}
627
628	resp, err := c.ListDeviceRegistries(context.Background(), request).Next()
629
630	if st, ok := gstatus.FromError(err); !ok {
631		t.Errorf("got error %v, expected grpc error", err)
632	} else if c := st.Code(); c != errCode {
633		t.Errorf("got error code %q, want %q", c, errCode)
634	}
635	_ = resp
636}
637func TestDeviceManagerCreateDevice(t *testing.T) {
638	var id string = "id3355"
639	var name string = "name3373707"
640	var numId uint64 = 1034366860
641	var blocked bool = true
642	var expectedResponse = &iotpb.Device{
643		Id:      id,
644		Name:    name,
645		NumId:   numId,
646		Blocked: blocked,
647	}
648
649	mockDeviceManager.err = nil
650	mockDeviceManager.reqs = nil
651
652	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
653
654	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
655	var device *iotpb.Device = &iotpb.Device{}
656	var request = &iotpb.CreateDeviceRequest{
657		Parent: formattedParent,
658		Device: device,
659	}
660
661	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
662	if err != nil {
663		t.Fatal(err)
664	}
665
666	resp, err := c.CreateDevice(context.Background(), request)
667
668	if err != nil {
669		t.Fatal(err)
670	}
671
672	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
673		t.Errorf("wrong request %q, want %q", got, want)
674	}
675
676	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
677		t.Errorf("wrong response %q, want %q)", got, want)
678	}
679}
680
681func TestDeviceManagerCreateDeviceError(t *testing.T) {
682	errCode := codes.PermissionDenied
683	mockDeviceManager.err = gstatus.Error(errCode, "test error")
684
685	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
686	var device *iotpb.Device = &iotpb.Device{}
687	var request = &iotpb.CreateDeviceRequest{
688		Parent: formattedParent,
689		Device: device,
690	}
691
692	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
693	if err != nil {
694		t.Fatal(err)
695	}
696
697	resp, err := c.CreateDevice(context.Background(), request)
698
699	if st, ok := gstatus.FromError(err); !ok {
700		t.Errorf("got error %v, expected grpc error", err)
701	} else if c := st.Code(); c != errCode {
702		t.Errorf("got error code %q, want %q", c, errCode)
703	}
704	_ = resp
705}
706func TestDeviceManagerGetDevice(t *testing.T) {
707	var id string = "id3355"
708	var name2 string = "name2-1052831874"
709	var numId uint64 = 1034366860
710	var blocked bool = true
711	var expectedResponse = &iotpb.Device{
712		Id:      id,
713		Name:    name2,
714		NumId:   numId,
715		Blocked: blocked,
716	}
717
718	mockDeviceManager.err = nil
719	mockDeviceManager.reqs = nil
720
721	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
722
723	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
724	var request = &iotpb.GetDeviceRequest{
725		Name: formattedName,
726	}
727
728	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
729	if err != nil {
730		t.Fatal(err)
731	}
732
733	resp, err := c.GetDevice(context.Background(), request)
734
735	if err != nil {
736		t.Fatal(err)
737	}
738
739	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
740		t.Errorf("wrong request %q, want %q", got, want)
741	}
742
743	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
744		t.Errorf("wrong response %q, want %q)", got, want)
745	}
746}
747
748func TestDeviceManagerGetDeviceError(t *testing.T) {
749	errCode := codes.PermissionDenied
750	mockDeviceManager.err = gstatus.Error(errCode, "test error")
751
752	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
753	var request = &iotpb.GetDeviceRequest{
754		Name: formattedName,
755	}
756
757	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
758	if err != nil {
759		t.Fatal(err)
760	}
761
762	resp, err := c.GetDevice(context.Background(), request)
763
764	if st, ok := gstatus.FromError(err); !ok {
765		t.Errorf("got error %v, expected grpc error", err)
766	} else if c := st.Code(); c != errCode {
767		t.Errorf("got error code %q, want %q", c, errCode)
768	}
769	_ = resp
770}
771func TestDeviceManagerUpdateDevice(t *testing.T) {
772	var id string = "id3355"
773	var name string = "name3373707"
774	var numId uint64 = 1034366860
775	var blocked bool = true
776	var expectedResponse = &iotpb.Device{
777		Id:      id,
778		Name:    name,
779		NumId:   numId,
780		Blocked: blocked,
781	}
782
783	mockDeviceManager.err = nil
784	mockDeviceManager.reqs = nil
785
786	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
787
788	var device *iotpb.Device = &iotpb.Device{}
789	var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
790	var request = &iotpb.UpdateDeviceRequest{
791		Device:     device,
792		UpdateMask: updateMask,
793	}
794
795	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
796	if err != nil {
797		t.Fatal(err)
798	}
799
800	resp, err := c.UpdateDevice(context.Background(), request)
801
802	if err != nil {
803		t.Fatal(err)
804	}
805
806	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
807		t.Errorf("wrong request %q, want %q", got, want)
808	}
809
810	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
811		t.Errorf("wrong response %q, want %q)", got, want)
812	}
813}
814
815func TestDeviceManagerUpdateDeviceError(t *testing.T) {
816	errCode := codes.PermissionDenied
817	mockDeviceManager.err = gstatus.Error(errCode, "test error")
818
819	var device *iotpb.Device = &iotpb.Device{}
820	var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
821	var request = &iotpb.UpdateDeviceRequest{
822		Device:     device,
823		UpdateMask: updateMask,
824	}
825
826	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
827	if err != nil {
828		t.Fatal(err)
829	}
830
831	resp, err := c.UpdateDevice(context.Background(), request)
832
833	if st, ok := gstatus.FromError(err); !ok {
834		t.Errorf("got error %v, expected grpc error", err)
835	} else if c := st.Code(); c != errCode {
836		t.Errorf("got error code %q, want %q", c, errCode)
837	}
838	_ = resp
839}
840func TestDeviceManagerDeleteDevice(t *testing.T) {
841	var expectedResponse *emptypb.Empty = &emptypb.Empty{}
842
843	mockDeviceManager.err = nil
844	mockDeviceManager.reqs = nil
845
846	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
847
848	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
849	var request = &iotpb.DeleteDeviceRequest{
850		Name: formattedName,
851	}
852
853	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
854	if err != nil {
855		t.Fatal(err)
856	}
857
858	err = c.DeleteDevice(context.Background(), request)
859
860	if err != nil {
861		t.Fatal(err)
862	}
863
864	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
865		t.Errorf("wrong request %q, want %q", got, want)
866	}
867
868}
869
870func TestDeviceManagerDeleteDeviceError(t *testing.T) {
871	errCode := codes.PermissionDenied
872	mockDeviceManager.err = gstatus.Error(errCode, "test error")
873
874	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
875	var request = &iotpb.DeleteDeviceRequest{
876		Name: formattedName,
877	}
878
879	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
880	if err != nil {
881		t.Fatal(err)
882	}
883
884	err = c.DeleteDevice(context.Background(), request)
885
886	if st, ok := gstatus.FromError(err); !ok {
887		t.Errorf("got error %v, expected grpc error", err)
888	} else if c := st.Code(); c != errCode {
889		t.Errorf("got error code %q, want %q", c, errCode)
890	}
891}
892func TestDeviceManagerListDevices(t *testing.T) {
893	var nextPageToken string = ""
894	var devicesElement *iotpb.Device = &iotpb.Device{}
895	var devices = []*iotpb.Device{devicesElement}
896	var expectedResponse = &iotpb.ListDevicesResponse{
897		NextPageToken: nextPageToken,
898		Devices:       devices,
899	}
900
901	mockDeviceManager.err = nil
902	mockDeviceManager.reqs = nil
903
904	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
905
906	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
907	var request = &iotpb.ListDevicesRequest{
908		Parent: formattedParent,
909	}
910
911	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
912	if err != nil {
913		t.Fatal(err)
914	}
915
916	resp, err := c.ListDevices(context.Background(), request).Next()
917
918	if err != nil {
919		t.Fatal(err)
920	}
921
922	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
923		t.Errorf("wrong request %q, want %q", got, want)
924	}
925
926	want := (interface{})(expectedResponse.Devices[0])
927	got := (interface{})(resp)
928	var ok bool
929
930	switch want := (want).(type) {
931	case proto.Message:
932		ok = proto.Equal(want, got.(proto.Message))
933	default:
934		ok = want == got
935	}
936	if !ok {
937		t.Errorf("wrong response %q, want %q)", got, want)
938	}
939}
940
941func TestDeviceManagerListDevicesError(t *testing.T) {
942	errCode := codes.PermissionDenied
943	mockDeviceManager.err = gstatus.Error(errCode, "test error")
944
945	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
946	var request = &iotpb.ListDevicesRequest{
947		Parent: formattedParent,
948	}
949
950	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
951	if err != nil {
952		t.Fatal(err)
953	}
954
955	resp, err := c.ListDevices(context.Background(), request).Next()
956
957	if st, ok := gstatus.FromError(err); !ok {
958		t.Errorf("got error %v, expected grpc error", err)
959	} else if c := st.Code(); c != errCode {
960		t.Errorf("got error code %q, want %q", c, errCode)
961	}
962	_ = resp
963}
964func TestDeviceManagerModifyCloudToDeviceConfig(t *testing.T) {
965	var version int64 = 351608024
966	var binaryData2 []byte = []byte("-37")
967	var expectedResponse = &iotpb.DeviceConfig{
968		Version:    version,
969		BinaryData: binaryData2,
970	}
971
972	mockDeviceManager.err = nil
973	mockDeviceManager.reqs = nil
974
975	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
976
977	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
978	var binaryData []byte = []byte("40")
979	var request = &iotpb.ModifyCloudToDeviceConfigRequest{
980		Name:       formattedName,
981		BinaryData: binaryData,
982	}
983
984	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
985	if err != nil {
986		t.Fatal(err)
987	}
988
989	resp, err := c.ModifyCloudToDeviceConfig(context.Background(), request)
990
991	if err != nil {
992		t.Fatal(err)
993	}
994
995	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
996		t.Errorf("wrong request %q, want %q", got, want)
997	}
998
999	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
1000		t.Errorf("wrong response %q, want %q)", got, want)
1001	}
1002}
1003
1004func TestDeviceManagerModifyCloudToDeviceConfigError(t *testing.T) {
1005	errCode := codes.PermissionDenied
1006	mockDeviceManager.err = gstatus.Error(errCode, "test error")
1007
1008	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
1009	var binaryData []byte = []byte("40")
1010	var request = &iotpb.ModifyCloudToDeviceConfigRequest{
1011		Name:       formattedName,
1012		BinaryData: binaryData,
1013	}
1014
1015	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1016	if err != nil {
1017		t.Fatal(err)
1018	}
1019
1020	resp, err := c.ModifyCloudToDeviceConfig(context.Background(), request)
1021
1022	if st, ok := gstatus.FromError(err); !ok {
1023		t.Errorf("got error %v, expected grpc error", err)
1024	} else if c := st.Code(); c != errCode {
1025		t.Errorf("got error code %q, want %q", c, errCode)
1026	}
1027	_ = resp
1028}
1029func TestDeviceManagerListDeviceConfigVersions(t *testing.T) {
1030	var expectedResponse *iotpb.ListDeviceConfigVersionsResponse = &iotpb.ListDeviceConfigVersionsResponse{}
1031
1032	mockDeviceManager.err = nil
1033	mockDeviceManager.reqs = nil
1034
1035	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
1036
1037	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
1038	var request = &iotpb.ListDeviceConfigVersionsRequest{
1039		Name: formattedName,
1040	}
1041
1042	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1043	if err != nil {
1044		t.Fatal(err)
1045	}
1046
1047	resp, err := c.ListDeviceConfigVersions(context.Background(), request)
1048
1049	if err != nil {
1050		t.Fatal(err)
1051	}
1052
1053	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
1054		t.Errorf("wrong request %q, want %q", got, want)
1055	}
1056
1057	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
1058		t.Errorf("wrong response %q, want %q)", got, want)
1059	}
1060}
1061
1062func TestDeviceManagerListDeviceConfigVersionsError(t *testing.T) {
1063	errCode := codes.PermissionDenied
1064	mockDeviceManager.err = gstatus.Error(errCode, "test error")
1065
1066	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
1067	var request = &iotpb.ListDeviceConfigVersionsRequest{
1068		Name: formattedName,
1069	}
1070
1071	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1072	if err != nil {
1073		t.Fatal(err)
1074	}
1075
1076	resp, err := c.ListDeviceConfigVersions(context.Background(), request)
1077
1078	if st, ok := gstatus.FromError(err); !ok {
1079		t.Errorf("got error %v, expected grpc error", err)
1080	} else if c := st.Code(); c != errCode {
1081		t.Errorf("got error code %q, want %q", c, errCode)
1082	}
1083	_ = resp
1084}
1085func TestDeviceManagerListDeviceStates(t *testing.T) {
1086	var expectedResponse *iotpb.ListDeviceStatesResponse = &iotpb.ListDeviceStatesResponse{}
1087
1088	mockDeviceManager.err = nil
1089	mockDeviceManager.reqs = nil
1090
1091	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
1092
1093	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
1094	var request = &iotpb.ListDeviceStatesRequest{
1095		Name: formattedName,
1096	}
1097
1098	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1099	if err != nil {
1100		t.Fatal(err)
1101	}
1102
1103	resp, err := c.ListDeviceStates(context.Background(), request)
1104
1105	if err != nil {
1106		t.Fatal(err)
1107	}
1108
1109	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
1110		t.Errorf("wrong request %q, want %q", got, want)
1111	}
1112
1113	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
1114		t.Errorf("wrong response %q, want %q)", got, want)
1115	}
1116}
1117
1118func TestDeviceManagerListDeviceStatesError(t *testing.T) {
1119	errCode := codes.PermissionDenied
1120	mockDeviceManager.err = gstatus.Error(errCode, "test error")
1121
1122	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
1123	var request = &iotpb.ListDeviceStatesRequest{
1124		Name: formattedName,
1125	}
1126
1127	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1128	if err != nil {
1129		t.Fatal(err)
1130	}
1131
1132	resp, err := c.ListDeviceStates(context.Background(), request)
1133
1134	if st, ok := gstatus.FromError(err); !ok {
1135		t.Errorf("got error %v, expected grpc error", err)
1136	} else if c := st.Code(); c != errCode {
1137		t.Errorf("got error code %q, want %q", c, errCode)
1138	}
1139	_ = resp
1140}
1141func TestDeviceManagerSetIamPolicy(t *testing.T) {
1142	var version int32 = 351608024
1143	var etag []byte = []byte("21")
1144	var expectedResponse = &iampb.Policy{
1145		Version: version,
1146		Etag:    etag,
1147	}
1148
1149	mockDeviceManager.err = nil
1150	mockDeviceManager.reqs = nil
1151
1152	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
1153
1154	var resource string = "resource-341064690"
1155	var policy *iampb.Policy = &iampb.Policy{}
1156	var request = &iampb.SetIamPolicyRequest{
1157		Resource: resource,
1158		Policy:   policy,
1159	}
1160
1161	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1162	if err != nil {
1163		t.Fatal(err)
1164	}
1165
1166	resp, err := c.SetIamPolicy(context.Background(), request)
1167
1168	if err != nil {
1169		t.Fatal(err)
1170	}
1171
1172	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
1173		t.Errorf("wrong request %q, want %q", got, want)
1174	}
1175
1176	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
1177		t.Errorf("wrong response %q, want %q)", got, want)
1178	}
1179}
1180
1181func TestDeviceManagerSetIamPolicyError(t *testing.T) {
1182	errCode := codes.PermissionDenied
1183	mockDeviceManager.err = gstatus.Error(errCode, "test error")
1184
1185	var resource string = "resource-341064690"
1186	var policy *iampb.Policy = &iampb.Policy{}
1187	var request = &iampb.SetIamPolicyRequest{
1188		Resource: resource,
1189		Policy:   policy,
1190	}
1191
1192	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1193	if err != nil {
1194		t.Fatal(err)
1195	}
1196
1197	resp, err := c.SetIamPolicy(context.Background(), request)
1198
1199	if st, ok := gstatus.FromError(err); !ok {
1200		t.Errorf("got error %v, expected grpc error", err)
1201	} else if c := st.Code(); c != errCode {
1202		t.Errorf("got error code %q, want %q", c, errCode)
1203	}
1204	_ = resp
1205}
1206func TestDeviceManagerGetIamPolicy(t *testing.T) {
1207	var version int32 = 351608024
1208	var etag []byte = []byte("21")
1209	var expectedResponse = &iampb.Policy{
1210		Version: version,
1211		Etag:    etag,
1212	}
1213
1214	mockDeviceManager.err = nil
1215	mockDeviceManager.reqs = nil
1216
1217	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
1218
1219	var resource string = "resource-341064690"
1220	var request = &iampb.GetIamPolicyRequest{
1221		Resource: resource,
1222	}
1223
1224	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1225	if err != nil {
1226		t.Fatal(err)
1227	}
1228
1229	resp, err := c.GetIamPolicy(context.Background(), request)
1230
1231	if err != nil {
1232		t.Fatal(err)
1233	}
1234
1235	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
1236		t.Errorf("wrong request %q, want %q", got, want)
1237	}
1238
1239	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
1240		t.Errorf("wrong response %q, want %q)", got, want)
1241	}
1242}
1243
1244func TestDeviceManagerGetIamPolicyError(t *testing.T) {
1245	errCode := codes.PermissionDenied
1246	mockDeviceManager.err = gstatus.Error(errCode, "test error")
1247
1248	var resource string = "resource-341064690"
1249	var request = &iampb.GetIamPolicyRequest{
1250		Resource: resource,
1251	}
1252
1253	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1254	if err != nil {
1255		t.Fatal(err)
1256	}
1257
1258	resp, err := c.GetIamPolicy(context.Background(), request)
1259
1260	if st, ok := gstatus.FromError(err); !ok {
1261		t.Errorf("got error %v, expected grpc error", err)
1262	} else if c := st.Code(); c != errCode {
1263		t.Errorf("got error code %q, want %q", c, errCode)
1264	}
1265	_ = resp
1266}
1267func TestDeviceManagerTestIamPermissions(t *testing.T) {
1268	var expectedResponse *iampb.TestIamPermissionsResponse = &iampb.TestIamPermissionsResponse{}
1269
1270	mockDeviceManager.err = nil
1271	mockDeviceManager.reqs = nil
1272
1273	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
1274
1275	var resource string = "resource-341064690"
1276	var permissions []string = nil
1277	var request = &iampb.TestIamPermissionsRequest{
1278		Resource:    resource,
1279		Permissions: permissions,
1280	}
1281
1282	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1283	if err != nil {
1284		t.Fatal(err)
1285	}
1286
1287	resp, err := c.TestIamPermissions(context.Background(), request)
1288
1289	if err != nil {
1290		t.Fatal(err)
1291	}
1292
1293	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
1294		t.Errorf("wrong request %q, want %q", got, want)
1295	}
1296
1297	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
1298		t.Errorf("wrong response %q, want %q)", got, want)
1299	}
1300}
1301
1302func TestDeviceManagerTestIamPermissionsError(t *testing.T) {
1303	errCode := codes.PermissionDenied
1304	mockDeviceManager.err = gstatus.Error(errCode, "test error")
1305
1306	var resource string = "resource-341064690"
1307	var permissions []string = nil
1308	var request = &iampb.TestIamPermissionsRequest{
1309		Resource:    resource,
1310		Permissions: permissions,
1311	}
1312
1313	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1314	if err != nil {
1315		t.Fatal(err)
1316	}
1317
1318	resp, err := c.TestIamPermissions(context.Background(), request)
1319
1320	if st, ok := gstatus.FromError(err); !ok {
1321		t.Errorf("got error %v, expected grpc error", err)
1322	} else if c := st.Code(); c != errCode {
1323		t.Errorf("got error code %q, want %q", c, errCode)
1324	}
1325	_ = resp
1326}
1327func TestDeviceManagerSendCommandToDevice(t *testing.T) {
1328	var expectedResponse *iotpb.SendCommandToDeviceResponse = &iotpb.SendCommandToDeviceResponse{}
1329
1330	mockDeviceManager.err = nil
1331	mockDeviceManager.reqs = nil
1332
1333	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
1334
1335	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
1336	var binaryData []byte = []byte("40")
1337	var request = &iotpb.SendCommandToDeviceRequest{
1338		Name:       formattedName,
1339		BinaryData: binaryData,
1340	}
1341
1342	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1343	if err != nil {
1344		t.Fatal(err)
1345	}
1346
1347	resp, err := c.SendCommandToDevice(context.Background(), request)
1348
1349	if err != nil {
1350		t.Fatal(err)
1351	}
1352
1353	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
1354		t.Errorf("wrong request %q, want %q", got, want)
1355	}
1356
1357	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
1358		t.Errorf("wrong response %q, want %q)", got, want)
1359	}
1360}
1361
1362func TestDeviceManagerSendCommandToDeviceError(t *testing.T) {
1363	errCode := codes.PermissionDenied
1364	mockDeviceManager.err = gstatus.Error(errCode, "test error")
1365
1366	var formattedName string = fmt.Sprintf("projects/%s/locations/%s/registries/%s/devices/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]", "[DEVICE]")
1367	var binaryData []byte = []byte("40")
1368	var request = &iotpb.SendCommandToDeviceRequest{
1369		Name:       formattedName,
1370		BinaryData: binaryData,
1371	}
1372
1373	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1374	if err != nil {
1375		t.Fatal(err)
1376	}
1377
1378	resp, err := c.SendCommandToDevice(context.Background(), request)
1379
1380	if st, ok := gstatus.FromError(err); !ok {
1381		t.Errorf("got error %v, expected grpc error", err)
1382	} else if c := st.Code(); c != errCode {
1383		t.Errorf("got error code %q, want %q", c, errCode)
1384	}
1385	_ = resp
1386}
1387func TestDeviceManagerBindDeviceToGateway(t *testing.T) {
1388	var expectedResponse *iotpb.BindDeviceToGatewayResponse = &iotpb.BindDeviceToGatewayResponse{}
1389
1390	mockDeviceManager.err = nil
1391	mockDeviceManager.reqs = nil
1392
1393	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
1394
1395	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
1396	var gatewayId string = "gatewayId955798774"
1397	var deviceId string = "deviceId25209764"
1398	var request = &iotpb.BindDeviceToGatewayRequest{
1399		Parent:    formattedParent,
1400		GatewayId: gatewayId,
1401		DeviceId:  deviceId,
1402	}
1403
1404	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1405	if err != nil {
1406		t.Fatal(err)
1407	}
1408
1409	resp, err := c.BindDeviceToGateway(context.Background(), request)
1410
1411	if err != nil {
1412		t.Fatal(err)
1413	}
1414
1415	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
1416		t.Errorf("wrong request %q, want %q", got, want)
1417	}
1418
1419	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
1420		t.Errorf("wrong response %q, want %q)", got, want)
1421	}
1422}
1423
1424func TestDeviceManagerBindDeviceToGatewayError(t *testing.T) {
1425	errCode := codes.PermissionDenied
1426	mockDeviceManager.err = gstatus.Error(errCode, "test error")
1427
1428	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
1429	var gatewayId string = "gatewayId955798774"
1430	var deviceId string = "deviceId25209764"
1431	var request = &iotpb.BindDeviceToGatewayRequest{
1432		Parent:    formattedParent,
1433		GatewayId: gatewayId,
1434		DeviceId:  deviceId,
1435	}
1436
1437	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1438	if err != nil {
1439		t.Fatal(err)
1440	}
1441
1442	resp, err := c.BindDeviceToGateway(context.Background(), request)
1443
1444	if st, ok := gstatus.FromError(err); !ok {
1445		t.Errorf("got error %v, expected grpc error", err)
1446	} else if c := st.Code(); c != errCode {
1447		t.Errorf("got error code %q, want %q", c, errCode)
1448	}
1449	_ = resp
1450}
1451func TestDeviceManagerUnbindDeviceFromGateway(t *testing.T) {
1452	var expectedResponse *iotpb.UnbindDeviceFromGatewayResponse = &iotpb.UnbindDeviceFromGatewayResponse{}
1453
1454	mockDeviceManager.err = nil
1455	mockDeviceManager.reqs = nil
1456
1457	mockDeviceManager.resps = append(mockDeviceManager.resps[:0], expectedResponse)
1458
1459	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
1460	var gatewayId string = "gatewayId955798774"
1461	var deviceId string = "deviceId25209764"
1462	var request = &iotpb.UnbindDeviceFromGatewayRequest{
1463		Parent:    formattedParent,
1464		GatewayId: gatewayId,
1465		DeviceId:  deviceId,
1466	}
1467
1468	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1469	if err != nil {
1470		t.Fatal(err)
1471	}
1472
1473	resp, err := c.UnbindDeviceFromGateway(context.Background(), request)
1474
1475	if err != nil {
1476		t.Fatal(err)
1477	}
1478
1479	if want, got := request, mockDeviceManager.reqs[0]; !proto.Equal(want, got) {
1480		t.Errorf("wrong request %q, want %q", got, want)
1481	}
1482
1483	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
1484		t.Errorf("wrong response %q, want %q)", got, want)
1485	}
1486}
1487
1488func TestDeviceManagerUnbindDeviceFromGatewayError(t *testing.T) {
1489	errCode := codes.PermissionDenied
1490	mockDeviceManager.err = gstatus.Error(errCode, "test error")
1491
1492	var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/registries/%s", "[PROJECT]", "[LOCATION]", "[REGISTRY]")
1493	var gatewayId string = "gatewayId955798774"
1494	var deviceId string = "deviceId25209764"
1495	var request = &iotpb.UnbindDeviceFromGatewayRequest{
1496		Parent:    formattedParent,
1497		GatewayId: gatewayId,
1498		DeviceId:  deviceId,
1499	}
1500
1501	c, err := NewDeviceManagerClient(context.Background(), clientOpt)
1502	if err != nil {
1503		t.Fatal(err)
1504	}
1505
1506	resp, err := c.UnbindDeviceFromGateway(context.Background(), request)
1507
1508	if st, ok := gstatus.FromError(err); !ok {
1509		t.Errorf("got error %v, expected grpc error", err)
1510	} else if c := st.Code(); c != errCode {
1511		t.Errorf("got error code %q, want %q", c, errCode)
1512	}
1513	_ = resp
1514}
1515