Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 

918 wiersze
26 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 instance
  16. import (
  17. emptypb "github.com/golang/protobuf/ptypes/empty"
  18. iampb "google.golang.org/genproto/googleapis/iam/v1"
  19. longrunningpb "google.golang.org/genproto/googleapis/longrunning"
  20. instancepb "google.golang.org/genproto/googleapis/spanner/admin/instance/v1"
  21. field_maskpb "google.golang.org/genproto/protobuf/field_mask"
  22. )
  23. import (
  24. "context"
  25. "flag"
  26. "fmt"
  27. "io"
  28. "log"
  29. "net"
  30. "os"
  31. "strings"
  32. "testing"
  33. "github.com/golang/protobuf/proto"
  34. "github.com/golang/protobuf/ptypes"
  35. "google.golang.org/api/option"
  36. status "google.golang.org/genproto/googleapis/rpc/status"
  37. "google.golang.org/grpc"
  38. "google.golang.org/grpc/codes"
  39. "google.golang.org/grpc/metadata"
  40. gstatus "google.golang.org/grpc/status"
  41. )
  42. var _ = io.EOF
  43. var _ = ptypes.MarshalAny
  44. var _ status.Status
  45. type mockInstanceAdminServer struct {
  46. // Embed for forward compatibility.
  47. // Tests will keep working if more methods are added
  48. // in the future.
  49. instancepb.InstanceAdminServer
  50. reqs []proto.Message
  51. // If set, all calls return this error.
  52. err error
  53. // responses to return if err == nil
  54. resps []proto.Message
  55. }
  56. func (s *mockInstanceAdminServer) ListInstanceConfigs(ctx context.Context, req *instancepb.ListInstanceConfigsRequest) (*instancepb.ListInstanceConfigsResponse, error) {
  57. md, _ := metadata.FromIncomingContext(ctx)
  58. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  59. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  60. }
  61. s.reqs = append(s.reqs, req)
  62. if s.err != nil {
  63. return nil, s.err
  64. }
  65. return s.resps[0].(*instancepb.ListInstanceConfigsResponse), nil
  66. }
  67. func (s *mockInstanceAdminServer) GetInstanceConfig(ctx context.Context, req *instancepb.GetInstanceConfigRequest) (*instancepb.InstanceConfig, error) {
  68. md, _ := metadata.FromIncomingContext(ctx)
  69. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  70. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  71. }
  72. s.reqs = append(s.reqs, req)
  73. if s.err != nil {
  74. return nil, s.err
  75. }
  76. return s.resps[0].(*instancepb.InstanceConfig), nil
  77. }
  78. func (s *mockInstanceAdminServer) ListInstances(ctx context.Context, req *instancepb.ListInstancesRequest) (*instancepb.ListInstancesResponse, error) {
  79. md, _ := metadata.FromIncomingContext(ctx)
  80. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  81. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  82. }
  83. s.reqs = append(s.reqs, req)
  84. if s.err != nil {
  85. return nil, s.err
  86. }
  87. return s.resps[0].(*instancepb.ListInstancesResponse), nil
  88. }
  89. func (s *mockInstanceAdminServer) GetInstance(ctx context.Context, req *instancepb.GetInstanceRequest) (*instancepb.Instance, error) {
  90. md, _ := metadata.FromIncomingContext(ctx)
  91. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  92. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  93. }
  94. s.reqs = append(s.reqs, req)
  95. if s.err != nil {
  96. return nil, s.err
  97. }
  98. return s.resps[0].(*instancepb.Instance), nil
  99. }
  100. func (s *mockInstanceAdminServer) CreateInstance(ctx context.Context, req *instancepb.CreateInstanceRequest) (*longrunningpb.Operation, error) {
  101. md, _ := metadata.FromIncomingContext(ctx)
  102. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  103. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  104. }
  105. s.reqs = append(s.reqs, req)
  106. if s.err != nil {
  107. return nil, s.err
  108. }
  109. return s.resps[0].(*longrunningpb.Operation), nil
  110. }
  111. func (s *mockInstanceAdminServer) UpdateInstance(ctx context.Context, req *instancepb.UpdateInstanceRequest) (*longrunningpb.Operation, error) {
  112. md, _ := metadata.FromIncomingContext(ctx)
  113. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  114. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  115. }
  116. s.reqs = append(s.reqs, req)
  117. if s.err != nil {
  118. return nil, s.err
  119. }
  120. return s.resps[0].(*longrunningpb.Operation), nil
  121. }
  122. func (s *mockInstanceAdminServer) DeleteInstance(ctx context.Context, req *instancepb.DeleteInstanceRequest) (*emptypb.Empty, error) {
  123. md, _ := metadata.FromIncomingContext(ctx)
  124. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  125. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  126. }
  127. s.reqs = append(s.reqs, req)
  128. if s.err != nil {
  129. return nil, s.err
  130. }
  131. return s.resps[0].(*emptypb.Empty), nil
  132. }
  133. func (s *mockInstanceAdminServer) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest) (*iampb.Policy, error) {
  134. md, _ := metadata.FromIncomingContext(ctx)
  135. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  136. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  137. }
  138. s.reqs = append(s.reqs, req)
  139. if s.err != nil {
  140. return nil, s.err
  141. }
  142. return s.resps[0].(*iampb.Policy), nil
  143. }
  144. func (s *mockInstanceAdminServer) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest) (*iampb.Policy, error) {
  145. md, _ := metadata.FromIncomingContext(ctx)
  146. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  147. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  148. }
  149. s.reqs = append(s.reqs, req)
  150. if s.err != nil {
  151. return nil, s.err
  152. }
  153. return s.resps[0].(*iampb.Policy), nil
  154. }
  155. func (s *mockInstanceAdminServer) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error) {
  156. md, _ := metadata.FromIncomingContext(ctx)
  157. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  158. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  159. }
  160. s.reqs = append(s.reqs, req)
  161. if s.err != nil {
  162. return nil, s.err
  163. }
  164. return s.resps[0].(*iampb.TestIamPermissionsResponse), nil
  165. }
  166. // clientOpt is the option tests should use to connect to the test server.
  167. // It is initialized by TestMain.
  168. var clientOpt option.ClientOption
  169. var (
  170. mockInstanceAdmin mockInstanceAdminServer
  171. )
  172. func TestMain(m *testing.M) {
  173. flag.Parse()
  174. serv := grpc.NewServer()
  175. instancepb.RegisterInstanceAdminServer(serv, &mockInstanceAdmin)
  176. lis, err := net.Listen("tcp", "localhost:0")
  177. if err != nil {
  178. log.Fatal(err)
  179. }
  180. go serv.Serve(lis)
  181. conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure())
  182. if err != nil {
  183. log.Fatal(err)
  184. }
  185. clientOpt = option.WithGRPCConn(conn)
  186. os.Exit(m.Run())
  187. }
  188. func TestInstanceAdminListInstanceConfigs(t *testing.T) {
  189. var nextPageToken string = ""
  190. var instanceConfigsElement *instancepb.InstanceConfig = &instancepb.InstanceConfig{}
  191. var instanceConfigs = []*instancepb.InstanceConfig{instanceConfigsElement}
  192. var expectedResponse = &instancepb.ListInstanceConfigsResponse{
  193. NextPageToken: nextPageToken,
  194. InstanceConfigs: instanceConfigs,
  195. }
  196. mockInstanceAdmin.err = nil
  197. mockInstanceAdmin.reqs = nil
  198. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], expectedResponse)
  199. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  200. var request = &instancepb.ListInstanceConfigsRequest{
  201. Parent: formattedParent,
  202. }
  203. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  204. if err != nil {
  205. t.Fatal(err)
  206. }
  207. resp, err := c.ListInstanceConfigs(context.Background(), request).Next()
  208. if err != nil {
  209. t.Fatal(err)
  210. }
  211. if want, got := request, mockInstanceAdmin.reqs[0]; !proto.Equal(want, got) {
  212. t.Errorf("wrong request %q, want %q", got, want)
  213. }
  214. want := (interface{})(expectedResponse.InstanceConfigs[0])
  215. got := (interface{})(resp)
  216. var ok bool
  217. switch want := (want).(type) {
  218. case proto.Message:
  219. ok = proto.Equal(want, got.(proto.Message))
  220. default:
  221. ok = want == got
  222. }
  223. if !ok {
  224. t.Errorf("wrong response %q, want %q)", got, want)
  225. }
  226. }
  227. func TestInstanceAdminListInstanceConfigsError(t *testing.T) {
  228. errCode := codes.PermissionDenied
  229. mockInstanceAdmin.err = gstatus.Error(errCode, "test error")
  230. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  231. var request = &instancepb.ListInstanceConfigsRequest{
  232. Parent: formattedParent,
  233. }
  234. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  235. if err != nil {
  236. t.Fatal(err)
  237. }
  238. resp, err := c.ListInstanceConfigs(context.Background(), request).Next()
  239. if st, ok := gstatus.FromError(err); !ok {
  240. t.Errorf("got error %v, expected grpc error", err)
  241. } else if c := st.Code(); c != errCode {
  242. t.Errorf("got error code %q, want %q", c, errCode)
  243. }
  244. _ = resp
  245. }
  246. func TestInstanceAdminGetInstanceConfig(t *testing.T) {
  247. var name2 string = "name2-1052831874"
  248. var displayName string = "displayName1615086568"
  249. var expectedResponse = &instancepb.InstanceConfig{
  250. Name: name2,
  251. DisplayName: displayName,
  252. }
  253. mockInstanceAdmin.err = nil
  254. mockInstanceAdmin.reqs = nil
  255. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], expectedResponse)
  256. var formattedName string = fmt.Sprintf("projects/%s/instanceConfigs/%s", "[PROJECT]", "[INSTANCE_CONFIG]")
  257. var request = &instancepb.GetInstanceConfigRequest{
  258. Name: formattedName,
  259. }
  260. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  261. if err != nil {
  262. t.Fatal(err)
  263. }
  264. resp, err := c.GetInstanceConfig(context.Background(), request)
  265. if err != nil {
  266. t.Fatal(err)
  267. }
  268. if want, got := request, mockInstanceAdmin.reqs[0]; !proto.Equal(want, got) {
  269. t.Errorf("wrong request %q, want %q", got, want)
  270. }
  271. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  272. t.Errorf("wrong response %q, want %q)", got, want)
  273. }
  274. }
  275. func TestInstanceAdminGetInstanceConfigError(t *testing.T) {
  276. errCode := codes.PermissionDenied
  277. mockInstanceAdmin.err = gstatus.Error(errCode, "test error")
  278. var formattedName string = fmt.Sprintf("projects/%s/instanceConfigs/%s", "[PROJECT]", "[INSTANCE_CONFIG]")
  279. var request = &instancepb.GetInstanceConfigRequest{
  280. Name: formattedName,
  281. }
  282. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  283. if err != nil {
  284. t.Fatal(err)
  285. }
  286. resp, err := c.GetInstanceConfig(context.Background(), request)
  287. if st, ok := gstatus.FromError(err); !ok {
  288. t.Errorf("got error %v, expected grpc error", err)
  289. } else if c := st.Code(); c != errCode {
  290. t.Errorf("got error code %q, want %q", c, errCode)
  291. }
  292. _ = resp
  293. }
  294. func TestInstanceAdminListInstances(t *testing.T) {
  295. var nextPageToken string = ""
  296. var instancesElement *instancepb.Instance = &instancepb.Instance{}
  297. var instances = []*instancepb.Instance{instancesElement}
  298. var expectedResponse = &instancepb.ListInstancesResponse{
  299. NextPageToken: nextPageToken,
  300. Instances: instances,
  301. }
  302. mockInstanceAdmin.err = nil
  303. mockInstanceAdmin.reqs = nil
  304. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], expectedResponse)
  305. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  306. var request = &instancepb.ListInstancesRequest{
  307. Parent: formattedParent,
  308. }
  309. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  310. if err != nil {
  311. t.Fatal(err)
  312. }
  313. resp, err := c.ListInstances(context.Background(), request).Next()
  314. if err != nil {
  315. t.Fatal(err)
  316. }
  317. if want, got := request, mockInstanceAdmin.reqs[0]; !proto.Equal(want, got) {
  318. t.Errorf("wrong request %q, want %q", got, want)
  319. }
  320. want := (interface{})(expectedResponse.Instances[0])
  321. got := (interface{})(resp)
  322. var ok bool
  323. switch want := (want).(type) {
  324. case proto.Message:
  325. ok = proto.Equal(want, got.(proto.Message))
  326. default:
  327. ok = want == got
  328. }
  329. if !ok {
  330. t.Errorf("wrong response %q, want %q)", got, want)
  331. }
  332. }
  333. func TestInstanceAdminListInstancesError(t *testing.T) {
  334. errCode := codes.PermissionDenied
  335. mockInstanceAdmin.err = gstatus.Error(errCode, "test error")
  336. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  337. var request = &instancepb.ListInstancesRequest{
  338. Parent: formattedParent,
  339. }
  340. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  341. if err != nil {
  342. t.Fatal(err)
  343. }
  344. resp, err := c.ListInstances(context.Background(), request).Next()
  345. if st, ok := gstatus.FromError(err); !ok {
  346. t.Errorf("got error %v, expected grpc error", err)
  347. } else if c := st.Code(); c != errCode {
  348. t.Errorf("got error code %q, want %q", c, errCode)
  349. }
  350. _ = resp
  351. }
  352. func TestInstanceAdminGetInstance(t *testing.T) {
  353. var name2 string = "name2-1052831874"
  354. var config string = "config-1354792126"
  355. var displayName string = "displayName1615086568"
  356. var nodeCount int32 = 1539922066
  357. var expectedResponse = &instancepb.Instance{
  358. Name: name2,
  359. Config: config,
  360. DisplayName: displayName,
  361. NodeCount: nodeCount,
  362. }
  363. mockInstanceAdmin.err = nil
  364. mockInstanceAdmin.reqs = nil
  365. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], expectedResponse)
  366. var formattedName string = fmt.Sprintf("projects/%s/instances/%s", "[PROJECT]", "[INSTANCE]")
  367. var request = &instancepb.GetInstanceRequest{
  368. Name: formattedName,
  369. }
  370. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  371. if err != nil {
  372. t.Fatal(err)
  373. }
  374. resp, err := c.GetInstance(context.Background(), request)
  375. if err != nil {
  376. t.Fatal(err)
  377. }
  378. if want, got := request, mockInstanceAdmin.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 TestInstanceAdminGetInstanceError(t *testing.T) {
  386. errCode := codes.PermissionDenied
  387. mockInstanceAdmin.err = gstatus.Error(errCode, "test error")
  388. var formattedName string = fmt.Sprintf("projects/%s/instances/%s", "[PROJECT]", "[INSTANCE]")
  389. var request = &instancepb.GetInstanceRequest{
  390. Name: formattedName,
  391. }
  392. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  393. if err != nil {
  394. t.Fatal(err)
  395. }
  396. resp, err := c.GetInstance(context.Background(), request)
  397. if st, ok := gstatus.FromError(err); !ok {
  398. t.Errorf("got error %v, expected grpc error", err)
  399. } else if c := st.Code(); c != errCode {
  400. t.Errorf("got error code %q, want %q", c, errCode)
  401. }
  402. _ = resp
  403. }
  404. func TestInstanceAdminCreateInstance(t *testing.T) {
  405. var name string = "name3373707"
  406. var config string = "config-1354792126"
  407. var displayName string = "displayName1615086568"
  408. var nodeCount int32 = 1539922066
  409. var expectedResponse = &instancepb.Instance{
  410. Name: name,
  411. Config: config,
  412. DisplayName: displayName,
  413. NodeCount: nodeCount,
  414. }
  415. mockInstanceAdmin.err = nil
  416. mockInstanceAdmin.reqs = nil
  417. any, err := ptypes.MarshalAny(expectedResponse)
  418. if err != nil {
  419. t.Fatal(err)
  420. }
  421. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], &longrunningpb.Operation{
  422. Name: "longrunning-test",
  423. Done: true,
  424. Result: &longrunningpb.Operation_Response{Response: any},
  425. })
  426. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  427. var instanceId string = "instanceId-2101995259"
  428. var instance *instancepb.Instance = &instancepb.Instance{}
  429. var request = &instancepb.CreateInstanceRequest{
  430. Parent: formattedParent,
  431. InstanceId: instanceId,
  432. Instance: instance,
  433. }
  434. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  435. if err != nil {
  436. t.Fatal(err)
  437. }
  438. respLRO, err := c.CreateInstance(context.Background(), request)
  439. if err != nil {
  440. t.Fatal(err)
  441. }
  442. resp, err := respLRO.Wait(context.Background())
  443. if err != nil {
  444. t.Fatal(err)
  445. }
  446. if want, got := request, mockInstanceAdmin.reqs[0]; !proto.Equal(want, got) {
  447. t.Errorf("wrong request %q, want %q", got, want)
  448. }
  449. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  450. t.Errorf("wrong response %q, want %q)", got, want)
  451. }
  452. }
  453. func TestInstanceAdminCreateInstanceError(t *testing.T) {
  454. errCode := codes.PermissionDenied
  455. mockInstanceAdmin.err = nil
  456. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], &longrunningpb.Operation{
  457. Name: "longrunning-test",
  458. Done: true,
  459. Result: &longrunningpb.Operation_Error{
  460. Error: &status.Status{
  461. Code: int32(errCode),
  462. Message: "test error",
  463. },
  464. },
  465. })
  466. var formattedParent string = fmt.Sprintf("projects/%s", "[PROJECT]")
  467. var instanceId string = "instanceId-2101995259"
  468. var instance *instancepb.Instance = &instancepb.Instance{}
  469. var request = &instancepb.CreateInstanceRequest{
  470. Parent: formattedParent,
  471. InstanceId: instanceId,
  472. Instance: instance,
  473. }
  474. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  475. if err != nil {
  476. t.Fatal(err)
  477. }
  478. respLRO, err := c.CreateInstance(context.Background(), request)
  479. if err != nil {
  480. t.Fatal(err)
  481. }
  482. resp, err := respLRO.Wait(context.Background())
  483. if st, ok := gstatus.FromError(err); !ok {
  484. t.Errorf("got error %v, expected grpc error", err)
  485. } else if c := st.Code(); c != errCode {
  486. t.Errorf("got error code %q, want %q", c, errCode)
  487. }
  488. _ = resp
  489. }
  490. func TestInstanceAdminUpdateInstance(t *testing.T) {
  491. var name string = "name3373707"
  492. var config string = "config-1354792126"
  493. var displayName string = "displayName1615086568"
  494. var nodeCount int32 = 1539922066
  495. var expectedResponse = &instancepb.Instance{
  496. Name: name,
  497. Config: config,
  498. DisplayName: displayName,
  499. NodeCount: nodeCount,
  500. }
  501. mockInstanceAdmin.err = nil
  502. mockInstanceAdmin.reqs = nil
  503. any, err := ptypes.MarshalAny(expectedResponse)
  504. if err != nil {
  505. t.Fatal(err)
  506. }
  507. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], &longrunningpb.Operation{
  508. Name: "longrunning-test",
  509. Done: true,
  510. Result: &longrunningpb.Operation_Response{Response: any},
  511. })
  512. var instance *instancepb.Instance = &instancepb.Instance{}
  513. var fieldMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  514. var request = &instancepb.UpdateInstanceRequest{
  515. Instance: instance,
  516. FieldMask: fieldMask,
  517. }
  518. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  519. if err != nil {
  520. t.Fatal(err)
  521. }
  522. respLRO, err := c.UpdateInstance(context.Background(), request)
  523. if err != nil {
  524. t.Fatal(err)
  525. }
  526. resp, err := respLRO.Wait(context.Background())
  527. if err != nil {
  528. t.Fatal(err)
  529. }
  530. if want, got := request, mockInstanceAdmin.reqs[0]; !proto.Equal(want, got) {
  531. t.Errorf("wrong request %q, want %q", got, want)
  532. }
  533. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  534. t.Errorf("wrong response %q, want %q)", got, want)
  535. }
  536. }
  537. func TestInstanceAdminUpdateInstanceError(t *testing.T) {
  538. errCode := codes.PermissionDenied
  539. mockInstanceAdmin.err = nil
  540. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], &longrunningpb.Operation{
  541. Name: "longrunning-test",
  542. Done: true,
  543. Result: &longrunningpb.Operation_Error{
  544. Error: &status.Status{
  545. Code: int32(errCode),
  546. Message: "test error",
  547. },
  548. },
  549. })
  550. var instance *instancepb.Instance = &instancepb.Instance{}
  551. var fieldMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  552. var request = &instancepb.UpdateInstanceRequest{
  553. Instance: instance,
  554. FieldMask: fieldMask,
  555. }
  556. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  557. if err != nil {
  558. t.Fatal(err)
  559. }
  560. respLRO, err := c.UpdateInstance(context.Background(), request)
  561. if err != nil {
  562. t.Fatal(err)
  563. }
  564. resp, err := respLRO.Wait(context.Background())
  565. if st, ok := gstatus.FromError(err); !ok {
  566. t.Errorf("got error %v, expected grpc error", err)
  567. } else if c := st.Code(); c != errCode {
  568. t.Errorf("got error code %q, want %q", c, errCode)
  569. }
  570. _ = resp
  571. }
  572. func TestInstanceAdminDeleteInstance(t *testing.T) {
  573. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  574. mockInstanceAdmin.err = nil
  575. mockInstanceAdmin.reqs = nil
  576. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], expectedResponse)
  577. var formattedName string = fmt.Sprintf("projects/%s/instances/%s", "[PROJECT]", "[INSTANCE]")
  578. var request = &instancepb.DeleteInstanceRequest{
  579. Name: formattedName,
  580. }
  581. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  582. if err != nil {
  583. t.Fatal(err)
  584. }
  585. err = c.DeleteInstance(context.Background(), request)
  586. if err != nil {
  587. t.Fatal(err)
  588. }
  589. if want, got := request, mockInstanceAdmin.reqs[0]; !proto.Equal(want, got) {
  590. t.Errorf("wrong request %q, want %q", got, want)
  591. }
  592. }
  593. func TestInstanceAdminDeleteInstanceError(t *testing.T) {
  594. errCode := codes.PermissionDenied
  595. mockInstanceAdmin.err = gstatus.Error(errCode, "test error")
  596. var formattedName string = fmt.Sprintf("projects/%s/instances/%s", "[PROJECT]", "[INSTANCE]")
  597. var request = &instancepb.DeleteInstanceRequest{
  598. Name: formattedName,
  599. }
  600. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  601. if err != nil {
  602. t.Fatal(err)
  603. }
  604. err = c.DeleteInstance(context.Background(), request)
  605. if st, ok := gstatus.FromError(err); !ok {
  606. t.Errorf("got error %v, expected grpc error", err)
  607. } else if c := st.Code(); c != errCode {
  608. t.Errorf("got error code %q, want %q", c, errCode)
  609. }
  610. }
  611. func TestInstanceAdminSetIamPolicy(t *testing.T) {
  612. var version int32 = 351608024
  613. var etag []byte = []byte("21")
  614. var expectedResponse = &iampb.Policy{
  615. Version: version,
  616. Etag: etag,
  617. }
  618. mockInstanceAdmin.err = nil
  619. mockInstanceAdmin.reqs = nil
  620. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], expectedResponse)
  621. var formattedResource string = fmt.Sprintf("projects/%s/instances/%s", "[PROJECT]", "[INSTANCE]")
  622. var policy *iampb.Policy = &iampb.Policy{}
  623. var request = &iampb.SetIamPolicyRequest{
  624. Resource: formattedResource,
  625. Policy: policy,
  626. }
  627. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  628. if err != nil {
  629. t.Fatal(err)
  630. }
  631. resp, err := c.SetIamPolicy(context.Background(), request)
  632. if err != nil {
  633. t.Fatal(err)
  634. }
  635. if want, got := request, mockInstanceAdmin.reqs[0]; !proto.Equal(want, got) {
  636. t.Errorf("wrong request %q, want %q", got, want)
  637. }
  638. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  639. t.Errorf("wrong response %q, want %q)", got, want)
  640. }
  641. }
  642. func TestInstanceAdminSetIamPolicyError(t *testing.T) {
  643. errCode := codes.PermissionDenied
  644. mockInstanceAdmin.err = gstatus.Error(errCode, "test error")
  645. var formattedResource string = fmt.Sprintf("projects/%s/instances/%s", "[PROJECT]", "[INSTANCE]")
  646. var policy *iampb.Policy = &iampb.Policy{}
  647. var request = &iampb.SetIamPolicyRequest{
  648. Resource: formattedResource,
  649. Policy: policy,
  650. }
  651. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  652. if err != nil {
  653. t.Fatal(err)
  654. }
  655. resp, err := c.SetIamPolicy(context.Background(), request)
  656. if st, ok := gstatus.FromError(err); !ok {
  657. t.Errorf("got error %v, expected grpc error", err)
  658. } else if c := st.Code(); c != errCode {
  659. t.Errorf("got error code %q, want %q", c, errCode)
  660. }
  661. _ = resp
  662. }
  663. func TestInstanceAdminGetIamPolicy(t *testing.T) {
  664. var version int32 = 351608024
  665. var etag []byte = []byte("21")
  666. var expectedResponse = &iampb.Policy{
  667. Version: version,
  668. Etag: etag,
  669. }
  670. mockInstanceAdmin.err = nil
  671. mockInstanceAdmin.reqs = nil
  672. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], expectedResponse)
  673. var formattedResource string = fmt.Sprintf("projects/%s/instances/%s", "[PROJECT]", "[INSTANCE]")
  674. var request = &iampb.GetIamPolicyRequest{
  675. Resource: formattedResource,
  676. }
  677. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  678. if err != nil {
  679. t.Fatal(err)
  680. }
  681. resp, err := c.GetIamPolicy(context.Background(), request)
  682. if err != nil {
  683. t.Fatal(err)
  684. }
  685. if want, got := request, mockInstanceAdmin.reqs[0]; !proto.Equal(want, got) {
  686. t.Errorf("wrong request %q, want %q", got, want)
  687. }
  688. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  689. t.Errorf("wrong response %q, want %q)", got, want)
  690. }
  691. }
  692. func TestInstanceAdminGetIamPolicyError(t *testing.T) {
  693. errCode := codes.PermissionDenied
  694. mockInstanceAdmin.err = gstatus.Error(errCode, "test error")
  695. var formattedResource string = fmt.Sprintf("projects/%s/instances/%s", "[PROJECT]", "[INSTANCE]")
  696. var request = &iampb.GetIamPolicyRequest{
  697. Resource: formattedResource,
  698. }
  699. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  700. if err != nil {
  701. t.Fatal(err)
  702. }
  703. resp, err := c.GetIamPolicy(context.Background(), request)
  704. if st, ok := gstatus.FromError(err); !ok {
  705. t.Errorf("got error %v, expected grpc error", err)
  706. } else if c := st.Code(); c != errCode {
  707. t.Errorf("got error code %q, want %q", c, errCode)
  708. }
  709. _ = resp
  710. }
  711. func TestInstanceAdminTestIamPermissions(t *testing.T) {
  712. var expectedResponse *iampb.TestIamPermissionsResponse = &iampb.TestIamPermissionsResponse{}
  713. mockInstanceAdmin.err = nil
  714. mockInstanceAdmin.reqs = nil
  715. mockInstanceAdmin.resps = append(mockInstanceAdmin.resps[:0], expectedResponse)
  716. var formattedResource string = fmt.Sprintf("projects/%s/instances/%s", "[PROJECT]", "[INSTANCE]")
  717. var permissions []string = nil
  718. var request = &iampb.TestIamPermissionsRequest{
  719. Resource: formattedResource,
  720. Permissions: permissions,
  721. }
  722. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  723. if err != nil {
  724. t.Fatal(err)
  725. }
  726. resp, err := c.TestIamPermissions(context.Background(), request)
  727. if err != nil {
  728. t.Fatal(err)
  729. }
  730. if want, got := request, mockInstanceAdmin.reqs[0]; !proto.Equal(want, got) {
  731. t.Errorf("wrong request %q, want %q", got, want)
  732. }
  733. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  734. t.Errorf("wrong response %q, want %q)", got, want)
  735. }
  736. }
  737. func TestInstanceAdminTestIamPermissionsError(t *testing.T) {
  738. errCode := codes.PermissionDenied
  739. mockInstanceAdmin.err = gstatus.Error(errCode, "test error")
  740. var formattedResource string = fmt.Sprintf("projects/%s/instances/%s", "[PROJECT]", "[INSTANCE]")
  741. var permissions []string = nil
  742. var request = &iampb.TestIamPermissionsRequest{
  743. Resource: formattedResource,
  744. Permissions: permissions,
  745. }
  746. c, err := NewInstanceAdminClient(context.Background(), clientOpt)
  747. if err != nil {
  748. t.Fatal(err)
  749. }
  750. resp, err := c.TestIamPermissions(context.Background(), request)
  751. if st, ok := gstatus.FromError(err); !ok {
  752. t.Errorf("got error %v, expected grpc error", err)
  753. } else if c := st.Code(); c != errCode {
  754. t.Errorf("got error code %q, want %q", c, errCode)
  755. }
  756. _ = resp
  757. }