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.
 
 
 

1271 line
35 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 cloudtasks
  16. import (
  17. emptypb "github.com/golang/protobuf/ptypes/empty"
  18. taskspb "google.golang.org/genproto/googleapis/cloud/tasks/v2beta3"
  19. iampb "google.golang.org/genproto/googleapis/iam/v1"
  20. )
  21. import (
  22. "context"
  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. "google.golang.org/api/option"
  34. status "google.golang.org/genproto/googleapis/rpc/status"
  35. "google.golang.org/grpc"
  36. "google.golang.org/grpc/codes"
  37. "google.golang.org/grpc/metadata"
  38. gstatus "google.golang.org/grpc/status"
  39. )
  40. var _ = io.EOF
  41. var _ = ptypes.MarshalAny
  42. var _ status.Status
  43. type mockCloudTasksServer struct {
  44. // Embed for forward compatibility.
  45. // Tests will keep working if more methods are added
  46. // in the future.
  47. taskspb.CloudTasksServer
  48. reqs []proto.Message
  49. // If set, all calls return this error.
  50. err error
  51. // responses to return if err == nil
  52. resps []proto.Message
  53. }
  54. func (s *mockCloudTasksServer) ListQueues(ctx context.Context, req *taskspb.ListQueuesRequest) (*taskspb.ListQueuesResponse, error) {
  55. md, _ := metadata.FromIncomingContext(ctx)
  56. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  57. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  58. }
  59. s.reqs = append(s.reqs, req)
  60. if s.err != nil {
  61. return nil, s.err
  62. }
  63. return s.resps[0].(*taskspb.ListQueuesResponse), nil
  64. }
  65. func (s *mockCloudTasksServer) GetQueue(ctx context.Context, req *taskspb.GetQueueRequest) (*taskspb.Queue, error) {
  66. md, _ := metadata.FromIncomingContext(ctx)
  67. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  68. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  69. }
  70. s.reqs = append(s.reqs, req)
  71. if s.err != nil {
  72. return nil, s.err
  73. }
  74. return s.resps[0].(*taskspb.Queue), nil
  75. }
  76. func (s *mockCloudTasksServer) CreateQueue(ctx context.Context, req *taskspb.CreateQueueRequest) (*taskspb.Queue, error) {
  77. md, _ := metadata.FromIncomingContext(ctx)
  78. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  79. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  80. }
  81. s.reqs = append(s.reqs, req)
  82. if s.err != nil {
  83. return nil, s.err
  84. }
  85. return s.resps[0].(*taskspb.Queue), nil
  86. }
  87. func (s *mockCloudTasksServer) UpdateQueue(ctx context.Context, req *taskspb.UpdateQueueRequest) (*taskspb.Queue, error) {
  88. md, _ := metadata.FromIncomingContext(ctx)
  89. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  90. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  91. }
  92. s.reqs = append(s.reqs, req)
  93. if s.err != nil {
  94. return nil, s.err
  95. }
  96. return s.resps[0].(*taskspb.Queue), nil
  97. }
  98. func (s *mockCloudTasksServer) DeleteQueue(ctx context.Context, req *taskspb.DeleteQueueRequest) (*emptypb.Empty, error) {
  99. md, _ := metadata.FromIncomingContext(ctx)
  100. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  101. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  102. }
  103. s.reqs = append(s.reqs, req)
  104. if s.err != nil {
  105. return nil, s.err
  106. }
  107. return s.resps[0].(*emptypb.Empty), nil
  108. }
  109. func (s *mockCloudTasksServer) PurgeQueue(ctx context.Context, req *taskspb.PurgeQueueRequest) (*taskspb.Queue, error) {
  110. md, _ := metadata.FromIncomingContext(ctx)
  111. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  112. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  113. }
  114. s.reqs = append(s.reqs, req)
  115. if s.err != nil {
  116. return nil, s.err
  117. }
  118. return s.resps[0].(*taskspb.Queue), nil
  119. }
  120. func (s *mockCloudTasksServer) PauseQueue(ctx context.Context, req *taskspb.PauseQueueRequest) (*taskspb.Queue, error) {
  121. md, _ := metadata.FromIncomingContext(ctx)
  122. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  123. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  124. }
  125. s.reqs = append(s.reqs, req)
  126. if s.err != nil {
  127. return nil, s.err
  128. }
  129. return s.resps[0].(*taskspb.Queue), nil
  130. }
  131. func (s *mockCloudTasksServer) ResumeQueue(ctx context.Context, req *taskspb.ResumeQueueRequest) (*taskspb.Queue, error) {
  132. md, _ := metadata.FromIncomingContext(ctx)
  133. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  134. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  135. }
  136. s.reqs = append(s.reqs, req)
  137. if s.err != nil {
  138. return nil, s.err
  139. }
  140. return s.resps[0].(*taskspb.Queue), nil
  141. }
  142. func (s *mockCloudTasksServer) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest) (*iampb.Policy, error) {
  143. md, _ := metadata.FromIncomingContext(ctx)
  144. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  145. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  146. }
  147. s.reqs = append(s.reqs, req)
  148. if s.err != nil {
  149. return nil, s.err
  150. }
  151. return s.resps[0].(*iampb.Policy), nil
  152. }
  153. func (s *mockCloudTasksServer) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest) (*iampb.Policy, error) {
  154. md, _ := metadata.FromIncomingContext(ctx)
  155. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  156. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  157. }
  158. s.reqs = append(s.reqs, req)
  159. if s.err != nil {
  160. return nil, s.err
  161. }
  162. return s.resps[0].(*iampb.Policy), nil
  163. }
  164. func (s *mockCloudTasksServer) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error) {
  165. md, _ := metadata.FromIncomingContext(ctx)
  166. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  167. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  168. }
  169. s.reqs = append(s.reqs, req)
  170. if s.err != nil {
  171. return nil, s.err
  172. }
  173. return s.resps[0].(*iampb.TestIamPermissionsResponse), nil
  174. }
  175. func (s *mockCloudTasksServer) ListTasks(ctx context.Context, req *taskspb.ListTasksRequest) (*taskspb.ListTasksResponse, error) {
  176. md, _ := metadata.FromIncomingContext(ctx)
  177. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  178. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  179. }
  180. s.reqs = append(s.reqs, req)
  181. if s.err != nil {
  182. return nil, s.err
  183. }
  184. return s.resps[0].(*taskspb.ListTasksResponse), nil
  185. }
  186. func (s *mockCloudTasksServer) GetTask(ctx context.Context, req *taskspb.GetTaskRequest) (*taskspb.Task, error) {
  187. md, _ := metadata.FromIncomingContext(ctx)
  188. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  189. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  190. }
  191. s.reqs = append(s.reqs, req)
  192. if s.err != nil {
  193. return nil, s.err
  194. }
  195. return s.resps[0].(*taskspb.Task), nil
  196. }
  197. func (s *mockCloudTasksServer) CreateTask(ctx context.Context, req *taskspb.CreateTaskRequest) (*taskspb.Task, error) {
  198. md, _ := metadata.FromIncomingContext(ctx)
  199. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  200. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  201. }
  202. s.reqs = append(s.reqs, req)
  203. if s.err != nil {
  204. return nil, s.err
  205. }
  206. return s.resps[0].(*taskspb.Task), nil
  207. }
  208. func (s *mockCloudTasksServer) DeleteTask(ctx context.Context, req *taskspb.DeleteTaskRequest) (*emptypb.Empty, error) {
  209. md, _ := metadata.FromIncomingContext(ctx)
  210. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  211. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  212. }
  213. s.reqs = append(s.reqs, req)
  214. if s.err != nil {
  215. return nil, s.err
  216. }
  217. return s.resps[0].(*emptypb.Empty), nil
  218. }
  219. func (s *mockCloudTasksServer) RunTask(ctx context.Context, req *taskspb.RunTaskRequest) (*taskspb.Task, error) {
  220. md, _ := metadata.FromIncomingContext(ctx)
  221. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  222. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  223. }
  224. s.reqs = append(s.reqs, req)
  225. if s.err != nil {
  226. return nil, s.err
  227. }
  228. return s.resps[0].(*taskspb.Task), nil
  229. }
  230. // clientOpt is the option tests should use to connect to the test server.
  231. // It is initialized by TestMain.
  232. var clientOpt option.ClientOption
  233. var (
  234. mockCloudTasks mockCloudTasksServer
  235. )
  236. func TestMain(m *testing.M) {
  237. flag.Parse()
  238. serv := grpc.NewServer()
  239. taskspb.RegisterCloudTasksServer(serv, &mockCloudTasks)
  240. lis, err := net.Listen("tcp", "localhost:0")
  241. if err != nil {
  242. log.Fatal(err)
  243. }
  244. go serv.Serve(lis)
  245. conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure())
  246. if err != nil {
  247. log.Fatal(err)
  248. }
  249. clientOpt = option.WithGRPCConn(conn)
  250. os.Exit(m.Run())
  251. }
  252. func TestCloudTasksListQueues(t *testing.T) {
  253. var nextPageToken string = ""
  254. var queuesElement *taskspb.Queue = &taskspb.Queue{}
  255. var queues = []*taskspb.Queue{queuesElement}
  256. var expectedResponse = &taskspb.ListQueuesResponse{
  257. NextPageToken: nextPageToken,
  258. Queues: queues,
  259. }
  260. mockCloudTasks.err = nil
  261. mockCloudTasks.reqs = nil
  262. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  263. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
  264. var request = &taskspb.ListQueuesRequest{
  265. Parent: formattedParent,
  266. }
  267. c, err := NewClient(context.Background(), clientOpt)
  268. if err != nil {
  269. t.Fatal(err)
  270. }
  271. resp, err := c.ListQueues(context.Background(), request).Next()
  272. if err != nil {
  273. t.Fatal(err)
  274. }
  275. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  276. t.Errorf("wrong request %q, want %q", got, want)
  277. }
  278. want := (interface{})(expectedResponse.Queues[0])
  279. got := (interface{})(resp)
  280. var ok bool
  281. switch want := (want).(type) {
  282. case proto.Message:
  283. ok = proto.Equal(want, got.(proto.Message))
  284. default:
  285. ok = want == got
  286. }
  287. if !ok {
  288. t.Errorf("wrong response %q, want %q)", got, want)
  289. }
  290. }
  291. func TestCloudTasksListQueuesError(t *testing.T) {
  292. errCode := codes.PermissionDenied
  293. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  294. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
  295. var request = &taskspb.ListQueuesRequest{
  296. Parent: formattedParent,
  297. }
  298. c, err := NewClient(context.Background(), clientOpt)
  299. if err != nil {
  300. t.Fatal(err)
  301. }
  302. resp, err := c.ListQueues(context.Background(), request).Next()
  303. if st, ok := gstatus.FromError(err); !ok {
  304. t.Errorf("got error %v, expected grpc error", err)
  305. } else if c := st.Code(); c != errCode {
  306. t.Errorf("got error code %q, want %q", c, errCode)
  307. }
  308. _ = resp
  309. }
  310. func TestCloudTasksGetQueue(t *testing.T) {
  311. var name2 string = "name2-1052831874"
  312. var expectedResponse = &taskspb.Queue{
  313. Name: name2,
  314. }
  315. mockCloudTasks.err = nil
  316. mockCloudTasks.reqs = nil
  317. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  318. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  319. var request = &taskspb.GetQueueRequest{
  320. Name: formattedName,
  321. }
  322. c, err := NewClient(context.Background(), clientOpt)
  323. if err != nil {
  324. t.Fatal(err)
  325. }
  326. resp, err := c.GetQueue(context.Background(), request)
  327. if err != nil {
  328. t.Fatal(err)
  329. }
  330. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  331. t.Errorf("wrong request %q, want %q", got, want)
  332. }
  333. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  334. t.Errorf("wrong response %q, want %q)", got, want)
  335. }
  336. }
  337. func TestCloudTasksGetQueueError(t *testing.T) {
  338. errCode := codes.PermissionDenied
  339. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  340. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  341. var request = &taskspb.GetQueueRequest{
  342. Name: formattedName,
  343. }
  344. c, err := NewClient(context.Background(), clientOpt)
  345. if err != nil {
  346. t.Fatal(err)
  347. }
  348. resp, err := c.GetQueue(context.Background(), request)
  349. if st, ok := gstatus.FromError(err); !ok {
  350. t.Errorf("got error %v, expected grpc error", err)
  351. } else if c := st.Code(); c != errCode {
  352. t.Errorf("got error code %q, want %q", c, errCode)
  353. }
  354. _ = resp
  355. }
  356. func TestCloudTasksCreateQueue(t *testing.T) {
  357. var name string = "name3373707"
  358. var expectedResponse = &taskspb.Queue{
  359. Name: name,
  360. }
  361. mockCloudTasks.err = nil
  362. mockCloudTasks.reqs = nil
  363. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  364. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
  365. var queue *taskspb.Queue = &taskspb.Queue{}
  366. var request = &taskspb.CreateQueueRequest{
  367. Parent: formattedParent,
  368. Queue: queue,
  369. }
  370. c, err := NewClient(context.Background(), clientOpt)
  371. if err != nil {
  372. t.Fatal(err)
  373. }
  374. resp, err := c.CreateQueue(context.Background(), request)
  375. if err != nil {
  376. t.Fatal(err)
  377. }
  378. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  379. t.Errorf("wrong request %q, want %q", got, want)
  380. }
  381. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  382. t.Errorf("wrong response %q, want %q)", got, want)
  383. }
  384. }
  385. func TestCloudTasksCreateQueueError(t *testing.T) {
  386. errCode := codes.PermissionDenied
  387. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  388. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
  389. var queue *taskspb.Queue = &taskspb.Queue{}
  390. var request = &taskspb.CreateQueueRequest{
  391. Parent: formattedParent,
  392. Queue: queue,
  393. }
  394. c, err := NewClient(context.Background(), clientOpt)
  395. if err != nil {
  396. t.Fatal(err)
  397. }
  398. resp, err := c.CreateQueue(context.Background(), request)
  399. if st, ok := gstatus.FromError(err); !ok {
  400. t.Errorf("got error %v, expected grpc error", err)
  401. } else if c := st.Code(); c != errCode {
  402. t.Errorf("got error code %q, want %q", c, errCode)
  403. }
  404. _ = resp
  405. }
  406. func TestCloudTasksUpdateQueue(t *testing.T) {
  407. var name string = "name3373707"
  408. var expectedResponse = &taskspb.Queue{
  409. Name: name,
  410. }
  411. mockCloudTasks.err = nil
  412. mockCloudTasks.reqs = nil
  413. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  414. var queue *taskspb.Queue = &taskspb.Queue{}
  415. var request = &taskspb.UpdateQueueRequest{
  416. Queue: queue,
  417. }
  418. c, err := NewClient(context.Background(), clientOpt)
  419. if err != nil {
  420. t.Fatal(err)
  421. }
  422. resp, err := c.UpdateQueue(context.Background(), request)
  423. if err != nil {
  424. t.Fatal(err)
  425. }
  426. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  427. t.Errorf("wrong request %q, want %q", got, want)
  428. }
  429. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  430. t.Errorf("wrong response %q, want %q)", got, want)
  431. }
  432. }
  433. func TestCloudTasksUpdateQueueError(t *testing.T) {
  434. errCode := codes.PermissionDenied
  435. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  436. var queue *taskspb.Queue = &taskspb.Queue{}
  437. var request = &taskspb.UpdateQueueRequest{
  438. Queue: queue,
  439. }
  440. c, err := NewClient(context.Background(), clientOpt)
  441. if err != nil {
  442. t.Fatal(err)
  443. }
  444. resp, err := c.UpdateQueue(context.Background(), request)
  445. if st, ok := gstatus.FromError(err); !ok {
  446. t.Errorf("got error %v, expected grpc error", err)
  447. } else if c := st.Code(); c != errCode {
  448. t.Errorf("got error code %q, want %q", c, errCode)
  449. }
  450. _ = resp
  451. }
  452. func TestCloudTasksDeleteQueue(t *testing.T) {
  453. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  454. mockCloudTasks.err = nil
  455. mockCloudTasks.reqs = nil
  456. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  457. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  458. var request = &taskspb.DeleteQueueRequest{
  459. Name: formattedName,
  460. }
  461. c, err := NewClient(context.Background(), clientOpt)
  462. if err != nil {
  463. t.Fatal(err)
  464. }
  465. err = c.DeleteQueue(context.Background(), request)
  466. if err != nil {
  467. t.Fatal(err)
  468. }
  469. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  470. t.Errorf("wrong request %q, want %q", got, want)
  471. }
  472. }
  473. func TestCloudTasksDeleteQueueError(t *testing.T) {
  474. errCode := codes.PermissionDenied
  475. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  476. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  477. var request = &taskspb.DeleteQueueRequest{
  478. Name: formattedName,
  479. }
  480. c, err := NewClient(context.Background(), clientOpt)
  481. if err != nil {
  482. t.Fatal(err)
  483. }
  484. err = c.DeleteQueue(context.Background(), request)
  485. if st, ok := gstatus.FromError(err); !ok {
  486. t.Errorf("got error %v, expected grpc error", err)
  487. } else if c := st.Code(); c != errCode {
  488. t.Errorf("got error code %q, want %q", c, errCode)
  489. }
  490. }
  491. func TestCloudTasksPurgeQueue(t *testing.T) {
  492. var name2 string = "name2-1052831874"
  493. var expectedResponse = &taskspb.Queue{
  494. Name: name2,
  495. }
  496. mockCloudTasks.err = nil
  497. mockCloudTasks.reqs = nil
  498. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  499. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  500. var request = &taskspb.PurgeQueueRequest{
  501. Name: formattedName,
  502. }
  503. c, err := NewClient(context.Background(), clientOpt)
  504. if err != nil {
  505. t.Fatal(err)
  506. }
  507. resp, err := c.PurgeQueue(context.Background(), request)
  508. if err != nil {
  509. t.Fatal(err)
  510. }
  511. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  512. t.Errorf("wrong request %q, want %q", got, want)
  513. }
  514. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  515. t.Errorf("wrong response %q, want %q)", got, want)
  516. }
  517. }
  518. func TestCloudTasksPurgeQueueError(t *testing.T) {
  519. errCode := codes.PermissionDenied
  520. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  521. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  522. var request = &taskspb.PurgeQueueRequest{
  523. Name: formattedName,
  524. }
  525. c, err := NewClient(context.Background(), clientOpt)
  526. if err != nil {
  527. t.Fatal(err)
  528. }
  529. resp, err := c.PurgeQueue(context.Background(), request)
  530. if st, ok := gstatus.FromError(err); !ok {
  531. t.Errorf("got error %v, expected grpc error", err)
  532. } else if c := st.Code(); c != errCode {
  533. t.Errorf("got error code %q, want %q", c, errCode)
  534. }
  535. _ = resp
  536. }
  537. func TestCloudTasksPauseQueue(t *testing.T) {
  538. var name2 string = "name2-1052831874"
  539. var expectedResponse = &taskspb.Queue{
  540. Name: name2,
  541. }
  542. mockCloudTasks.err = nil
  543. mockCloudTasks.reqs = nil
  544. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  545. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  546. var request = &taskspb.PauseQueueRequest{
  547. Name: formattedName,
  548. }
  549. c, err := NewClient(context.Background(), clientOpt)
  550. if err != nil {
  551. t.Fatal(err)
  552. }
  553. resp, err := c.PauseQueue(context.Background(), request)
  554. if err != nil {
  555. t.Fatal(err)
  556. }
  557. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  558. t.Errorf("wrong request %q, want %q", got, want)
  559. }
  560. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  561. t.Errorf("wrong response %q, want %q)", got, want)
  562. }
  563. }
  564. func TestCloudTasksPauseQueueError(t *testing.T) {
  565. errCode := codes.PermissionDenied
  566. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  567. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  568. var request = &taskspb.PauseQueueRequest{
  569. Name: formattedName,
  570. }
  571. c, err := NewClient(context.Background(), clientOpt)
  572. if err != nil {
  573. t.Fatal(err)
  574. }
  575. resp, err := c.PauseQueue(context.Background(), request)
  576. if st, ok := gstatus.FromError(err); !ok {
  577. t.Errorf("got error %v, expected grpc error", err)
  578. } else if c := st.Code(); c != errCode {
  579. t.Errorf("got error code %q, want %q", c, errCode)
  580. }
  581. _ = resp
  582. }
  583. func TestCloudTasksResumeQueue(t *testing.T) {
  584. var name2 string = "name2-1052831874"
  585. var expectedResponse = &taskspb.Queue{
  586. Name: name2,
  587. }
  588. mockCloudTasks.err = nil
  589. mockCloudTasks.reqs = nil
  590. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  591. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  592. var request = &taskspb.ResumeQueueRequest{
  593. Name: formattedName,
  594. }
  595. c, err := NewClient(context.Background(), clientOpt)
  596. if err != nil {
  597. t.Fatal(err)
  598. }
  599. resp, err := c.ResumeQueue(context.Background(), request)
  600. if err != nil {
  601. t.Fatal(err)
  602. }
  603. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  604. t.Errorf("wrong request %q, want %q", got, want)
  605. }
  606. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  607. t.Errorf("wrong response %q, want %q)", got, want)
  608. }
  609. }
  610. func TestCloudTasksResumeQueueError(t *testing.T) {
  611. errCode := codes.PermissionDenied
  612. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  613. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  614. var request = &taskspb.ResumeQueueRequest{
  615. Name: formattedName,
  616. }
  617. c, err := NewClient(context.Background(), clientOpt)
  618. if err != nil {
  619. t.Fatal(err)
  620. }
  621. resp, err := c.ResumeQueue(context.Background(), request)
  622. if st, ok := gstatus.FromError(err); !ok {
  623. t.Errorf("got error %v, expected grpc error", err)
  624. } else if c := st.Code(); c != errCode {
  625. t.Errorf("got error code %q, want %q", c, errCode)
  626. }
  627. _ = resp
  628. }
  629. func TestCloudTasksGetIamPolicy(t *testing.T) {
  630. var version int32 = 351608024
  631. var etag []byte = []byte("21")
  632. var expectedResponse = &iampb.Policy{
  633. Version: version,
  634. Etag: etag,
  635. }
  636. mockCloudTasks.err = nil
  637. mockCloudTasks.reqs = nil
  638. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  639. var formattedResource string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  640. var request = &iampb.GetIamPolicyRequest{
  641. Resource: formattedResource,
  642. }
  643. c, err := NewClient(context.Background(), clientOpt)
  644. if err != nil {
  645. t.Fatal(err)
  646. }
  647. resp, err := c.GetIamPolicy(context.Background(), request)
  648. if err != nil {
  649. t.Fatal(err)
  650. }
  651. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  652. t.Errorf("wrong request %q, want %q", got, want)
  653. }
  654. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  655. t.Errorf("wrong response %q, want %q)", got, want)
  656. }
  657. }
  658. func TestCloudTasksGetIamPolicyError(t *testing.T) {
  659. errCode := codes.PermissionDenied
  660. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  661. var formattedResource string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  662. var request = &iampb.GetIamPolicyRequest{
  663. Resource: formattedResource,
  664. }
  665. c, err := NewClient(context.Background(), clientOpt)
  666. if err != nil {
  667. t.Fatal(err)
  668. }
  669. resp, err := c.GetIamPolicy(context.Background(), request)
  670. if st, ok := gstatus.FromError(err); !ok {
  671. t.Errorf("got error %v, expected grpc error", err)
  672. } else if c := st.Code(); c != errCode {
  673. t.Errorf("got error code %q, want %q", c, errCode)
  674. }
  675. _ = resp
  676. }
  677. func TestCloudTasksSetIamPolicy(t *testing.T) {
  678. var version int32 = 351608024
  679. var etag []byte = []byte("21")
  680. var expectedResponse = &iampb.Policy{
  681. Version: version,
  682. Etag: etag,
  683. }
  684. mockCloudTasks.err = nil
  685. mockCloudTasks.reqs = nil
  686. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  687. var formattedResource string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  688. var policy *iampb.Policy = &iampb.Policy{}
  689. var request = &iampb.SetIamPolicyRequest{
  690. Resource: formattedResource,
  691. Policy: policy,
  692. }
  693. c, err := NewClient(context.Background(), clientOpt)
  694. if err != nil {
  695. t.Fatal(err)
  696. }
  697. resp, err := c.SetIamPolicy(context.Background(), request)
  698. if err != nil {
  699. t.Fatal(err)
  700. }
  701. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  702. t.Errorf("wrong request %q, want %q", got, want)
  703. }
  704. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  705. t.Errorf("wrong response %q, want %q)", got, want)
  706. }
  707. }
  708. func TestCloudTasksSetIamPolicyError(t *testing.T) {
  709. errCode := codes.PermissionDenied
  710. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  711. var formattedResource string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  712. var policy *iampb.Policy = &iampb.Policy{}
  713. var request = &iampb.SetIamPolicyRequest{
  714. Resource: formattedResource,
  715. Policy: policy,
  716. }
  717. c, err := NewClient(context.Background(), clientOpt)
  718. if err != nil {
  719. t.Fatal(err)
  720. }
  721. resp, err := c.SetIamPolicy(context.Background(), request)
  722. if st, ok := gstatus.FromError(err); !ok {
  723. t.Errorf("got error %v, expected grpc error", err)
  724. } else if c := st.Code(); c != errCode {
  725. t.Errorf("got error code %q, want %q", c, errCode)
  726. }
  727. _ = resp
  728. }
  729. func TestCloudTasksTestIamPermissions(t *testing.T) {
  730. var expectedResponse *iampb.TestIamPermissionsResponse = &iampb.TestIamPermissionsResponse{}
  731. mockCloudTasks.err = nil
  732. mockCloudTasks.reqs = nil
  733. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  734. var formattedResource string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  735. var permissions []string = nil
  736. var request = &iampb.TestIamPermissionsRequest{
  737. Resource: formattedResource,
  738. Permissions: permissions,
  739. }
  740. c, err := NewClient(context.Background(), clientOpt)
  741. if err != nil {
  742. t.Fatal(err)
  743. }
  744. resp, err := c.TestIamPermissions(context.Background(), request)
  745. if err != nil {
  746. t.Fatal(err)
  747. }
  748. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  749. t.Errorf("wrong request %q, want %q", got, want)
  750. }
  751. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  752. t.Errorf("wrong response %q, want %q)", got, want)
  753. }
  754. }
  755. func TestCloudTasksTestIamPermissionsError(t *testing.T) {
  756. errCode := codes.PermissionDenied
  757. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  758. var formattedResource string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  759. var permissions []string = nil
  760. var request = &iampb.TestIamPermissionsRequest{
  761. Resource: formattedResource,
  762. Permissions: permissions,
  763. }
  764. c, err := NewClient(context.Background(), clientOpt)
  765. if err != nil {
  766. t.Fatal(err)
  767. }
  768. resp, err := c.TestIamPermissions(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 TestCloudTasksListTasks(t *testing.T) {
  777. var nextPageToken string = ""
  778. var tasksElement *taskspb.Task = &taskspb.Task{}
  779. var tasks = []*taskspb.Task{tasksElement}
  780. var expectedResponse = &taskspb.ListTasksResponse{
  781. NextPageToken: nextPageToken,
  782. Tasks: tasks,
  783. }
  784. mockCloudTasks.err = nil
  785. mockCloudTasks.reqs = nil
  786. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  787. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  788. var request = &taskspb.ListTasksRequest{
  789. Parent: formattedParent,
  790. }
  791. c, err := NewClient(context.Background(), clientOpt)
  792. if err != nil {
  793. t.Fatal(err)
  794. }
  795. resp, err := c.ListTasks(context.Background(), request).Next()
  796. if err != nil {
  797. t.Fatal(err)
  798. }
  799. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  800. t.Errorf("wrong request %q, want %q", got, want)
  801. }
  802. want := (interface{})(expectedResponse.Tasks[0])
  803. got := (interface{})(resp)
  804. var ok bool
  805. switch want := (want).(type) {
  806. case proto.Message:
  807. ok = proto.Equal(want, got.(proto.Message))
  808. default:
  809. ok = want == got
  810. }
  811. if !ok {
  812. t.Errorf("wrong response %q, want %q)", got, want)
  813. }
  814. }
  815. func TestCloudTasksListTasksError(t *testing.T) {
  816. errCode := codes.PermissionDenied
  817. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  818. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  819. var request = &taskspb.ListTasksRequest{
  820. Parent: formattedParent,
  821. }
  822. c, err := NewClient(context.Background(), clientOpt)
  823. if err != nil {
  824. t.Fatal(err)
  825. }
  826. resp, err := c.ListTasks(context.Background(), request).Next()
  827. if st, ok := gstatus.FromError(err); !ok {
  828. t.Errorf("got error %v, expected grpc error", err)
  829. } else if c := st.Code(); c != errCode {
  830. t.Errorf("got error code %q, want %q", c, errCode)
  831. }
  832. _ = resp
  833. }
  834. func TestCloudTasksGetTask(t *testing.T) {
  835. var name2 string = "name2-1052831874"
  836. var dispatchCount int32 = 1217252086
  837. var responseCount int32 = 424727441
  838. var expectedResponse = &taskspb.Task{
  839. Name: name2,
  840. DispatchCount: dispatchCount,
  841. ResponseCount: responseCount,
  842. }
  843. mockCloudTasks.err = nil
  844. mockCloudTasks.reqs = nil
  845. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  846. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s/tasks/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]", "[TASK]")
  847. var request = &taskspb.GetTaskRequest{
  848. Name: formattedName,
  849. }
  850. c, err := NewClient(context.Background(), clientOpt)
  851. if err != nil {
  852. t.Fatal(err)
  853. }
  854. resp, err := c.GetTask(context.Background(), request)
  855. if err != nil {
  856. t.Fatal(err)
  857. }
  858. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  859. t.Errorf("wrong request %q, want %q", got, want)
  860. }
  861. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  862. t.Errorf("wrong response %q, want %q)", got, want)
  863. }
  864. }
  865. func TestCloudTasksGetTaskError(t *testing.T) {
  866. errCode := codes.PermissionDenied
  867. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  868. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s/tasks/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]", "[TASK]")
  869. var request = &taskspb.GetTaskRequest{
  870. Name: formattedName,
  871. }
  872. c, err := NewClient(context.Background(), clientOpt)
  873. if err != nil {
  874. t.Fatal(err)
  875. }
  876. resp, err := c.GetTask(context.Background(), request)
  877. if st, ok := gstatus.FromError(err); !ok {
  878. t.Errorf("got error %v, expected grpc error", err)
  879. } else if c := st.Code(); c != errCode {
  880. t.Errorf("got error code %q, want %q", c, errCode)
  881. }
  882. _ = resp
  883. }
  884. func TestCloudTasksCreateTask(t *testing.T) {
  885. var name string = "name3373707"
  886. var dispatchCount int32 = 1217252086
  887. var responseCount int32 = 424727441
  888. var expectedResponse = &taskspb.Task{
  889. Name: name,
  890. DispatchCount: dispatchCount,
  891. ResponseCount: responseCount,
  892. }
  893. mockCloudTasks.err = nil
  894. mockCloudTasks.reqs = nil
  895. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  896. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  897. var task *taskspb.Task = &taskspb.Task{}
  898. var request = &taskspb.CreateTaskRequest{
  899. Parent: formattedParent,
  900. Task: task,
  901. }
  902. c, err := NewClient(context.Background(), clientOpt)
  903. if err != nil {
  904. t.Fatal(err)
  905. }
  906. resp, err := c.CreateTask(context.Background(), request)
  907. if err != nil {
  908. t.Fatal(err)
  909. }
  910. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  911. t.Errorf("wrong request %q, want %q", got, want)
  912. }
  913. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  914. t.Errorf("wrong response %q, want %q)", got, want)
  915. }
  916. }
  917. func TestCloudTasksCreateTaskError(t *testing.T) {
  918. errCode := codes.PermissionDenied
  919. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  920. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/queues/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]")
  921. var task *taskspb.Task = &taskspb.Task{}
  922. var request = &taskspb.CreateTaskRequest{
  923. Parent: formattedParent,
  924. Task: task,
  925. }
  926. c, err := NewClient(context.Background(), clientOpt)
  927. if err != nil {
  928. t.Fatal(err)
  929. }
  930. resp, err := c.CreateTask(context.Background(), request)
  931. if st, ok := gstatus.FromError(err); !ok {
  932. t.Errorf("got error %v, expected grpc error", err)
  933. } else if c := st.Code(); c != errCode {
  934. t.Errorf("got error code %q, want %q", c, errCode)
  935. }
  936. _ = resp
  937. }
  938. func TestCloudTasksDeleteTask(t *testing.T) {
  939. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  940. mockCloudTasks.err = nil
  941. mockCloudTasks.reqs = nil
  942. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  943. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s/tasks/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]", "[TASK]")
  944. var request = &taskspb.DeleteTaskRequest{
  945. Name: formattedName,
  946. }
  947. c, err := NewClient(context.Background(), clientOpt)
  948. if err != nil {
  949. t.Fatal(err)
  950. }
  951. err = c.DeleteTask(context.Background(), request)
  952. if err != nil {
  953. t.Fatal(err)
  954. }
  955. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  956. t.Errorf("wrong request %q, want %q", got, want)
  957. }
  958. }
  959. func TestCloudTasksDeleteTaskError(t *testing.T) {
  960. errCode := codes.PermissionDenied
  961. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  962. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s/tasks/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]", "[TASK]")
  963. var request = &taskspb.DeleteTaskRequest{
  964. Name: formattedName,
  965. }
  966. c, err := NewClient(context.Background(), clientOpt)
  967. if err != nil {
  968. t.Fatal(err)
  969. }
  970. err = c.DeleteTask(context.Background(), request)
  971. if st, ok := gstatus.FromError(err); !ok {
  972. t.Errorf("got error %v, expected grpc error", err)
  973. } else if c := st.Code(); c != errCode {
  974. t.Errorf("got error code %q, want %q", c, errCode)
  975. }
  976. }
  977. func TestCloudTasksRunTask(t *testing.T) {
  978. var name2 string = "name2-1052831874"
  979. var dispatchCount int32 = 1217252086
  980. var responseCount int32 = 424727441
  981. var expectedResponse = &taskspb.Task{
  982. Name: name2,
  983. DispatchCount: dispatchCount,
  984. ResponseCount: responseCount,
  985. }
  986. mockCloudTasks.err = nil
  987. mockCloudTasks.reqs = nil
  988. mockCloudTasks.resps = append(mockCloudTasks.resps[:0], expectedResponse)
  989. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s/tasks/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]", "[TASK]")
  990. var request = &taskspb.RunTaskRequest{
  991. Name: formattedName,
  992. }
  993. c, err := NewClient(context.Background(), clientOpt)
  994. if err != nil {
  995. t.Fatal(err)
  996. }
  997. resp, err := c.RunTask(context.Background(), request)
  998. if err != nil {
  999. t.Fatal(err)
  1000. }
  1001. if want, got := request, mockCloudTasks.reqs[0]; !proto.Equal(want, got) {
  1002. t.Errorf("wrong request %q, want %q", got, want)
  1003. }
  1004. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1005. t.Errorf("wrong response %q, want %q)", got, want)
  1006. }
  1007. }
  1008. func TestCloudTasksRunTaskError(t *testing.T) {
  1009. errCode := codes.PermissionDenied
  1010. mockCloudTasks.err = gstatus.Error(errCode, "test error")
  1011. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/queues/%s/tasks/%s", "[PROJECT]", "[LOCATION]", "[QUEUE]", "[TASK]")
  1012. var request = &taskspb.RunTaskRequest{
  1013. Name: formattedName,
  1014. }
  1015. c, err := NewClient(context.Background(), clientOpt)
  1016. if err != nil {
  1017. t.Fatal(err)
  1018. }
  1019. resp, err := c.RunTask(context.Background(), request)
  1020. if st, ok := gstatus.FromError(err); !ok {
  1021. t.Errorf("got error %v, expected grpc error", err)
  1022. } else if c := st.Code(); c != errCode {
  1023. t.Errorf("got error code %q, want %q", c, errCode)
  1024. }
  1025. _ = resp
  1026. }