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.
 
 
 

1783 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/v1"
  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 driverOutputResourceUri string = "driverOutputResourceUri-542229086"
  756. var driverControlFilesUri string = "driverControlFilesUri207057643"
  757. var jobUuid string = "jobUuid-1615012099"
  758. var expectedResponse = &dataprocpb.Job{
  759. DriverOutputResourceUri: driverOutputResourceUri,
  760. DriverControlFilesUri: driverControlFilesUri,
  761. JobUuid: jobUuid,
  762. }
  763. mockJobController.err = nil
  764. mockJobController.reqs = nil
  765. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  766. var projectId string = "projectId-1969970175"
  767. var region string = "region-934795532"
  768. var job *dataprocpb.Job = &dataprocpb.Job{}
  769. var request = &dataprocpb.SubmitJobRequest{
  770. ProjectId: projectId,
  771. Region: region,
  772. Job: job,
  773. }
  774. c, err := NewJobControllerClient(context.Background(), clientOpt)
  775. if err != nil {
  776. t.Fatal(err)
  777. }
  778. resp, err := c.SubmitJob(context.Background(), request)
  779. if err != nil {
  780. t.Fatal(err)
  781. }
  782. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  783. t.Errorf("wrong request %q, want %q", got, want)
  784. }
  785. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  786. t.Errorf("wrong response %q, want %q)", got, want)
  787. }
  788. }
  789. func TestJobControllerSubmitJobError(t *testing.T) {
  790. errCode := codes.PermissionDenied
  791. mockJobController.err = gstatus.Error(errCode, "test error")
  792. var projectId string = "projectId-1969970175"
  793. var region string = "region-934795532"
  794. var job *dataprocpb.Job = &dataprocpb.Job{}
  795. var request = &dataprocpb.SubmitJobRequest{
  796. ProjectId: projectId,
  797. Region: region,
  798. Job: job,
  799. }
  800. c, err := NewJobControllerClient(context.Background(), clientOpt)
  801. if err != nil {
  802. t.Fatal(err)
  803. }
  804. resp, err := c.SubmitJob(context.Background(), request)
  805. if st, ok := gstatus.FromError(err); !ok {
  806. t.Errorf("got error %v, expected grpc error", err)
  807. } else if c := st.Code(); c != errCode {
  808. t.Errorf("got error code %q, want %q", c, errCode)
  809. }
  810. _ = resp
  811. }
  812. func TestJobControllerGetJob(t *testing.T) {
  813. var driverOutputResourceUri string = "driverOutputResourceUri-542229086"
  814. var driverControlFilesUri string = "driverControlFilesUri207057643"
  815. var jobUuid string = "jobUuid-1615012099"
  816. var expectedResponse = &dataprocpb.Job{
  817. DriverOutputResourceUri: driverOutputResourceUri,
  818. DriverControlFilesUri: driverControlFilesUri,
  819. JobUuid: jobUuid,
  820. }
  821. mockJobController.err = nil
  822. mockJobController.reqs = nil
  823. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  824. var projectId string = "projectId-1969970175"
  825. var region string = "region-934795532"
  826. var jobId string = "jobId-1154752291"
  827. var request = &dataprocpb.GetJobRequest{
  828. ProjectId: projectId,
  829. Region: region,
  830. JobId: jobId,
  831. }
  832. c, err := NewJobControllerClient(context.Background(), clientOpt)
  833. if err != nil {
  834. t.Fatal(err)
  835. }
  836. resp, err := c.GetJob(context.Background(), request)
  837. if err != nil {
  838. t.Fatal(err)
  839. }
  840. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  841. t.Errorf("wrong request %q, want %q", got, want)
  842. }
  843. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  844. t.Errorf("wrong response %q, want %q)", got, want)
  845. }
  846. }
  847. func TestJobControllerGetJobError(t *testing.T) {
  848. errCode := codes.PermissionDenied
  849. mockJobController.err = gstatus.Error(errCode, "test error")
  850. var projectId string = "projectId-1969970175"
  851. var region string = "region-934795532"
  852. var jobId string = "jobId-1154752291"
  853. var request = &dataprocpb.GetJobRequest{
  854. ProjectId: projectId,
  855. Region: region,
  856. JobId: jobId,
  857. }
  858. c, err := NewJobControllerClient(context.Background(), clientOpt)
  859. if err != nil {
  860. t.Fatal(err)
  861. }
  862. resp, err := c.GetJob(context.Background(), request)
  863. if st, ok := gstatus.FromError(err); !ok {
  864. t.Errorf("got error %v, expected grpc error", err)
  865. } else if c := st.Code(); c != errCode {
  866. t.Errorf("got error code %q, want %q", c, errCode)
  867. }
  868. _ = resp
  869. }
  870. func TestJobControllerListJobs(t *testing.T) {
  871. var nextPageToken string = ""
  872. var jobsElement *dataprocpb.Job = &dataprocpb.Job{}
  873. var jobs = []*dataprocpb.Job{jobsElement}
  874. var expectedResponse = &dataprocpb.ListJobsResponse{
  875. NextPageToken: nextPageToken,
  876. Jobs: jobs,
  877. }
  878. mockJobController.err = nil
  879. mockJobController.reqs = nil
  880. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  881. var projectId string = "projectId-1969970175"
  882. var region string = "region-934795532"
  883. var request = &dataprocpb.ListJobsRequest{
  884. ProjectId: projectId,
  885. Region: region,
  886. }
  887. c, err := NewJobControllerClient(context.Background(), clientOpt)
  888. if err != nil {
  889. t.Fatal(err)
  890. }
  891. resp, err := c.ListJobs(context.Background(), request).Next()
  892. if err != nil {
  893. t.Fatal(err)
  894. }
  895. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  896. t.Errorf("wrong request %q, want %q", got, want)
  897. }
  898. want := (interface{})(expectedResponse.Jobs[0])
  899. got := (interface{})(resp)
  900. var ok bool
  901. switch want := (want).(type) {
  902. case proto.Message:
  903. ok = proto.Equal(want, got.(proto.Message))
  904. default:
  905. ok = want == got
  906. }
  907. if !ok {
  908. t.Errorf("wrong response %q, want %q)", got, want)
  909. }
  910. }
  911. func TestJobControllerListJobsError(t *testing.T) {
  912. errCode := codes.PermissionDenied
  913. mockJobController.err = gstatus.Error(errCode, "test error")
  914. var projectId string = "projectId-1969970175"
  915. var region string = "region-934795532"
  916. var request = &dataprocpb.ListJobsRequest{
  917. ProjectId: projectId,
  918. Region: region,
  919. }
  920. c, err := NewJobControllerClient(context.Background(), clientOpt)
  921. if err != nil {
  922. t.Fatal(err)
  923. }
  924. resp, err := c.ListJobs(context.Background(), request).Next()
  925. if st, ok := gstatus.FromError(err); !ok {
  926. t.Errorf("got error %v, expected grpc error", err)
  927. } else if c := st.Code(); c != errCode {
  928. t.Errorf("got error code %q, want %q", c, errCode)
  929. }
  930. _ = resp
  931. }
  932. func TestJobControllerUpdateJob(t *testing.T) {
  933. var driverOutputResourceUri string = "driverOutputResourceUri-542229086"
  934. var driverControlFilesUri string = "driverControlFilesUri207057643"
  935. var jobUuid string = "jobUuid-1615012099"
  936. var expectedResponse = &dataprocpb.Job{
  937. DriverOutputResourceUri: driverOutputResourceUri,
  938. DriverControlFilesUri: driverControlFilesUri,
  939. JobUuid: jobUuid,
  940. }
  941. mockJobController.err = nil
  942. mockJobController.reqs = nil
  943. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  944. var projectId string = "projectId-1969970175"
  945. var region string = "region-934795532"
  946. var jobId string = "jobId-1154752291"
  947. var job *dataprocpb.Job = &dataprocpb.Job{}
  948. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  949. var request = &dataprocpb.UpdateJobRequest{
  950. ProjectId: projectId,
  951. Region: region,
  952. JobId: jobId,
  953. Job: job,
  954. UpdateMask: updateMask,
  955. }
  956. c, err := NewJobControllerClient(context.Background(), clientOpt)
  957. if err != nil {
  958. t.Fatal(err)
  959. }
  960. resp, err := c.UpdateJob(context.Background(), request)
  961. if err != nil {
  962. t.Fatal(err)
  963. }
  964. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  965. t.Errorf("wrong request %q, want %q", got, want)
  966. }
  967. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  968. t.Errorf("wrong response %q, want %q)", got, want)
  969. }
  970. }
  971. func TestJobControllerUpdateJobError(t *testing.T) {
  972. errCode := codes.PermissionDenied
  973. mockJobController.err = gstatus.Error(errCode, "test error")
  974. var projectId string = "projectId-1969970175"
  975. var region string = "region-934795532"
  976. var jobId string = "jobId-1154752291"
  977. var job *dataprocpb.Job = &dataprocpb.Job{}
  978. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  979. var request = &dataprocpb.UpdateJobRequest{
  980. ProjectId: projectId,
  981. Region: region,
  982. JobId: jobId,
  983. Job: job,
  984. UpdateMask: updateMask,
  985. }
  986. c, err := NewJobControllerClient(context.Background(), clientOpt)
  987. if err != nil {
  988. t.Fatal(err)
  989. }
  990. resp, err := c.UpdateJob(context.Background(), request)
  991. if st, ok := gstatus.FromError(err); !ok {
  992. t.Errorf("got error %v, expected grpc error", err)
  993. } else if c := st.Code(); c != errCode {
  994. t.Errorf("got error code %q, want %q", c, errCode)
  995. }
  996. _ = resp
  997. }
  998. func TestJobControllerCancelJob(t *testing.T) {
  999. var driverOutputResourceUri string = "driverOutputResourceUri-542229086"
  1000. var driverControlFilesUri string = "driverControlFilesUri207057643"
  1001. var jobUuid string = "jobUuid-1615012099"
  1002. var expectedResponse = &dataprocpb.Job{
  1003. DriverOutputResourceUri: driverOutputResourceUri,
  1004. DriverControlFilesUri: driverControlFilesUri,
  1005. JobUuid: jobUuid,
  1006. }
  1007. mockJobController.err = nil
  1008. mockJobController.reqs = nil
  1009. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  1010. var projectId string = "projectId-1969970175"
  1011. var region string = "region-934795532"
  1012. var jobId string = "jobId-1154752291"
  1013. var request = &dataprocpb.CancelJobRequest{
  1014. ProjectId: projectId,
  1015. Region: region,
  1016. JobId: jobId,
  1017. }
  1018. c, err := NewJobControllerClient(context.Background(), clientOpt)
  1019. if err != nil {
  1020. t.Fatal(err)
  1021. }
  1022. resp, err := c.CancelJob(context.Background(), request)
  1023. if err != nil {
  1024. t.Fatal(err)
  1025. }
  1026. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  1027. t.Errorf("wrong request %q, want %q", got, want)
  1028. }
  1029. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1030. t.Errorf("wrong response %q, want %q)", got, want)
  1031. }
  1032. }
  1033. func TestJobControllerCancelJobError(t *testing.T) {
  1034. errCode := codes.PermissionDenied
  1035. mockJobController.err = gstatus.Error(errCode, "test error")
  1036. var projectId string = "projectId-1969970175"
  1037. var region string = "region-934795532"
  1038. var jobId string = "jobId-1154752291"
  1039. var request = &dataprocpb.CancelJobRequest{
  1040. ProjectId: projectId,
  1041. Region: region,
  1042. JobId: jobId,
  1043. }
  1044. c, err := NewJobControllerClient(context.Background(), clientOpt)
  1045. if err != nil {
  1046. t.Fatal(err)
  1047. }
  1048. resp, err := c.CancelJob(context.Background(), request)
  1049. if st, ok := gstatus.FromError(err); !ok {
  1050. t.Errorf("got error %v, expected grpc error", err)
  1051. } else if c := st.Code(); c != errCode {
  1052. t.Errorf("got error code %q, want %q", c, errCode)
  1053. }
  1054. _ = resp
  1055. }
  1056. func TestJobControllerDeleteJob(t *testing.T) {
  1057. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1058. mockJobController.err = nil
  1059. mockJobController.reqs = nil
  1060. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  1061. var projectId string = "projectId-1969970175"
  1062. var region string = "region-934795532"
  1063. var jobId string = "jobId-1154752291"
  1064. var request = &dataprocpb.DeleteJobRequest{
  1065. ProjectId: projectId,
  1066. Region: region,
  1067. JobId: jobId,
  1068. }
  1069. c, err := NewJobControllerClient(context.Background(), clientOpt)
  1070. if err != nil {
  1071. t.Fatal(err)
  1072. }
  1073. err = c.DeleteJob(context.Background(), request)
  1074. if err != nil {
  1075. t.Fatal(err)
  1076. }
  1077. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  1078. t.Errorf("wrong request %q, want %q", got, want)
  1079. }
  1080. }
  1081. func TestJobControllerDeleteJobError(t *testing.T) {
  1082. errCode := codes.PermissionDenied
  1083. mockJobController.err = gstatus.Error(errCode, "test error")
  1084. var projectId string = "projectId-1969970175"
  1085. var region string = "region-934795532"
  1086. var jobId string = "jobId-1154752291"
  1087. var request = &dataprocpb.DeleteJobRequest{
  1088. ProjectId: projectId,
  1089. Region: region,
  1090. JobId: jobId,
  1091. }
  1092. c, err := NewJobControllerClient(context.Background(), clientOpt)
  1093. if err != nil {
  1094. t.Fatal(err)
  1095. }
  1096. err = c.DeleteJob(context.Background(), request)
  1097. if st, ok := gstatus.FromError(err); !ok {
  1098. t.Errorf("got error %v, expected grpc error", err)
  1099. } else if c := st.Code(); c != errCode {
  1100. t.Errorf("got error code %q, want %q", c, errCode)
  1101. }
  1102. }
  1103. func TestWorkflowTemplateServiceCreateWorkflowTemplate(t *testing.T) {
  1104. var id string = "id3355"
  1105. var name string = "name3373707"
  1106. var version int32 = 351608024
  1107. var expectedResponse = &dataprocpb.WorkflowTemplate{
  1108. Id: id,
  1109. Name: name,
  1110. Version: version,
  1111. }
  1112. mockWorkflowTemplate.err = nil
  1113. mockWorkflowTemplate.reqs = nil
  1114. mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], expectedResponse)
  1115. var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]")
  1116. var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{}
  1117. var request = &dataprocpb.CreateWorkflowTemplateRequest{
  1118. Parent: formattedParent,
  1119. Template: template,
  1120. }
  1121. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1122. if err != nil {
  1123. t.Fatal(err)
  1124. }
  1125. resp, err := c.CreateWorkflowTemplate(context.Background(), request)
  1126. if err != nil {
  1127. t.Fatal(err)
  1128. }
  1129. if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) {
  1130. t.Errorf("wrong request %q, want %q", got, want)
  1131. }
  1132. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1133. t.Errorf("wrong response %q, want %q)", got, want)
  1134. }
  1135. }
  1136. func TestWorkflowTemplateServiceCreateWorkflowTemplateError(t *testing.T) {
  1137. errCode := codes.PermissionDenied
  1138. mockWorkflowTemplate.err = gstatus.Error(errCode, "test error")
  1139. var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]")
  1140. var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{}
  1141. var request = &dataprocpb.CreateWorkflowTemplateRequest{
  1142. Parent: formattedParent,
  1143. Template: template,
  1144. }
  1145. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1146. if err != nil {
  1147. t.Fatal(err)
  1148. }
  1149. resp, err := c.CreateWorkflowTemplate(context.Background(), request)
  1150. if st, ok := gstatus.FromError(err); !ok {
  1151. t.Errorf("got error %v, expected grpc error", err)
  1152. } else if c := st.Code(); c != errCode {
  1153. t.Errorf("got error code %q, want %q", c, errCode)
  1154. }
  1155. _ = resp
  1156. }
  1157. func TestWorkflowTemplateServiceGetWorkflowTemplate(t *testing.T) {
  1158. var id string = "id3355"
  1159. var name2 string = "name2-1052831874"
  1160. var version int32 = 351608024
  1161. var expectedResponse = &dataprocpb.WorkflowTemplate{
  1162. Id: id,
  1163. Name: name2,
  1164. Version: version,
  1165. }
  1166. mockWorkflowTemplate.err = nil
  1167. mockWorkflowTemplate.reqs = nil
  1168. mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], expectedResponse)
  1169. var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]")
  1170. var request = &dataprocpb.GetWorkflowTemplateRequest{
  1171. Name: formattedName,
  1172. }
  1173. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1174. if err != nil {
  1175. t.Fatal(err)
  1176. }
  1177. resp, err := c.GetWorkflowTemplate(context.Background(), request)
  1178. if err != nil {
  1179. t.Fatal(err)
  1180. }
  1181. if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) {
  1182. t.Errorf("wrong request %q, want %q", got, want)
  1183. }
  1184. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1185. t.Errorf("wrong response %q, want %q)", got, want)
  1186. }
  1187. }
  1188. func TestWorkflowTemplateServiceGetWorkflowTemplateError(t *testing.T) {
  1189. errCode := codes.PermissionDenied
  1190. mockWorkflowTemplate.err = gstatus.Error(errCode, "test error")
  1191. var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]")
  1192. var request = &dataprocpb.GetWorkflowTemplateRequest{
  1193. Name: formattedName,
  1194. }
  1195. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1196. if err != nil {
  1197. t.Fatal(err)
  1198. }
  1199. resp, err := c.GetWorkflowTemplate(context.Background(), request)
  1200. if st, ok := gstatus.FromError(err); !ok {
  1201. t.Errorf("got error %v, expected grpc error", err)
  1202. } else if c := st.Code(); c != errCode {
  1203. t.Errorf("got error code %q, want %q", c, errCode)
  1204. }
  1205. _ = resp
  1206. }
  1207. func TestWorkflowTemplateServiceInstantiateWorkflowTemplate(t *testing.T) {
  1208. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1209. mockWorkflowTemplate.err = nil
  1210. mockWorkflowTemplate.reqs = nil
  1211. any, err := ptypes.MarshalAny(expectedResponse)
  1212. if err != nil {
  1213. t.Fatal(err)
  1214. }
  1215. mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], &longrunningpb.Operation{
  1216. Name: "longrunning-test",
  1217. Done: true,
  1218. Result: &longrunningpb.Operation_Response{Response: any},
  1219. })
  1220. var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]")
  1221. var request = &dataprocpb.InstantiateWorkflowTemplateRequest{
  1222. Name: formattedName,
  1223. }
  1224. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1225. if err != nil {
  1226. t.Fatal(err)
  1227. }
  1228. respLRO, err := c.InstantiateWorkflowTemplate(context.Background(), request)
  1229. if err != nil {
  1230. t.Fatal(err)
  1231. }
  1232. err = respLRO.Wait(context.Background())
  1233. if err != nil {
  1234. t.Fatal(err)
  1235. }
  1236. if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) {
  1237. t.Errorf("wrong request %q, want %q", got, want)
  1238. }
  1239. }
  1240. func TestWorkflowTemplateServiceInstantiateWorkflowTemplateError(t *testing.T) {
  1241. errCode := codes.PermissionDenied
  1242. mockWorkflowTemplate.err = nil
  1243. mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], &longrunningpb.Operation{
  1244. Name: "longrunning-test",
  1245. Done: true,
  1246. Result: &longrunningpb.Operation_Error{
  1247. Error: &status.Status{
  1248. Code: int32(errCode),
  1249. Message: "test error",
  1250. },
  1251. },
  1252. })
  1253. var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]")
  1254. var request = &dataprocpb.InstantiateWorkflowTemplateRequest{
  1255. Name: formattedName,
  1256. }
  1257. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1258. if err != nil {
  1259. t.Fatal(err)
  1260. }
  1261. respLRO, err := c.InstantiateWorkflowTemplate(context.Background(), request)
  1262. if err != nil {
  1263. t.Fatal(err)
  1264. }
  1265. err = respLRO.Wait(context.Background())
  1266. if st, ok := gstatus.FromError(err); !ok {
  1267. t.Errorf("got error %v, expected grpc error", err)
  1268. } else if c := st.Code(); c != errCode {
  1269. t.Errorf("got error code %q, want %q", c, errCode)
  1270. }
  1271. }
  1272. func TestWorkflowTemplateServiceInstantiateInlineWorkflowTemplate(t *testing.T) {
  1273. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1274. mockWorkflowTemplate.err = nil
  1275. mockWorkflowTemplate.reqs = nil
  1276. any, err := ptypes.MarshalAny(expectedResponse)
  1277. if err != nil {
  1278. t.Fatal(err)
  1279. }
  1280. mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], &longrunningpb.Operation{
  1281. Name: "longrunning-test",
  1282. Done: true,
  1283. Result: &longrunningpb.Operation_Response{Response: any},
  1284. })
  1285. var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]")
  1286. var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{}
  1287. var request = &dataprocpb.InstantiateInlineWorkflowTemplateRequest{
  1288. Parent: formattedParent,
  1289. Template: template,
  1290. }
  1291. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1292. if err != nil {
  1293. t.Fatal(err)
  1294. }
  1295. respLRO, err := c.InstantiateInlineWorkflowTemplate(context.Background(), request)
  1296. if err != nil {
  1297. t.Fatal(err)
  1298. }
  1299. err = respLRO.Wait(context.Background())
  1300. if err != nil {
  1301. t.Fatal(err)
  1302. }
  1303. if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) {
  1304. t.Errorf("wrong request %q, want %q", got, want)
  1305. }
  1306. }
  1307. func TestWorkflowTemplateServiceInstantiateInlineWorkflowTemplateError(t *testing.T) {
  1308. errCode := codes.PermissionDenied
  1309. mockWorkflowTemplate.err = nil
  1310. mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], &longrunningpb.Operation{
  1311. Name: "longrunning-test",
  1312. Done: true,
  1313. Result: &longrunningpb.Operation_Error{
  1314. Error: &status.Status{
  1315. Code: int32(errCode),
  1316. Message: "test error",
  1317. },
  1318. },
  1319. })
  1320. var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]")
  1321. var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{}
  1322. var request = &dataprocpb.InstantiateInlineWorkflowTemplateRequest{
  1323. Parent: formattedParent,
  1324. Template: template,
  1325. }
  1326. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1327. if err != nil {
  1328. t.Fatal(err)
  1329. }
  1330. respLRO, err := c.InstantiateInlineWorkflowTemplate(context.Background(), request)
  1331. if err != nil {
  1332. t.Fatal(err)
  1333. }
  1334. err = respLRO.Wait(context.Background())
  1335. if st, ok := gstatus.FromError(err); !ok {
  1336. t.Errorf("got error %v, expected grpc error", err)
  1337. } else if c := st.Code(); c != errCode {
  1338. t.Errorf("got error code %q, want %q", c, errCode)
  1339. }
  1340. }
  1341. func TestWorkflowTemplateServiceUpdateWorkflowTemplate(t *testing.T) {
  1342. var id string = "id3355"
  1343. var name string = "name3373707"
  1344. var version int32 = 351608024
  1345. var expectedResponse = &dataprocpb.WorkflowTemplate{
  1346. Id: id,
  1347. Name: name,
  1348. Version: version,
  1349. }
  1350. mockWorkflowTemplate.err = nil
  1351. mockWorkflowTemplate.reqs = nil
  1352. mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], expectedResponse)
  1353. var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{}
  1354. var request = &dataprocpb.UpdateWorkflowTemplateRequest{
  1355. Template: template,
  1356. }
  1357. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1358. if err != nil {
  1359. t.Fatal(err)
  1360. }
  1361. resp, err := c.UpdateWorkflowTemplate(context.Background(), request)
  1362. if err != nil {
  1363. t.Fatal(err)
  1364. }
  1365. if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) {
  1366. t.Errorf("wrong request %q, want %q", got, want)
  1367. }
  1368. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1369. t.Errorf("wrong response %q, want %q)", got, want)
  1370. }
  1371. }
  1372. func TestWorkflowTemplateServiceUpdateWorkflowTemplateError(t *testing.T) {
  1373. errCode := codes.PermissionDenied
  1374. mockWorkflowTemplate.err = gstatus.Error(errCode, "test error")
  1375. var template *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{}
  1376. var request = &dataprocpb.UpdateWorkflowTemplateRequest{
  1377. Template: template,
  1378. }
  1379. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1380. if err != nil {
  1381. t.Fatal(err)
  1382. }
  1383. resp, err := c.UpdateWorkflowTemplate(context.Background(), request)
  1384. if st, ok := gstatus.FromError(err); !ok {
  1385. t.Errorf("got error %v, expected grpc error", err)
  1386. } else if c := st.Code(); c != errCode {
  1387. t.Errorf("got error code %q, want %q", c, errCode)
  1388. }
  1389. _ = resp
  1390. }
  1391. func TestWorkflowTemplateServiceListWorkflowTemplates(t *testing.T) {
  1392. var nextPageToken string = ""
  1393. var templatesElement *dataprocpb.WorkflowTemplate = &dataprocpb.WorkflowTemplate{}
  1394. var templates = []*dataprocpb.WorkflowTemplate{templatesElement}
  1395. var expectedResponse = &dataprocpb.ListWorkflowTemplatesResponse{
  1396. NextPageToken: nextPageToken,
  1397. Templates: templates,
  1398. }
  1399. mockWorkflowTemplate.err = nil
  1400. mockWorkflowTemplate.reqs = nil
  1401. mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], expectedResponse)
  1402. var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]")
  1403. var request = &dataprocpb.ListWorkflowTemplatesRequest{
  1404. Parent: formattedParent,
  1405. }
  1406. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1407. if err != nil {
  1408. t.Fatal(err)
  1409. }
  1410. resp, err := c.ListWorkflowTemplates(context.Background(), request).Next()
  1411. if err != nil {
  1412. t.Fatal(err)
  1413. }
  1414. if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) {
  1415. t.Errorf("wrong request %q, want %q", got, want)
  1416. }
  1417. want := (interface{})(expectedResponse.Templates[0])
  1418. got := (interface{})(resp)
  1419. var ok bool
  1420. switch want := (want).(type) {
  1421. case proto.Message:
  1422. ok = proto.Equal(want, got.(proto.Message))
  1423. default:
  1424. ok = want == got
  1425. }
  1426. if !ok {
  1427. t.Errorf("wrong response %q, want %q)", got, want)
  1428. }
  1429. }
  1430. func TestWorkflowTemplateServiceListWorkflowTemplatesError(t *testing.T) {
  1431. errCode := codes.PermissionDenied
  1432. mockWorkflowTemplate.err = gstatus.Error(errCode, "test error")
  1433. var formattedParent string = fmt.Sprintf("projects/%s/regions/%s", "[PROJECT]", "[REGION]")
  1434. var request = &dataprocpb.ListWorkflowTemplatesRequest{
  1435. Parent: formattedParent,
  1436. }
  1437. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1438. if err != nil {
  1439. t.Fatal(err)
  1440. }
  1441. resp, err := c.ListWorkflowTemplates(context.Background(), request).Next()
  1442. if st, ok := gstatus.FromError(err); !ok {
  1443. t.Errorf("got error %v, expected grpc error", err)
  1444. } else if c := st.Code(); c != errCode {
  1445. t.Errorf("got error code %q, want %q", c, errCode)
  1446. }
  1447. _ = resp
  1448. }
  1449. func TestWorkflowTemplateServiceDeleteWorkflowTemplate(t *testing.T) {
  1450. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  1451. mockWorkflowTemplate.err = nil
  1452. mockWorkflowTemplate.reqs = nil
  1453. mockWorkflowTemplate.resps = append(mockWorkflowTemplate.resps[:0], expectedResponse)
  1454. var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]")
  1455. var request = &dataprocpb.DeleteWorkflowTemplateRequest{
  1456. Name: formattedName,
  1457. }
  1458. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1459. if err != nil {
  1460. t.Fatal(err)
  1461. }
  1462. err = c.DeleteWorkflowTemplate(context.Background(), request)
  1463. if err != nil {
  1464. t.Fatal(err)
  1465. }
  1466. if want, got := request, mockWorkflowTemplate.reqs[0]; !proto.Equal(want, got) {
  1467. t.Errorf("wrong request %q, want %q", got, want)
  1468. }
  1469. }
  1470. func TestWorkflowTemplateServiceDeleteWorkflowTemplateError(t *testing.T) {
  1471. errCode := codes.PermissionDenied
  1472. mockWorkflowTemplate.err = gstatus.Error(errCode, "test error")
  1473. var formattedName string = fmt.Sprintf("projects/%s/regions/%s/workflowTemplates/%s", "[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]")
  1474. var request = &dataprocpb.DeleteWorkflowTemplateRequest{
  1475. Name: formattedName,
  1476. }
  1477. c, err := NewWorkflowTemplateClient(context.Background(), clientOpt)
  1478. if err != nil {
  1479. t.Fatal(err)
  1480. }
  1481. err = c.DeleteWorkflowTemplate(context.Background(), request)
  1482. if st, ok := gstatus.FromError(err); !ok {
  1483. t.Errorf("got error %v, expected grpc error", err)
  1484. } else if c := st.Code(); c != errCode {
  1485. t.Errorf("got error code %q, want %q", c, errCode)
  1486. }
  1487. }