您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

1197 行
34 KiB

  1. // Copyright 2018 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. // AUTO-GENERATED CODE. 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. "flag"
  24. "fmt"
  25. "io"
  26. "log"
  27. "net"
  28. "os"
  29. "strings"
  30. "testing"
  31. "github.com/golang/protobuf/proto"
  32. "github.com/golang/protobuf/ptypes"
  33. "golang.org/x/net/context"
  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. // clientOpt is the option tests should use to connect to the test server.
  199. // It is initialized by TestMain.
  200. var clientOpt option.ClientOption
  201. var (
  202. mockClusterController mockClusterControllerServer
  203. mockJobController mockJobControllerServer
  204. )
  205. func TestMain(m *testing.M) {
  206. flag.Parse()
  207. serv := grpc.NewServer()
  208. dataprocpb.RegisterClusterControllerServer(serv, &mockClusterController)
  209. dataprocpb.RegisterJobControllerServer(serv, &mockJobController)
  210. lis, err := net.Listen("tcp", "localhost:0")
  211. if err != nil {
  212. log.Fatal(err)
  213. }
  214. go serv.Serve(lis)
  215. conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure())
  216. if err != nil {
  217. log.Fatal(err)
  218. }
  219. clientOpt = option.WithGRPCConn(conn)
  220. os.Exit(m.Run())
  221. }
  222. func TestClusterControllerCreateCluster(t *testing.T) {
  223. var projectId2 string = "projectId2939242356"
  224. var clusterName string = "clusterName-1018081872"
  225. var clusterUuid string = "clusterUuid-1017854240"
  226. var expectedResponse = &dataprocpb.Cluster{
  227. ProjectId: projectId2,
  228. ClusterName: clusterName,
  229. ClusterUuid: clusterUuid,
  230. }
  231. mockClusterController.err = nil
  232. mockClusterController.reqs = nil
  233. any, err := ptypes.MarshalAny(expectedResponse)
  234. if err != nil {
  235. t.Fatal(err)
  236. }
  237. mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{
  238. Name: "longrunning-test",
  239. Done: true,
  240. Result: &longrunningpb.Operation_Response{Response: any},
  241. })
  242. var projectId string = "projectId-1969970175"
  243. var region string = "region-934795532"
  244. var cluster *dataprocpb.Cluster = &dataprocpb.Cluster{}
  245. var request = &dataprocpb.CreateClusterRequest{
  246. ProjectId: projectId,
  247. Region: region,
  248. Cluster: cluster,
  249. }
  250. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  251. if err != nil {
  252. t.Fatal(err)
  253. }
  254. respLRO, err := c.CreateCluster(context.Background(), request)
  255. if err != nil {
  256. t.Fatal(err)
  257. }
  258. resp, err := respLRO.Wait(context.Background())
  259. if err != nil {
  260. t.Fatal(err)
  261. }
  262. if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) {
  263. t.Errorf("wrong request %q, want %q", got, want)
  264. }
  265. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  266. t.Errorf("wrong response %q, want %q)", got, want)
  267. }
  268. }
  269. func TestClusterControllerCreateClusterError(t *testing.T) {
  270. errCode := codes.PermissionDenied
  271. mockClusterController.err = nil
  272. mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{
  273. Name: "longrunning-test",
  274. Done: true,
  275. Result: &longrunningpb.Operation_Error{
  276. Error: &status.Status{
  277. Code: int32(errCode),
  278. Message: "test error",
  279. },
  280. },
  281. })
  282. var projectId string = "projectId-1969970175"
  283. var region string = "region-934795532"
  284. var cluster *dataprocpb.Cluster = &dataprocpb.Cluster{}
  285. var request = &dataprocpb.CreateClusterRequest{
  286. ProjectId: projectId,
  287. Region: region,
  288. Cluster: cluster,
  289. }
  290. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  291. if err != nil {
  292. t.Fatal(err)
  293. }
  294. respLRO, err := c.CreateCluster(context.Background(), request)
  295. if err != nil {
  296. t.Fatal(err)
  297. }
  298. resp, err := respLRO.Wait(context.Background())
  299. if st, ok := gstatus.FromError(err); !ok {
  300. t.Errorf("got error %v, expected grpc error", err)
  301. } else if c := st.Code(); c != errCode {
  302. t.Errorf("got error code %q, want %q", c, errCode)
  303. }
  304. _ = resp
  305. }
  306. func TestClusterControllerUpdateCluster(t *testing.T) {
  307. var projectId2 string = "projectId2939242356"
  308. var clusterName2 string = "clusterName2875867491"
  309. var clusterUuid string = "clusterUuid-1017854240"
  310. var expectedResponse = &dataprocpb.Cluster{
  311. ProjectId: projectId2,
  312. ClusterName: clusterName2,
  313. ClusterUuid: clusterUuid,
  314. }
  315. mockClusterController.err = nil
  316. mockClusterController.reqs = nil
  317. any, err := ptypes.MarshalAny(expectedResponse)
  318. if err != nil {
  319. t.Fatal(err)
  320. }
  321. mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{
  322. Name: "longrunning-test",
  323. Done: true,
  324. Result: &longrunningpb.Operation_Response{Response: any},
  325. })
  326. var projectId string = "projectId-1969970175"
  327. var region string = "region-934795532"
  328. var clusterName string = "clusterName-1018081872"
  329. var cluster *dataprocpb.Cluster = &dataprocpb.Cluster{}
  330. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  331. var request = &dataprocpb.UpdateClusterRequest{
  332. ProjectId: projectId,
  333. Region: region,
  334. ClusterName: clusterName,
  335. Cluster: cluster,
  336. UpdateMask: updateMask,
  337. }
  338. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  339. if err != nil {
  340. t.Fatal(err)
  341. }
  342. respLRO, err := c.UpdateCluster(context.Background(), request)
  343. if err != nil {
  344. t.Fatal(err)
  345. }
  346. resp, err := respLRO.Wait(context.Background())
  347. if err != nil {
  348. t.Fatal(err)
  349. }
  350. if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) {
  351. t.Errorf("wrong request %q, want %q", got, want)
  352. }
  353. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  354. t.Errorf("wrong response %q, want %q)", got, want)
  355. }
  356. }
  357. func TestClusterControllerUpdateClusterError(t *testing.T) {
  358. errCode := codes.PermissionDenied
  359. mockClusterController.err = nil
  360. mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{
  361. Name: "longrunning-test",
  362. Done: true,
  363. Result: &longrunningpb.Operation_Error{
  364. Error: &status.Status{
  365. Code: int32(errCode),
  366. Message: "test error",
  367. },
  368. },
  369. })
  370. var projectId string = "projectId-1969970175"
  371. var region string = "region-934795532"
  372. var clusterName string = "clusterName-1018081872"
  373. var cluster *dataprocpb.Cluster = &dataprocpb.Cluster{}
  374. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  375. var request = &dataprocpb.UpdateClusterRequest{
  376. ProjectId: projectId,
  377. Region: region,
  378. ClusterName: clusterName,
  379. Cluster: cluster,
  380. UpdateMask: updateMask,
  381. }
  382. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  383. if err != nil {
  384. t.Fatal(err)
  385. }
  386. respLRO, err := c.UpdateCluster(context.Background(), request)
  387. if err != nil {
  388. t.Fatal(err)
  389. }
  390. resp, err := respLRO.Wait(context.Background())
  391. if st, ok := gstatus.FromError(err); !ok {
  392. t.Errorf("got error %v, expected grpc error", err)
  393. } else if c := st.Code(); c != errCode {
  394. t.Errorf("got error code %q, want %q", c, errCode)
  395. }
  396. _ = resp
  397. }
  398. func TestClusterControllerDeleteCluster(t *testing.T) {
  399. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  400. mockClusterController.err = nil
  401. mockClusterController.reqs = nil
  402. any, err := ptypes.MarshalAny(expectedResponse)
  403. if err != nil {
  404. t.Fatal(err)
  405. }
  406. mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{
  407. Name: "longrunning-test",
  408. Done: true,
  409. Result: &longrunningpb.Operation_Response{Response: any},
  410. })
  411. var projectId string = "projectId-1969970175"
  412. var region string = "region-934795532"
  413. var clusterName string = "clusterName-1018081872"
  414. var request = &dataprocpb.DeleteClusterRequest{
  415. ProjectId: projectId,
  416. Region: region,
  417. ClusterName: clusterName,
  418. }
  419. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  420. if err != nil {
  421. t.Fatal(err)
  422. }
  423. respLRO, err := c.DeleteCluster(context.Background(), request)
  424. if err != nil {
  425. t.Fatal(err)
  426. }
  427. err = respLRO.Wait(context.Background())
  428. if err != nil {
  429. t.Fatal(err)
  430. }
  431. if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) {
  432. t.Errorf("wrong request %q, want %q", got, want)
  433. }
  434. }
  435. func TestClusterControllerDeleteClusterError(t *testing.T) {
  436. errCode := codes.PermissionDenied
  437. mockClusterController.err = nil
  438. mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{
  439. Name: "longrunning-test",
  440. Done: true,
  441. Result: &longrunningpb.Operation_Error{
  442. Error: &status.Status{
  443. Code: int32(errCode),
  444. Message: "test error",
  445. },
  446. },
  447. })
  448. var projectId string = "projectId-1969970175"
  449. var region string = "region-934795532"
  450. var clusterName string = "clusterName-1018081872"
  451. var request = &dataprocpb.DeleteClusterRequest{
  452. ProjectId: projectId,
  453. Region: region,
  454. ClusterName: clusterName,
  455. }
  456. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  457. if err != nil {
  458. t.Fatal(err)
  459. }
  460. respLRO, err := c.DeleteCluster(context.Background(), request)
  461. if err != nil {
  462. t.Fatal(err)
  463. }
  464. err = respLRO.Wait(context.Background())
  465. if st, ok := gstatus.FromError(err); !ok {
  466. t.Errorf("got error %v, expected grpc error", err)
  467. } else if c := st.Code(); c != errCode {
  468. t.Errorf("got error code %q, want %q", c, errCode)
  469. }
  470. }
  471. func TestClusterControllerGetCluster(t *testing.T) {
  472. var projectId2 string = "projectId2939242356"
  473. var clusterName2 string = "clusterName2875867491"
  474. var clusterUuid string = "clusterUuid-1017854240"
  475. var expectedResponse = &dataprocpb.Cluster{
  476. ProjectId: projectId2,
  477. ClusterName: clusterName2,
  478. ClusterUuid: clusterUuid,
  479. }
  480. mockClusterController.err = nil
  481. mockClusterController.reqs = nil
  482. mockClusterController.resps = append(mockClusterController.resps[:0], expectedResponse)
  483. var projectId string = "projectId-1969970175"
  484. var region string = "region-934795532"
  485. var clusterName string = "clusterName-1018081872"
  486. var request = &dataprocpb.GetClusterRequest{
  487. ProjectId: projectId,
  488. Region: region,
  489. ClusterName: clusterName,
  490. }
  491. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  492. if err != nil {
  493. t.Fatal(err)
  494. }
  495. resp, err := c.GetCluster(context.Background(), request)
  496. if err != nil {
  497. t.Fatal(err)
  498. }
  499. if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) {
  500. t.Errorf("wrong request %q, want %q", got, want)
  501. }
  502. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  503. t.Errorf("wrong response %q, want %q)", got, want)
  504. }
  505. }
  506. func TestClusterControllerGetClusterError(t *testing.T) {
  507. errCode := codes.PermissionDenied
  508. mockClusterController.err = gstatus.Error(errCode, "test error")
  509. var projectId string = "projectId-1969970175"
  510. var region string = "region-934795532"
  511. var clusterName string = "clusterName-1018081872"
  512. var request = &dataprocpb.GetClusterRequest{
  513. ProjectId: projectId,
  514. Region: region,
  515. ClusterName: clusterName,
  516. }
  517. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  518. if err != nil {
  519. t.Fatal(err)
  520. }
  521. resp, err := c.GetCluster(context.Background(), request)
  522. if st, ok := gstatus.FromError(err); !ok {
  523. t.Errorf("got error %v, expected grpc error", err)
  524. } else if c := st.Code(); c != errCode {
  525. t.Errorf("got error code %q, want %q", c, errCode)
  526. }
  527. _ = resp
  528. }
  529. func TestClusterControllerListClusters(t *testing.T) {
  530. var nextPageToken string = ""
  531. var clustersElement *dataprocpb.Cluster = &dataprocpb.Cluster{}
  532. var clusters = []*dataprocpb.Cluster{clustersElement}
  533. var expectedResponse = &dataprocpb.ListClustersResponse{
  534. NextPageToken: nextPageToken,
  535. Clusters: clusters,
  536. }
  537. mockClusterController.err = nil
  538. mockClusterController.reqs = nil
  539. mockClusterController.resps = append(mockClusterController.resps[:0], expectedResponse)
  540. var projectId string = "projectId-1969970175"
  541. var region string = "region-934795532"
  542. var request = &dataprocpb.ListClustersRequest{
  543. ProjectId: projectId,
  544. Region: region,
  545. }
  546. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  547. if err != nil {
  548. t.Fatal(err)
  549. }
  550. resp, err := c.ListClusters(context.Background(), request).Next()
  551. if err != nil {
  552. t.Fatal(err)
  553. }
  554. if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) {
  555. t.Errorf("wrong request %q, want %q", got, want)
  556. }
  557. want := (interface{})(expectedResponse.Clusters[0])
  558. got := (interface{})(resp)
  559. var ok bool
  560. switch want := (want).(type) {
  561. case proto.Message:
  562. ok = proto.Equal(want, got.(proto.Message))
  563. default:
  564. ok = want == got
  565. }
  566. if !ok {
  567. t.Errorf("wrong response %q, want %q)", got, want)
  568. }
  569. }
  570. func TestClusterControllerListClustersError(t *testing.T) {
  571. errCode := codes.PermissionDenied
  572. mockClusterController.err = gstatus.Error(errCode, "test error")
  573. var projectId string = "projectId-1969970175"
  574. var region string = "region-934795532"
  575. var request = &dataprocpb.ListClustersRequest{
  576. ProjectId: projectId,
  577. Region: region,
  578. }
  579. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  580. if err != nil {
  581. t.Fatal(err)
  582. }
  583. resp, err := c.ListClusters(context.Background(), request).Next()
  584. if st, ok := gstatus.FromError(err); !ok {
  585. t.Errorf("got error %v, expected grpc error", err)
  586. } else if c := st.Code(); c != errCode {
  587. t.Errorf("got error code %q, want %q", c, errCode)
  588. }
  589. _ = resp
  590. }
  591. func TestClusterControllerDiagnoseCluster(t *testing.T) {
  592. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  593. mockClusterController.err = nil
  594. mockClusterController.reqs = nil
  595. any, err := ptypes.MarshalAny(expectedResponse)
  596. if err != nil {
  597. t.Fatal(err)
  598. }
  599. mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{
  600. Name: "longrunning-test",
  601. Done: true,
  602. Result: &longrunningpb.Operation_Response{Response: any},
  603. })
  604. var projectId string = "projectId-1969970175"
  605. var region string = "region-934795532"
  606. var clusterName string = "clusterName-1018081872"
  607. var request = &dataprocpb.DiagnoseClusterRequest{
  608. ProjectId: projectId,
  609. Region: region,
  610. ClusterName: clusterName,
  611. }
  612. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  613. if err != nil {
  614. t.Fatal(err)
  615. }
  616. respLRO, err := c.DiagnoseCluster(context.Background(), request)
  617. if err != nil {
  618. t.Fatal(err)
  619. }
  620. err = respLRO.Wait(context.Background())
  621. if err != nil {
  622. t.Fatal(err)
  623. }
  624. if want, got := request, mockClusterController.reqs[0]; !proto.Equal(want, got) {
  625. t.Errorf("wrong request %q, want %q", got, want)
  626. }
  627. }
  628. func TestClusterControllerDiagnoseClusterError(t *testing.T) {
  629. errCode := codes.PermissionDenied
  630. mockClusterController.err = nil
  631. mockClusterController.resps = append(mockClusterController.resps[:0], &longrunningpb.Operation{
  632. Name: "longrunning-test",
  633. Done: true,
  634. Result: &longrunningpb.Operation_Error{
  635. Error: &status.Status{
  636. Code: int32(errCode),
  637. Message: "test error",
  638. },
  639. },
  640. })
  641. var projectId string = "projectId-1969970175"
  642. var region string = "region-934795532"
  643. var clusterName string = "clusterName-1018081872"
  644. var request = &dataprocpb.DiagnoseClusterRequest{
  645. ProjectId: projectId,
  646. Region: region,
  647. ClusterName: clusterName,
  648. }
  649. c, err := NewClusterControllerClient(context.Background(), clientOpt)
  650. if err != nil {
  651. t.Fatal(err)
  652. }
  653. respLRO, err := c.DiagnoseCluster(context.Background(), request)
  654. if err != nil {
  655. t.Fatal(err)
  656. }
  657. err = respLRO.Wait(context.Background())
  658. if st, ok := gstatus.FromError(err); !ok {
  659. t.Errorf("got error %v, expected grpc error", err)
  660. } else if c := st.Code(); c != errCode {
  661. t.Errorf("got error code %q, want %q", c, errCode)
  662. }
  663. }
  664. func TestJobControllerSubmitJob(t *testing.T) {
  665. var driverOutputResourceUri string = "driverOutputResourceUri-542229086"
  666. var driverControlFilesUri string = "driverControlFilesUri207057643"
  667. var expectedResponse = &dataprocpb.Job{
  668. DriverOutputResourceUri: driverOutputResourceUri,
  669. DriverControlFilesUri: driverControlFilesUri,
  670. }
  671. mockJobController.err = nil
  672. mockJobController.reqs = nil
  673. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  674. var projectId string = "projectId-1969970175"
  675. var region string = "region-934795532"
  676. var job *dataprocpb.Job = &dataprocpb.Job{}
  677. var request = &dataprocpb.SubmitJobRequest{
  678. ProjectId: projectId,
  679. Region: region,
  680. Job: job,
  681. }
  682. c, err := NewJobControllerClient(context.Background(), clientOpt)
  683. if err != nil {
  684. t.Fatal(err)
  685. }
  686. resp, err := c.SubmitJob(context.Background(), request)
  687. if err != nil {
  688. t.Fatal(err)
  689. }
  690. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  691. t.Errorf("wrong request %q, want %q", got, want)
  692. }
  693. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  694. t.Errorf("wrong response %q, want %q)", got, want)
  695. }
  696. }
  697. func TestJobControllerSubmitJobError(t *testing.T) {
  698. errCode := codes.PermissionDenied
  699. mockJobController.err = gstatus.Error(errCode, "test error")
  700. var projectId string = "projectId-1969970175"
  701. var region string = "region-934795532"
  702. var job *dataprocpb.Job = &dataprocpb.Job{}
  703. var request = &dataprocpb.SubmitJobRequest{
  704. ProjectId: projectId,
  705. Region: region,
  706. Job: job,
  707. }
  708. c, err := NewJobControllerClient(context.Background(), clientOpt)
  709. if err != nil {
  710. t.Fatal(err)
  711. }
  712. resp, err := c.SubmitJob(context.Background(), request)
  713. if st, ok := gstatus.FromError(err); !ok {
  714. t.Errorf("got error %v, expected grpc error", err)
  715. } else if c := st.Code(); c != errCode {
  716. t.Errorf("got error code %q, want %q", c, errCode)
  717. }
  718. _ = resp
  719. }
  720. func TestJobControllerGetJob(t *testing.T) {
  721. var driverOutputResourceUri string = "driverOutputResourceUri-542229086"
  722. var driverControlFilesUri string = "driverControlFilesUri207057643"
  723. var expectedResponse = &dataprocpb.Job{
  724. DriverOutputResourceUri: driverOutputResourceUri,
  725. DriverControlFilesUri: driverControlFilesUri,
  726. }
  727. mockJobController.err = nil
  728. mockJobController.reqs = nil
  729. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  730. var projectId string = "projectId-1969970175"
  731. var region string = "region-934795532"
  732. var jobId string = "jobId-1154752291"
  733. var request = &dataprocpb.GetJobRequest{
  734. ProjectId: projectId,
  735. Region: region,
  736. JobId: jobId,
  737. }
  738. c, err := NewJobControllerClient(context.Background(), clientOpt)
  739. if err != nil {
  740. t.Fatal(err)
  741. }
  742. resp, err := c.GetJob(context.Background(), request)
  743. if err != nil {
  744. t.Fatal(err)
  745. }
  746. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  747. t.Errorf("wrong request %q, want %q", got, want)
  748. }
  749. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  750. t.Errorf("wrong response %q, want %q)", got, want)
  751. }
  752. }
  753. func TestJobControllerGetJobError(t *testing.T) {
  754. errCode := codes.PermissionDenied
  755. mockJobController.err = gstatus.Error(errCode, "test error")
  756. var projectId string = "projectId-1969970175"
  757. var region string = "region-934795532"
  758. var jobId string = "jobId-1154752291"
  759. var request = &dataprocpb.GetJobRequest{
  760. ProjectId: projectId,
  761. Region: region,
  762. JobId: jobId,
  763. }
  764. c, err := NewJobControllerClient(context.Background(), clientOpt)
  765. if err != nil {
  766. t.Fatal(err)
  767. }
  768. resp, err := c.GetJob(context.Background(), request)
  769. if st, ok := gstatus.FromError(err); !ok {
  770. t.Errorf("got error %v, expected grpc error", err)
  771. } else if c := st.Code(); c != errCode {
  772. t.Errorf("got error code %q, want %q", c, errCode)
  773. }
  774. _ = resp
  775. }
  776. func TestJobControllerListJobs(t *testing.T) {
  777. var nextPageToken string = ""
  778. var jobsElement *dataprocpb.Job = &dataprocpb.Job{}
  779. var jobs = []*dataprocpb.Job{jobsElement}
  780. var expectedResponse = &dataprocpb.ListJobsResponse{
  781. NextPageToken: nextPageToken,
  782. Jobs: jobs,
  783. }
  784. mockJobController.err = nil
  785. mockJobController.reqs = nil
  786. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  787. var projectId string = "projectId-1969970175"
  788. var region string = "region-934795532"
  789. var request = &dataprocpb.ListJobsRequest{
  790. ProjectId: projectId,
  791. Region: region,
  792. }
  793. c, err := NewJobControllerClient(context.Background(), clientOpt)
  794. if err != nil {
  795. t.Fatal(err)
  796. }
  797. resp, err := c.ListJobs(context.Background(), request).Next()
  798. if err != nil {
  799. t.Fatal(err)
  800. }
  801. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  802. t.Errorf("wrong request %q, want %q", got, want)
  803. }
  804. want := (interface{})(expectedResponse.Jobs[0])
  805. got := (interface{})(resp)
  806. var ok bool
  807. switch want := (want).(type) {
  808. case proto.Message:
  809. ok = proto.Equal(want, got.(proto.Message))
  810. default:
  811. ok = want == got
  812. }
  813. if !ok {
  814. t.Errorf("wrong response %q, want %q)", got, want)
  815. }
  816. }
  817. func TestJobControllerListJobsError(t *testing.T) {
  818. errCode := codes.PermissionDenied
  819. mockJobController.err = gstatus.Error(errCode, "test error")
  820. var projectId string = "projectId-1969970175"
  821. var region string = "region-934795532"
  822. var request = &dataprocpb.ListJobsRequest{
  823. ProjectId: projectId,
  824. Region: region,
  825. }
  826. c, err := NewJobControllerClient(context.Background(), clientOpt)
  827. if err != nil {
  828. t.Fatal(err)
  829. }
  830. resp, err := c.ListJobs(context.Background(), request).Next()
  831. if st, ok := gstatus.FromError(err); !ok {
  832. t.Errorf("got error %v, expected grpc error", err)
  833. } else if c := st.Code(); c != errCode {
  834. t.Errorf("got error code %q, want %q", c, errCode)
  835. }
  836. _ = resp
  837. }
  838. func TestJobControllerUpdateJob(t *testing.T) {
  839. var driverOutputResourceUri string = "driverOutputResourceUri-542229086"
  840. var driverControlFilesUri string = "driverControlFilesUri207057643"
  841. var expectedResponse = &dataprocpb.Job{
  842. DriverOutputResourceUri: driverOutputResourceUri,
  843. DriverControlFilesUri: driverControlFilesUri,
  844. }
  845. mockJobController.err = nil
  846. mockJobController.reqs = nil
  847. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  848. var projectId string = "projectId-1969970175"
  849. var region string = "region-934795532"
  850. var jobId string = "jobId-1154752291"
  851. var job *dataprocpb.Job = &dataprocpb.Job{}
  852. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  853. var request = &dataprocpb.UpdateJobRequest{
  854. ProjectId: projectId,
  855. Region: region,
  856. JobId: jobId,
  857. Job: job,
  858. UpdateMask: updateMask,
  859. }
  860. c, err := NewJobControllerClient(context.Background(), clientOpt)
  861. if err != nil {
  862. t.Fatal(err)
  863. }
  864. resp, err := c.UpdateJob(context.Background(), request)
  865. if err != nil {
  866. t.Fatal(err)
  867. }
  868. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  869. t.Errorf("wrong request %q, want %q", got, want)
  870. }
  871. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  872. t.Errorf("wrong response %q, want %q)", got, want)
  873. }
  874. }
  875. func TestJobControllerUpdateJobError(t *testing.T) {
  876. errCode := codes.PermissionDenied
  877. mockJobController.err = gstatus.Error(errCode, "test error")
  878. var projectId string = "projectId-1969970175"
  879. var region string = "region-934795532"
  880. var jobId string = "jobId-1154752291"
  881. var job *dataprocpb.Job = &dataprocpb.Job{}
  882. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  883. var request = &dataprocpb.UpdateJobRequest{
  884. ProjectId: projectId,
  885. Region: region,
  886. JobId: jobId,
  887. Job: job,
  888. UpdateMask: updateMask,
  889. }
  890. c, err := NewJobControllerClient(context.Background(), clientOpt)
  891. if err != nil {
  892. t.Fatal(err)
  893. }
  894. resp, err := c.UpdateJob(context.Background(), request)
  895. if st, ok := gstatus.FromError(err); !ok {
  896. t.Errorf("got error %v, expected grpc error", err)
  897. } else if c := st.Code(); c != errCode {
  898. t.Errorf("got error code %q, want %q", c, errCode)
  899. }
  900. _ = resp
  901. }
  902. func TestJobControllerCancelJob(t *testing.T) {
  903. var driverOutputResourceUri string = "driverOutputResourceUri-542229086"
  904. var driverControlFilesUri string = "driverControlFilesUri207057643"
  905. var expectedResponse = &dataprocpb.Job{
  906. DriverOutputResourceUri: driverOutputResourceUri,
  907. DriverControlFilesUri: driverControlFilesUri,
  908. }
  909. mockJobController.err = nil
  910. mockJobController.reqs = nil
  911. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  912. var projectId string = "projectId-1969970175"
  913. var region string = "region-934795532"
  914. var jobId string = "jobId-1154752291"
  915. var request = &dataprocpb.CancelJobRequest{
  916. ProjectId: projectId,
  917. Region: region,
  918. JobId: jobId,
  919. }
  920. c, err := NewJobControllerClient(context.Background(), clientOpt)
  921. if err != nil {
  922. t.Fatal(err)
  923. }
  924. resp, err := c.CancelJob(context.Background(), request)
  925. if err != nil {
  926. t.Fatal(err)
  927. }
  928. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  929. t.Errorf("wrong request %q, want %q", got, want)
  930. }
  931. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  932. t.Errorf("wrong response %q, want %q)", got, want)
  933. }
  934. }
  935. func TestJobControllerCancelJobError(t *testing.T) {
  936. errCode := codes.PermissionDenied
  937. mockJobController.err = gstatus.Error(errCode, "test error")
  938. var projectId string = "projectId-1969970175"
  939. var region string = "region-934795532"
  940. var jobId string = "jobId-1154752291"
  941. var request = &dataprocpb.CancelJobRequest{
  942. ProjectId: projectId,
  943. Region: region,
  944. JobId: jobId,
  945. }
  946. c, err := NewJobControllerClient(context.Background(), clientOpt)
  947. if err != nil {
  948. t.Fatal(err)
  949. }
  950. resp, err := c.CancelJob(context.Background(), request)
  951. if st, ok := gstatus.FromError(err); !ok {
  952. t.Errorf("got error %v, expected grpc error", err)
  953. } else if c := st.Code(); c != errCode {
  954. t.Errorf("got error code %q, want %q", c, errCode)
  955. }
  956. _ = resp
  957. }
  958. func TestJobControllerDeleteJob(t *testing.T) {
  959. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  960. mockJobController.err = nil
  961. mockJobController.reqs = nil
  962. mockJobController.resps = append(mockJobController.resps[:0], expectedResponse)
  963. var projectId string = "projectId-1969970175"
  964. var region string = "region-934795532"
  965. var jobId string = "jobId-1154752291"
  966. var request = &dataprocpb.DeleteJobRequest{
  967. ProjectId: projectId,
  968. Region: region,
  969. JobId: jobId,
  970. }
  971. c, err := NewJobControllerClient(context.Background(), clientOpt)
  972. if err != nil {
  973. t.Fatal(err)
  974. }
  975. err = c.DeleteJob(context.Background(), request)
  976. if err != nil {
  977. t.Fatal(err)
  978. }
  979. if want, got := request, mockJobController.reqs[0]; !proto.Equal(want, got) {
  980. t.Errorf("wrong request %q, want %q", got, want)
  981. }
  982. }
  983. func TestJobControllerDeleteJobError(t *testing.T) {
  984. errCode := codes.PermissionDenied
  985. mockJobController.err = gstatus.Error(errCode, "test error")
  986. var projectId string = "projectId-1969970175"
  987. var region string = "region-934795532"
  988. var jobId string = "jobId-1154752291"
  989. var request = &dataprocpb.DeleteJobRequest{
  990. ProjectId: projectId,
  991. Region: region,
  992. JobId: jobId,
  993. }
  994. c, err := NewJobControllerClient(context.Background(), clientOpt)
  995. if err != nil {
  996. t.Fatal(err)
  997. }
  998. err = c.DeleteJob(context.Background(), request)
  999. if st, ok := gstatus.FromError(err); !ok {
  1000. t.Errorf("got error %v, expected grpc error", err)
  1001. } else if c := st.Code(); c != errCode {
  1002. t.Errorf("got error code %q, want %q", c, errCode)
  1003. }
  1004. }