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 datatransfer
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	timestamppb "github.com/golang/protobuf/ptypes/timestamp"
34	"google.golang.org/api/option"
35	datatransferpb "google.golang.org/genproto/googleapis/cloud/bigquery/datatransfer/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 mockDataTransferServer struct {
51	// Embed for forward compatibility.
52	// Tests will keep working if more methods are added
53	// in the future.
54	datatransferpb.DataTransferServiceServer
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 *mockDataTransferServer) GetDataSource(ctx context.Context, req *datatransferpb.GetDataSourceRequest) (*datatransferpb.DataSource, 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].(*datatransferpb.DataSource), nil
75}
76
77func (s *mockDataTransferServer) ListDataSources(ctx context.Context, req *datatransferpb.ListDataSourcesRequest) (*datatransferpb.ListDataSourcesResponse, 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].(*datatransferpb.ListDataSourcesResponse), nil
87}
88
89func (s *mockDataTransferServer) CreateTransferConfig(ctx context.Context, req *datatransferpb.CreateTransferConfigRequest) (*datatransferpb.TransferConfig, 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].(*datatransferpb.TransferConfig), nil
99}
100
101func (s *mockDataTransferServer) UpdateTransferConfig(ctx context.Context, req *datatransferpb.UpdateTransferConfigRequest) (*datatransferpb.TransferConfig, 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].(*datatransferpb.TransferConfig), nil
111}
112
113func (s *mockDataTransferServer) DeleteTransferConfig(ctx context.Context, req *datatransferpb.DeleteTransferConfigRequest) (*emptypb.Empty, 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].(*emptypb.Empty), nil
123}
124
125func (s *mockDataTransferServer) GetTransferConfig(ctx context.Context, req *datatransferpb.GetTransferConfigRequest) (*datatransferpb.TransferConfig, 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].(*datatransferpb.TransferConfig), nil
135}
136
137func (s *mockDataTransferServer) ListTransferConfigs(ctx context.Context, req *datatransferpb.ListTransferConfigsRequest) (*datatransferpb.ListTransferConfigsResponse, 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].(*datatransferpb.ListTransferConfigsResponse), nil
147}
148
149func (s *mockDataTransferServer) ScheduleTransferRuns(ctx context.Context, req *datatransferpb.ScheduleTransferRunsRequest) (*datatransferpb.ScheduleTransferRunsResponse, 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].(*datatransferpb.ScheduleTransferRunsResponse), nil
159}
160
161func (s *mockDataTransferServer) StartManualTransferRuns(ctx context.Context, req *datatransferpb.StartManualTransferRunsRequest) (*datatransferpb.StartManualTransferRunsResponse, 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].(*datatransferpb.StartManualTransferRunsResponse), nil
171}
172
173func (s *mockDataTransferServer) GetTransferRun(ctx context.Context, req *datatransferpb.GetTransferRunRequest) (*datatransferpb.TransferRun, 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].(*datatransferpb.TransferRun), nil
183}
184
185func (s *mockDataTransferServer) DeleteTransferRun(ctx context.Context, req *datatransferpb.DeleteTransferRunRequest) (*emptypb.Empty, 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].(*emptypb.Empty), nil
195}
196
197func (s *mockDataTransferServer) ListTransferRuns(ctx context.Context, req *datatransferpb.ListTransferRunsRequest) (*datatransferpb.ListTransferRunsResponse, 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].(*datatransferpb.ListTransferRunsResponse), nil
207}
208
209func (s *mockDataTransferServer) ListTransferLogs(ctx context.Context, req *datatransferpb.ListTransferLogsRequest) (*datatransferpb.ListTransferLogsResponse, 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].(*datatransferpb.ListTransferLogsResponse), nil
219}
220
221func (s *mockDataTransferServer) CheckValidCreds(ctx context.Context, req *datatransferpb.CheckValidCredsRequest) (*datatransferpb.CheckValidCredsResponse, 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].(*datatransferpb.CheckValidCredsResponse), nil
231}
232
233// clientOpt is the option tests should use to connect to the test server.
234// It is initialized by TestMain.
235var clientOpt option.ClientOption
236
237var (
238	mockDataTransfer mockDataTransferServer
239)
240
241func TestMain(m *testing.M) {
242	flag.Parse()
243
244	serv := grpc.NewServer()
245	datatransferpb.RegisterDataTransferServiceServer(serv, &mockDataTransfer)
246
247	lis, err := net.Listen("tcp", "localhost:0")
248	if err != nil {
249		log.Fatal(err)
250	}
251	go serv.Serve(lis)
252
253	conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure())
254	if err != nil {
255		log.Fatal(err)
256	}
257	clientOpt = option.WithGRPCConn(conn)
258
259	os.Exit(m.Run())
260}
261
262func TestDataTransferServiceGetDataSource(t *testing.T) {
263	var name2 string = "name2-1052831874"
264	var dataSourceId string = "dataSourceId-1015796374"
265	var displayName string = "displayName1615086568"
266	var description string = "description-1724546052"
267	var clientId string = "clientId-1904089585"
268	var supportsMultipleTransfers bool = true
269	var updateDeadlineSeconds int32 = 991471694
270	var defaultSchedule string = "defaultSchedule-800168235"
271	var supportsCustomSchedule bool = true
272	var helpUrl string = "helpUrl-789431439"
273	var defaultDataRefreshWindowDays int32 = 1804935157
274	var manualRunsDisabled bool = true
275	var expectedResponse = &datatransferpb.DataSource{
276		Name:                         name2,
277		DataSourceId:                 dataSourceId,
278		DisplayName:                  displayName,
279		Description:                  description,
280		ClientId:                     clientId,
281		SupportsMultipleTransfers:    supportsMultipleTransfers,
282		UpdateDeadlineSeconds:        updateDeadlineSeconds,
283		DefaultSchedule:              defaultSchedule,
284		SupportsCustomSchedule:       supportsCustomSchedule,
285		HelpUrl:                      helpUrl,
286		DefaultDataRefreshWindowDays: defaultDataRefreshWindowDays,
287		ManualRunsDisabled:           manualRunsDisabled,
288	}
289
290	mockDataTransfer.err = nil
291	mockDataTransfer.reqs = nil
292
293	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
294
295	var formattedName string = fmt.Sprintf("projects/%s/dataSources/%s", "[PROJECT]", "[DATA_SOURCE]")
296	var request = &datatransferpb.GetDataSourceRequest{
297		Name: formattedName,
298	}
299
300	c, err := NewClient(context.Background(), clientOpt)
301	if err != nil {
302		t.Fatal(err)
303	}
304
305	resp, err := c.GetDataSource(context.Background(), request)
306
307	if err != nil {
308		t.Fatal(err)
309	}
310
311	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
312		t.Errorf("wrong request %q, want %q", got, want)
313	}
314
315	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
316		t.Errorf("wrong response %q, want %q)", got, want)
317	}
318}
319
320func TestDataTransferServiceGetDataSourceError(t *testing.T) {
321	errCode := codes.PermissionDenied
322	mockDataTransfer.err = gstatus.Error(errCode, "test error")
323
324	var formattedName string = fmt.Sprintf("projects/%s/dataSources/%s", "[PROJECT]", "[DATA_SOURCE]")
325	var request = &datatransferpb.GetDataSourceRequest{
326		Name: formattedName,
327	}
328
329	c, err := NewClient(context.Background(), clientOpt)
330	if err != nil {
331		t.Fatal(err)
332	}
333
334	resp, err := c.GetDataSource(context.Background(), request)
335
336	if st, ok := gstatus.FromError(err); !ok {
337		t.Errorf("got error %v, expected grpc error", err)
338	} else if c := st.Code(); c != errCode {
339		t.Errorf("got error code %q, want %q", c, errCode)
340	}
341	_ = resp
342}
343func TestDataTransferServiceListDataSources(t *testing.T) {
344	var nextPageToken string = ""
345	var dataSourcesElement *datatransferpb.DataSource = &datatransferpb.DataSource{}
346	var dataSources = []*datatransferpb.DataSource{dataSourcesElement}
347	var expectedResponse = &datatransferpb.ListDataSourcesResponse{
348		NextPageToken: nextPageToken,
349		DataSources:   dataSources,
350	}
351
352	mockDataTransfer.err = nil
353	mockDataTransfer.reqs = nil
354
355	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
356
357	var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
358	var request = &datatransferpb.ListDataSourcesRequest{
359		Parent: formattedParent,
360	}
361
362	c, err := NewClient(context.Background(), clientOpt)
363	if err != nil {
364		t.Fatal(err)
365	}
366
367	resp, err := c.ListDataSources(context.Background(), request).Next()
368
369	if err != nil {
370		t.Fatal(err)
371	}
372
373	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
374		t.Errorf("wrong request %q, want %q", got, want)
375	}
376
377	want := (interface{})(expectedResponse.DataSources[0])
378	got := (interface{})(resp)
379	var ok bool
380
381	switch want := (want).(type) {
382	case proto.Message:
383		ok = proto.Equal(want, got.(proto.Message))
384	default:
385		ok = want == got
386	}
387	if !ok {
388		t.Errorf("wrong response %q, want %q)", got, want)
389	}
390}
391
392func TestDataTransferServiceListDataSourcesError(t *testing.T) {
393	errCode := codes.PermissionDenied
394	mockDataTransfer.err = gstatus.Error(errCode, "test error")
395
396	var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
397	var request = &datatransferpb.ListDataSourcesRequest{
398		Parent: formattedParent,
399	}
400
401	c, err := NewClient(context.Background(), clientOpt)
402	if err != nil {
403		t.Fatal(err)
404	}
405
406	resp, err := c.ListDataSources(context.Background(), request).Next()
407
408	if st, ok := gstatus.FromError(err); !ok {
409		t.Errorf("got error %v, expected grpc error", err)
410	} else if c := st.Code(); c != errCode {
411		t.Errorf("got error code %q, want %q", c, errCode)
412	}
413	_ = resp
414}
415func TestDataTransferServiceCreateTransferConfig(t *testing.T) {
416	var name string = "name3373707"
417	var destinationDatasetId string = "destinationDatasetId1541564179"
418	var displayName string = "displayName1615086568"
419	var dataSourceId string = "dataSourceId-1015796374"
420	var schedule string = "schedule-697920873"
421	var dataRefreshWindowDays int32 = 327632845
422	var disabled bool = true
423	var userId int64 = 147132913
424	var datasetRegion string = "datasetRegion959248539"
425	var expectedResponse = &datatransferpb.TransferConfig{
426		Name: name,
427		Destination: &datatransferpb.TransferConfig_DestinationDatasetId{
428			DestinationDatasetId: destinationDatasetId,
429		},
430		DisplayName:           displayName,
431		DataSourceId:          dataSourceId,
432		Schedule:              schedule,
433		DataRefreshWindowDays: dataRefreshWindowDays,
434		Disabled:              disabled,
435		UserId:                userId,
436		DatasetRegion:         datasetRegion,
437	}
438
439	mockDataTransfer.err = nil
440	mockDataTransfer.reqs = nil
441
442	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
443
444	var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
445	var transferConfig *datatransferpb.TransferConfig = &datatransferpb.TransferConfig{}
446	var request = &datatransferpb.CreateTransferConfigRequest{
447		Parent:         formattedParent,
448		TransferConfig: transferConfig,
449	}
450
451	c, err := NewClient(context.Background(), clientOpt)
452	if err != nil {
453		t.Fatal(err)
454	}
455
456	resp, err := c.CreateTransferConfig(context.Background(), request)
457
458	if err != nil {
459		t.Fatal(err)
460	}
461
462	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
463		t.Errorf("wrong request %q, want %q", got, want)
464	}
465
466	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
467		t.Errorf("wrong response %q, want %q)", got, want)
468	}
469}
470
471func TestDataTransferServiceCreateTransferConfigError(t *testing.T) {
472	errCode := codes.PermissionDenied
473	mockDataTransfer.err = gstatus.Error(errCode, "test error")
474
475	var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
476	var transferConfig *datatransferpb.TransferConfig = &datatransferpb.TransferConfig{}
477	var request = &datatransferpb.CreateTransferConfigRequest{
478		Parent:         formattedParent,
479		TransferConfig: transferConfig,
480	}
481
482	c, err := NewClient(context.Background(), clientOpt)
483	if err != nil {
484		t.Fatal(err)
485	}
486
487	resp, err := c.CreateTransferConfig(context.Background(), request)
488
489	if st, ok := gstatus.FromError(err); !ok {
490		t.Errorf("got error %v, expected grpc error", err)
491	} else if c := st.Code(); c != errCode {
492		t.Errorf("got error code %q, want %q", c, errCode)
493	}
494	_ = resp
495}
496func TestDataTransferServiceUpdateTransferConfig(t *testing.T) {
497	var name string = "name3373707"
498	var destinationDatasetId string = "destinationDatasetId1541564179"
499	var displayName string = "displayName1615086568"
500	var dataSourceId string = "dataSourceId-1015796374"
501	var schedule string = "schedule-697920873"
502	var dataRefreshWindowDays int32 = 327632845
503	var disabled bool = true
504	var userId int64 = 147132913
505	var datasetRegion string = "datasetRegion959248539"
506	var expectedResponse = &datatransferpb.TransferConfig{
507		Name: name,
508		Destination: &datatransferpb.TransferConfig_DestinationDatasetId{
509			DestinationDatasetId: destinationDatasetId,
510		},
511		DisplayName:           displayName,
512		DataSourceId:          dataSourceId,
513		Schedule:              schedule,
514		DataRefreshWindowDays: dataRefreshWindowDays,
515		Disabled:              disabled,
516		UserId:                userId,
517		DatasetRegion:         datasetRegion,
518	}
519
520	mockDataTransfer.err = nil
521	mockDataTransfer.reqs = nil
522
523	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
524
525	var transferConfig *datatransferpb.TransferConfig = &datatransferpb.TransferConfig{}
526	var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
527	var request = &datatransferpb.UpdateTransferConfigRequest{
528		TransferConfig: transferConfig,
529		UpdateMask:     updateMask,
530	}
531
532	c, err := NewClient(context.Background(), clientOpt)
533	if err != nil {
534		t.Fatal(err)
535	}
536
537	resp, err := c.UpdateTransferConfig(context.Background(), request)
538
539	if err != nil {
540		t.Fatal(err)
541	}
542
543	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
544		t.Errorf("wrong request %q, want %q", got, want)
545	}
546
547	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
548		t.Errorf("wrong response %q, want %q)", got, want)
549	}
550}
551
552func TestDataTransferServiceUpdateTransferConfigError(t *testing.T) {
553	errCode := codes.PermissionDenied
554	mockDataTransfer.err = gstatus.Error(errCode, "test error")
555
556	var transferConfig *datatransferpb.TransferConfig = &datatransferpb.TransferConfig{}
557	var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
558	var request = &datatransferpb.UpdateTransferConfigRequest{
559		TransferConfig: transferConfig,
560		UpdateMask:     updateMask,
561	}
562
563	c, err := NewClient(context.Background(), clientOpt)
564	if err != nil {
565		t.Fatal(err)
566	}
567
568	resp, err := c.UpdateTransferConfig(context.Background(), request)
569
570	if st, ok := gstatus.FromError(err); !ok {
571		t.Errorf("got error %v, expected grpc error", err)
572	} else if c := st.Code(); c != errCode {
573		t.Errorf("got error code %q, want %q", c, errCode)
574	}
575	_ = resp
576}
577func TestDataTransferServiceDeleteTransferConfig(t *testing.T) {
578	var expectedResponse *emptypb.Empty = &emptypb.Empty{}
579
580	mockDataTransfer.err = nil
581	mockDataTransfer.reqs = nil
582
583	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
584
585	var formattedName string = fmt.Sprintf("projects/%s/transferConfigs/%s", "[PROJECT]", "[TRANSFER_CONFIG]")
586	var request = &datatransferpb.DeleteTransferConfigRequest{
587		Name: formattedName,
588	}
589
590	c, err := NewClient(context.Background(), clientOpt)
591	if err != nil {
592		t.Fatal(err)
593	}
594
595	err = c.DeleteTransferConfig(context.Background(), request)
596
597	if err != nil {
598		t.Fatal(err)
599	}
600
601	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
602		t.Errorf("wrong request %q, want %q", got, want)
603	}
604
605}
606
607func TestDataTransferServiceDeleteTransferConfigError(t *testing.T) {
608	errCode := codes.PermissionDenied
609	mockDataTransfer.err = gstatus.Error(errCode, "test error")
610
611	var formattedName string = fmt.Sprintf("projects/%s/transferConfigs/%s", "[PROJECT]", "[TRANSFER_CONFIG]")
612	var request = &datatransferpb.DeleteTransferConfigRequest{
613		Name: formattedName,
614	}
615
616	c, err := NewClient(context.Background(), clientOpt)
617	if err != nil {
618		t.Fatal(err)
619	}
620
621	err = c.DeleteTransferConfig(context.Background(), request)
622
623	if st, ok := gstatus.FromError(err); !ok {
624		t.Errorf("got error %v, expected grpc error", err)
625	} else if c := st.Code(); c != errCode {
626		t.Errorf("got error code %q, want %q", c, errCode)
627	}
628}
629func TestDataTransferServiceGetTransferConfig(t *testing.T) {
630	var name2 string = "name2-1052831874"
631	var destinationDatasetId string = "destinationDatasetId1541564179"
632	var displayName string = "displayName1615086568"
633	var dataSourceId string = "dataSourceId-1015796374"
634	var schedule string = "schedule-697920873"
635	var dataRefreshWindowDays int32 = 327632845
636	var disabled bool = true
637	var userId int64 = 147132913
638	var datasetRegion string = "datasetRegion959248539"
639	var expectedResponse = &datatransferpb.TransferConfig{
640		Name: name2,
641		Destination: &datatransferpb.TransferConfig_DestinationDatasetId{
642			DestinationDatasetId: destinationDatasetId,
643		},
644		DisplayName:           displayName,
645		DataSourceId:          dataSourceId,
646		Schedule:              schedule,
647		DataRefreshWindowDays: dataRefreshWindowDays,
648		Disabled:              disabled,
649		UserId:                userId,
650		DatasetRegion:         datasetRegion,
651	}
652
653	mockDataTransfer.err = nil
654	mockDataTransfer.reqs = nil
655
656	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
657
658	var formattedName string = fmt.Sprintf("projects/%s/transferConfigs/%s", "[PROJECT]", "[TRANSFER_CONFIG]")
659	var request = &datatransferpb.GetTransferConfigRequest{
660		Name: formattedName,
661	}
662
663	c, err := NewClient(context.Background(), clientOpt)
664	if err != nil {
665		t.Fatal(err)
666	}
667
668	resp, err := c.GetTransferConfig(context.Background(), request)
669
670	if err != nil {
671		t.Fatal(err)
672	}
673
674	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
675		t.Errorf("wrong request %q, want %q", got, want)
676	}
677
678	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
679		t.Errorf("wrong response %q, want %q)", got, want)
680	}
681}
682
683func TestDataTransferServiceGetTransferConfigError(t *testing.T) {
684	errCode := codes.PermissionDenied
685	mockDataTransfer.err = gstatus.Error(errCode, "test error")
686
687	var formattedName string = fmt.Sprintf("projects/%s/transferConfigs/%s", "[PROJECT]", "[TRANSFER_CONFIG]")
688	var request = &datatransferpb.GetTransferConfigRequest{
689		Name: formattedName,
690	}
691
692	c, err := NewClient(context.Background(), clientOpt)
693	if err != nil {
694		t.Fatal(err)
695	}
696
697	resp, err := c.GetTransferConfig(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 TestDataTransferServiceListTransferConfigs(t *testing.T) {
707	var nextPageToken string = ""
708	var transferConfigsElement *datatransferpb.TransferConfig = &datatransferpb.TransferConfig{}
709	var transferConfigs = []*datatransferpb.TransferConfig{transferConfigsElement}
710	var expectedResponse = &datatransferpb.ListTransferConfigsResponse{
711		NextPageToken:   nextPageToken,
712		TransferConfigs: transferConfigs,
713	}
714
715	mockDataTransfer.err = nil
716	mockDataTransfer.reqs = nil
717
718	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
719
720	var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
721	var request = &datatransferpb.ListTransferConfigsRequest{
722		Parent: formattedParent,
723	}
724
725	c, err := NewClient(context.Background(), clientOpt)
726	if err != nil {
727		t.Fatal(err)
728	}
729
730	resp, err := c.ListTransferConfigs(context.Background(), request).Next()
731
732	if err != nil {
733		t.Fatal(err)
734	}
735
736	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
737		t.Errorf("wrong request %q, want %q", got, want)
738	}
739
740	want := (interface{})(expectedResponse.TransferConfigs[0])
741	got := (interface{})(resp)
742	var ok bool
743
744	switch want := (want).(type) {
745	case proto.Message:
746		ok = proto.Equal(want, got.(proto.Message))
747	default:
748		ok = want == got
749	}
750	if !ok {
751		t.Errorf("wrong response %q, want %q)", got, want)
752	}
753}
754
755func TestDataTransferServiceListTransferConfigsError(t *testing.T) {
756	errCode := codes.PermissionDenied
757	mockDataTransfer.err = gstatus.Error(errCode, "test error")
758
759	var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
760	var request = &datatransferpb.ListTransferConfigsRequest{
761		Parent: formattedParent,
762	}
763
764	c, err := NewClient(context.Background(), clientOpt)
765	if err != nil {
766		t.Fatal(err)
767	}
768
769	resp, err := c.ListTransferConfigs(context.Background(), request).Next()
770
771	if st, ok := gstatus.FromError(err); !ok {
772		t.Errorf("got error %v, expected grpc error", err)
773	} else if c := st.Code(); c != errCode {
774		t.Errorf("got error code %q, want %q", c, errCode)
775	}
776	_ = resp
777}
778func TestDataTransferServiceScheduleTransferRuns(t *testing.T) {
779	var expectedResponse *datatransferpb.ScheduleTransferRunsResponse = &datatransferpb.ScheduleTransferRunsResponse{}
780
781	mockDataTransfer.err = nil
782	mockDataTransfer.reqs = nil
783
784	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
785
786	var formattedParent string = fmt.Sprintf("projects/%s/transferConfigs/%s", "[PROJECT]", "[TRANSFER_CONFIG]")
787	var startTime *timestamppb.Timestamp = &timestamppb.Timestamp{}
788	var endTime *timestamppb.Timestamp = &timestamppb.Timestamp{}
789	var request = &datatransferpb.ScheduleTransferRunsRequest{
790		Parent:    formattedParent,
791		StartTime: startTime,
792		EndTime:   endTime,
793	}
794
795	c, err := NewClient(context.Background(), clientOpt)
796	if err != nil {
797		t.Fatal(err)
798	}
799
800	resp, err := c.ScheduleTransferRuns(context.Background(), request)
801
802	if err != nil {
803		t.Fatal(err)
804	}
805
806	if want, got := request, mockDataTransfer.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 TestDataTransferServiceScheduleTransferRunsError(t *testing.T) {
816	errCode := codes.PermissionDenied
817	mockDataTransfer.err = gstatus.Error(errCode, "test error")
818
819	var formattedParent string = fmt.Sprintf("projects/%s/transferConfigs/%s", "[PROJECT]", "[TRANSFER_CONFIG]")
820	var startTime *timestamppb.Timestamp = &timestamppb.Timestamp{}
821	var endTime *timestamppb.Timestamp = &timestamppb.Timestamp{}
822	var request = &datatransferpb.ScheduleTransferRunsRequest{
823		Parent:    formattedParent,
824		StartTime: startTime,
825		EndTime:   endTime,
826	}
827
828	c, err := NewClient(context.Background(), clientOpt)
829	if err != nil {
830		t.Fatal(err)
831	}
832
833	resp, err := c.ScheduleTransferRuns(context.Background(), request)
834
835	if st, ok := gstatus.FromError(err); !ok {
836		t.Errorf("got error %v, expected grpc error", err)
837	} else if c := st.Code(); c != errCode {
838		t.Errorf("got error code %q, want %q", c, errCode)
839	}
840	_ = resp
841}
842func TestDataTransferServiceGetTransferRun(t *testing.T) {
843	var name2 string = "name2-1052831874"
844	var destinationDatasetId string = "destinationDatasetId1541564179"
845	var dataSourceId string = "dataSourceId-1015796374"
846	var userId int64 = 147132913
847	var schedule string = "schedule-697920873"
848	var expectedResponse = &datatransferpb.TransferRun{
849		Name: name2,
850		Destination: &datatransferpb.TransferRun_DestinationDatasetId{
851			DestinationDatasetId: destinationDatasetId,
852		},
853		DataSourceId: dataSourceId,
854		UserId:       userId,
855		Schedule:     schedule,
856	}
857
858	mockDataTransfer.err = nil
859	mockDataTransfer.reqs = nil
860
861	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
862
863	var formattedName string = fmt.Sprintf("projects/%s/transferConfigs/%s/runs/%s", "[PROJECT]", "[TRANSFER_CONFIG]", "[RUN]")
864	var request = &datatransferpb.GetTransferRunRequest{
865		Name: formattedName,
866	}
867
868	c, err := NewClient(context.Background(), clientOpt)
869	if err != nil {
870		t.Fatal(err)
871	}
872
873	resp, err := c.GetTransferRun(context.Background(), request)
874
875	if err != nil {
876		t.Fatal(err)
877	}
878
879	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
880		t.Errorf("wrong request %q, want %q", got, want)
881	}
882
883	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
884		t.Errorf("wrong response %q, want %q)", got, want)
885	}
886}
887
888func TestDataTransferServiceGetTransferRunError(t *testing.T) {
889	errCode := codes.PermissionDenied
890	mockDataTransfer.err = gstatus.Error(errCode, "test error")
891
892	var formattedName string = fmt.Sprintf("projects/%s/transferConfigs/%s/runs/%s", "[PROJECT]", "[TRANSFER_CONFIG]", "[RUN]")
893	var request = &datatransferpb.GetTransferRunRequest{
894		Name: formattedName,
895	}
896
897	c, err := NewClient(context.Background(), clientOpt)
898	if err != nil {
899		t.Fatal(err)
900	}
901
902	resp, err := c.GetTransferRun(context.Background(), request)
903
904	if st, ok := gstatus.FromError(err); !ok {
905		t.Errorf("got error %v, expected grpc error", err)
906	} else if c := st.Code(); c != errCode {
907		t.Errorf("got error code %q, want %q", c, errCode)
908	}
909	_ = resp
910}
911func TestDataTransferServiceDeleteTransferRun(t *testing.T) {
912	var expectedResponse *emptypb.Empty = &emptypb.Empty{}
913
914	mockDataTransfer.err = nil
915	mockDataTransfer.reqs = nil
916
917	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
918
919	var formattedName string = fmt.Sprintf("projects/%s/transferConfigs/%s/runs/%s", "[PROJECT]", "[TRANSFER_CONFIG]", "[RUN]")
920	var request = &datatransferpb.DeleteTransferRunRequest{
921		Name: formattedName,
922	}
923
924	c, err := NewClient(context.Background(), clientOpt)
925	if err != nil {
926		t.Fatal(err)
927	}
928
929	err = c.DeleteTransferRun(context.Background(), request)
930
931	if err != nil {
932		t.Fatal(err)
933	}
934
935	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
936		t.Errorf("wrong request %q, want %q", got, want)
937	}
938
939}
940
941func TestDataTransferServiceDeleteTransferRunError(t *testing.T) {
942	errCode := codes.PermissionDenied
943	mockDataTransfer.err = gstatus.Error(errCode, "test error")
944
945	var formattedName string = fmt.Sprintf("projects/%s/transferConfigs/%s/runs/%s", "[PROJECT]", "[TRANSFER_CONFIG]", "[RUN]")
946	var request = &datatransferpb.DeleteTransferRunRequest{
947		Name: formattedName,
948	}
949
950	c, err := NewClient(context.Background(), clientOpt)
951	if err != nil {
952		t.Fatal(err)
953	}
954
955	err = c.DeleteTransferRun(context.Background(), request)
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}
963func TestDataTransferServiceListTransferRuns(t *testing.T) {
964	var nextPageToken string = ""
965	var transferRunsElement *datatransferpb.TransferRun = &datatransferpb.TransferRun{}
966	var transferRuns = []*datatransferpb.TransferRun{transferRunsElement}
967	var expectedResponse = &datatransferpb.ListTransferRunsResponse{
968		NextPageToken: nextPageToken,
969		TransferRuns:  transferRuns,
970	}
971
972	mockDataTransfer.err = nil
973	mockDataTransfer.reqs = nil
974
975	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
976
977	var formattedParent string = fmt.Sprintf("projects/%s/transferConfigs/%s", "[PROJECT]", "[TRANSFER_CONFIG]")
978	var request = &datatransferpb.ListTransferRunsRequest{
979		Parent: formattedParent,
980	}
981
982	c, err := NewClient(context.Background(), clientOpt)
983	if err != nil {
984		t.Fatal(err)
985	}
986
987	resp, err := c.ListTransferRuns(context.Background(), request).Next()
988
989	if err != nil {
990		t.Fatal(err)
991	}
992
993	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
994		t.Errorf("wrong request %q, want %q", got, want)
995	}
996
997	want := (interface{})(expectedResponse.TransferRuns[0])
998	got := (interface{})(resp)
999	var ok bool
1000
1001	switch want := (want).(type) {
1002	case proto.Message:
1003		ok = proto.Equal(want, got.(proto.Message))
1004	default:
1005		ok = want == got
1006	}
1007	if !ok {
1008		t.Errorf("wrong response %q, want %q)", got, want)
1009	}
1010}
1011
1012func TestDataTransferServiceListTransferRunsError(t *testing.T) {
1013	errCode := codes.PermissionDenied
1014	mockDataTransfer.err = gstatus.Error(errCode, "test error")
1015
1016	var formattedParent string = fmt.Sprintf("projects/%s/transferConfigs/%s", "[PROJECT]", "[TRANSFER_CONFIG]")
1017	var request = &datatransferpb.ListTransferRunsRequest{
1018		Parent: formattedParent,
1019	}
1020
1021	c, err := NewClient(context.Background(), clientOpt)
1022	if err != nil {
1023		t.Fatal(err)
1024	}
1025
1026	resp, err := c.ListTransferRuns(context.Background(), request).Next()
1027
1028	if st, ok := gstatus.FromError(err); !ok {
1029		t.Errorf("got error %v, expected grpc error", err)
1030	} else if c := st.Code(); c != errCode {
1031		t.Errorf("got error code %q, want %q", c, errCode)
1032	}
1033	_ = resp
1034}
1035func TestDataTransferServiceListTransferLogs(t *testing.T) {
1036	var nextPageToken string = ""
1037	var transferMessagesElement *datatransferpb.TransferMessage = &datatransferpb.TransferMessage{}
1038	var transferMessages = []*datatransferpb.TransferMessage{transferMessagesElement}
1039	var expectedResponse = &datatransferpb.ListTransferLogsResponse{
1040		NextPageToken:    nextPageToken,
1041		TransferMessages: transferMessages,
1042	}
1043
1044	mockDataTransfer.err = nil
1045	mockDataTransfer.reqs = nil
1046
1047	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
1048
1049	var formattedParent string = fmt.Sprintf("projects/%s/transferConfigs/%s/runs/%s", "[PROJECT]", "[TRANSFER_CONFIG]", "[RUN]")
1050	var request = &datatransferpb.ListTransferLogsRequest{
1051		Parent: formattedParent,
1052	}
1053
1054	c, err := NewClient(context.Background(), clientOpt)
1055	if err != nil {
1056		t.Fatal(err)
1057	}
1058
1059	resp, err := c.ListTransferLogs(context.Background(), request).Next()
1060
1061	if err != nil {
1062		t.Fatal(err)
1063	}
1064
1065	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
1066		t.Errorf("wrong request %q, want %q", got, want)
1067	}
1068
1069	want := (interface{})(expectedResponse.TransferMessages[0])
1070	got := (interface{})(resp)
1071	var ok bool
1072
1073	switch want := (want).(type) {
1074	case proto.Message:
1075		ok = proto.Equal(want, got.(proto.Message))
1076	default:
1077		ok = want == got
1078	}
1079	if !ok {
1080		t.Errorf("wrong response %q, want %q)", got, want)
1081	}
1082}
1083
1084func TestDataTransferServiceListTransferLogsError(t *testing.T) {
1085	errCode := codes.PermissionDenied
1086	mockDataTransfer.err = gstatus.Error(errCode, "test error")
1087
1088	var formattedParent string = fmt.Sprintf("projects/%s/transferConfigs/%s/runs/%s", "[PROJECT]", "[TRANSFER_CONFIG]", "[RUN]")
1089	var request = &datatransferpb.ListTransferLogsRequest{
1090		Parent: formattedParent,
1091	}
1092
1093	c, err := NewClient(context.Background(), clientOpt)
1094	if err != nil {
1095		t.Fatal(err)
1096	}
1097
1098	resp, err := c.ListTransferLogs(context.Background(), request).Next()
1099
1100	if st, ok := gstatus.FromError(err); !ok {
1101		t.Errorf("got error %v, expected grpc error", err)
1102	} else if c := st.Code(); c != errCode {
1103		t.Errorf("got error code %q, want %q", c, errCode)
1104	}
1105	_ = resp
1106}
1107func TestDataTransferServiceCheckValidCreds(t *testing.T) {
1108	var hasValidCreds bool = false
1109	var expectedResponse = &datatransferpb.CheckValidCredsResponse{
1110		HasValidCreds: hasValidCreds,
1111	}
1112
1113	mockDataTransfer.err = nil
1114	mockDataTransfer.reqs = nil
1115
1116	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
1117
1118	var formattedName string = fmt.Sprintf("projects/%s/dataSources/%s", "[PROJECT]", "[DATA_SOURCE]")
1119	var request = &datatransferpb.CheckValidCredsRequest{
1120		Name: formattedName,
1121	}
1122
1123	c, err := NewClient(context.Background(), clientOpt)
1124	if err != nil {
1125		t.Fatal(err)
1126	}
1127
1128	resp, err := c.CheckValidCreds(context.Background(), request)
1129
1130	if err != nil {
1131		t.Fatal(err)
1132	}
1133
1134	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
1135		t.Errorf("wrong request %q, want %q", got, want)
1136	}
1137
1138	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
1139		t.Errorf("wrong response %q, want %q)", got, want)
1140	}
1141}
1142
1143func TestDataTransferServiceCheckValidCredsError(t *testing.T) {
1144	errCode := codes.PermissionDenied
1145	mockDataTransfer.err = gstatus.Error(errCode, "test error")
1146
1147	var formattedName string = fmt.Sprintf("projects/%s/dataSources/%s", "[PROJECT]", "[DATA_SOURCE]")
1148	var request = &datatransferpb.CheckValidCredsRequest{
1149		Name: formattedName,
1150	}
1151
1152	c, err := NewClient(context.Background(), clientOpt)
1153	if err != nil {
1154		t.Fatal(err)
1155	}
1156
1157	resp, err := c.CheckValidCreds(context.Background(), request)
1158
1159	if st, ok := gstatus.FromError(err); !ok {
1160		t.Errorf("got error %v, expected grpc error", err)
1161	} else if c := st.Code(); c != errCode {
1162		t.Errorf("got error code %q, want %q", c, errCode)
1163	}
1164	_ = resp
1165}
1166func TestDataTransferServiceStartManualTransferRuns(t *testing.T) {
1167	var expectedResponse *datatransferpb.StartManualTransferRunsResponse = &datatransferpb.StartManualTransferRunsResponse{}
1168
1169	mockDataTransfer.err = nil
1170	mockDataTransfer.reqs = nil
1171
1172	mockDataTransfer.resps = append(mockDataTransfer.resps[:0], expectedResponse)
1173
1174	var request *datatransferpb.StartManualTransferRunsRequest = &datatransferpb.StartManualTransferRunsRequest{}
1175
1176	c, err := NewClient(context.Background(), clientOpt)
1177	if err != nil {
1178		t.Fatal(err)
1179	}
1180
1181	resp, err := c.StartManualTransferRuns(context.Background(), request)
1182
1183	if err != nil {
1184		t.Fatal(err)
1185	}
1186
1187	if want, got := request, mockDataTransfer.reqs[0]; !proto.Equal(want, got) {
1188		t.Errorf("wrong request %q, want %q", got, want)
1189	}
1190
1191	if want, got := expectedResponse, resp; !proto.Equal(want, got) {
1192		t.Errorf("wrong response %q, want %q)", got, want)
1193	}
1194}
1195
1196func TestDataTransferServiceStartManualTransferRunsError(t *testing.T) {
1197	errCode := codes.PermissionDenied
1198	mockDataTransfer.err = gstatus.Error(errCode, "test error")
1199
1200	var request *datatransferpb.StartManualTransferRunsRequest = &datatransferpb.StartManualTransferRunsRequest{}
1201
1202	c, err := NewClient(context.Background(), clientOpt)
1203	if err != nil {
1204		t.Fatal(err)
1205	}
1206
1207	resp, err := c.StartManualTransferRuns(context.Background(), request)
1208
1209	if st, ok := gstatus.FromError(err); !ok {
1210		t.Errorf("got error %v, expected grpc error", err)
1211	} else if c := st.Code(); c != errCode {
1212		t.Errorf("got error code %q, want %q", c, errCode)
1213	}
1214	_ = resp
1215}
1216