You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1791 lines
52 KiB

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