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.
 
 
 

1623 lines
50 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 kms
  16. import (
  17. durationpb "github.com/golang/protobuf/ptypes/duration"
  18. timestamppb "github.com/golang/protobuf/ptypes/timestamp"
  19. kmspb "google.golang.org/genproto/googleapis/cloud/kms/v1"
  20. iampb "google.golang.org/genproto/googleapis/iam/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 mockKeyManagementServer struct {
  46. // Embed for forward compatibility.
  47. // Tests will keep working if more methods are added
  48. // in the future.
  49. kmspb.KeyManagementServiceServer
  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 *mockKeyManagementServer) ListKeyRings(ctx context.Context, req *kmspb.ListKeyRingsRequest) (*kmspb.ListKeyRingsResponse, 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].(*kmspb.ListKeyRingsResponse), nil
  66. }
  67. func (s *mockKeyManagementServer) ListCryptoKeys(ctx context.Context, req *kmspb.ListCryptoKeysRequest) (*kmspb.ListCryptoKeysResponse, 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].(*kmspb.ListCryptoKeysResponse), nil
  77. }
  78. func (s *mockKeyManagementServer) ListCryptoKeyVersions(ctx context.Context, req *kmspb.ListCryptoKeyVersionsRequest) (*kmspb.ListCryptoKeyVersionsResponse, 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].(*kmspb.ListCryptoKeyVersionsResponse), nil
  88. }
  89. func (s *mockKeyManagementServer) GetKeyRing(ctx context.Context, req *kmspb.GetKeyRingRequest) (*kmspb.KeyRing, 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].(*kmspb.KeyRing), nil
  99. }
  100. func (s *mockKeyManagementServer) GetCryptoKey(ctx context.Context, req *kmspb.GetCryptoKeyRequest) (*kmspb.CryptoKey, 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].(*kmspb.CryptoKey), nil
  110. }
  111. func (s *mockKeyManagementServer) GetCryptoKeyVersion(ctx context.Context, req *kmspb.GetCryptoKeyVersionRequest) (*kmspb.CryptoKeyVersion, 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].(*kmspb.CryptoKeyVersion), nil
  121. }
  122. func (s *mockKeyManagementServer) GetPublicKey(ctx context.Context, req *kmspb.GetPublicKeyRequest) (*kmspb.PublicKey, 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].(*kmspb.PublicKey), nil
  132. }
  133. func (s *mockKeyManagementServer) CreateKeyRing(ctx context.Context, req *kmspb.CreateKeyRingRequest) (*kmspb.KeyRing, 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].(*kmspb.KeyRing), nil
  143. }
  144. func (s *mockKeyManagementServer) CreateCryptoKey(ctx context.Context, req *kmspb.CreateCryptoKeyRequest) (*kmspb.CryptoKey, 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].(*kmspb.CryptoKey), nil
  154. }
  155. func (s *mockKeyManagementServer) CreateCryptoKeyVersion(ctx context.Context, req *kmspb.CreateCryptoKeyVersionRequest) (*kmspb.CryptoKeyVersion, 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].(*kmspb.CryptoKeyVersion), nil
  165. }
  166. func (s *mockKeyManagementServer) UpdateCryptoKey(ctx context.Context, req *kmspb.UpdateCryptoKeyRequest) (*kmspb.CryptoKey, error) {
  167. md, _ := metadata.FromIncomingContext(ctx)
  168. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  169. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  170. }
  171. s.reqs = append(s.reqs, req)
  172. if s.err != nil {
  173. return nil, s.err
  174. }
  175. return s.resps[0].(*kmspb.CryptoKey), nil
  176. }
  177. func (s *mockKeyManagementServer) UpdateCryptoKeyVersion(ctx context.Context, req *kmspb.UpdateCryptoKeyVersionRequest) (*kmspb.CryptoKeyVersion, error) {
  178. md, _ := metadata.FromIncomingContext(ctx)
  179. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  180. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  181. }
  182. s.reqs = append(s.reqs, req)
  183. if s.err != nil {
  184. return nil, s.err
  185. }
  186. return s.resps[0].(*kmspb.CryptoKeyVersion), nil
  187. }
  188. func (s *mockKeyManagementServer) Encrypt(ctx context.Context, req *kmspb.EncryptRequest) (*kmspb.EncryptResponse, error) {
  189. md, _ := metadata.FromIncomingContext(ctx)
  190. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  191. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  192. }
  193. s.reqs = append(s.reqs, req)
  194. if s.err != nil {
  195. return nil, s.err
  196. }
  197. return s.resps[0].(*kmspb.EncryptResponse), nil
  198. }
  199. func (s *mockKeyManagementServer) Decrypt(ctx context.Context, req *kmspb.DecryptRequest) (*kmspb.DecryptResponse, error) {
  200. md, _ := metadata.FromIncomingContext(ctx)
  201. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  202. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  203. }
  204. s.reqs = append(s.reqs, req)
  205. if s.err != nil {
  206. return nil, s.err
  207. }
  208. return s.resps[0].(*kmspb.DecryptResponse), nil
  209. }
  210. func (s *mockKeyManagementServer) AsymmetricSign(ctx context.Context, req *kmspb.AsymmetricSignRequest) (*kmspb.AsymmetricSignResponse, error) {
  211. md, _ := metadata.FromIncomingContext(ctx)
  212. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  213. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  214. }
  215. s.reqs = append(s.reqs, req)
  216. if s.err != nil {
  217. return nil, s.err
  218. }
  219. return s.resps[0].(*kmspb.AsymmetricSignResponse), nil
  220. }
  221. func (s *mockKeyManagementServer) AsymmetricDecrypt(ctx context.Context, req *kmspb.AsymmetricDecryptRequest) (*kmspb.AsymmetricDecryptResponse, error) {
  222. md, _ := metadata.FromIncomingContext(ctx)
  223. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  224. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  225. }
  226. s.reqs = append(s.reqs, req)
  227. if s.err != nil {
  228. return nil, s.err
  229. }
  230. return s.resps[0].(*kmspb.AsymmetricDecryptResponse), nil
  231. }
  232. func (s *mockKeyManagementServer) UpdateCryptoKeyPrimaryVersion(ctx context.Context, req *kmspb.UpdateCryptoKeyPrimaryVersionRequest) (*kmspb.CryptoKey, error) {
  233. md, _ := metadata.FromIncomingContext(ctx)
  234. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  235. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  236. }
  237. s.reqs = append(s.reqs, req)
  238. if s.err != nil {
  239. return nil, s.err
  240. }
  241. return s.resps[0].(*kmspb.CryptoKey), nil
  242. }
  243. func (s *mockKeyManagementServer) DestroyCryptoKeyVersion(ctx context.Context, req *kmspb.DestroyCryptoKeyVersionRequest) (*kmspb.CryptoKeyVersion, error) {
  244. md, _ := metadata.FromIncomingContext(ctx)
  245. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  246. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  247. }
  248. s.reqs = append(s.reqs, req)
  249. if s.err != nil {
  250. return nil, s.err
  251. }
  252. return s.resps[0].(*kmspb.CryptoKeyVersion), nil
  253. }
  254. func (s *mockKeyManagementServer) RestoreCryptoKeyVersion(ctx context.Context, req *kmspb.RestoreCryptoKeyVersionRequest) (*kmspb.CryptoKeyVersion, error) {
  255. md, _ := metadata.FromIncomingContext(ctx)
  256. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  257. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  258. }
  259. s.reqs = append(s.reqs, req)
  260. if s.err != nil {
  261. return nil, s.err
  262. }
  263. return s.resps[0].(*kmspb.CryptoKeyVersion), nil
  264. }
  265. type mockIamPolicyServer struct {
  266. // Embed for forward compatibility.
  267. // Tests will keep working if more methods are added
  268. // in the future.
  269. iampb.IAMPolicyServer
  270. reqs []proto.Message
  271. // If set, all calls return this error.
  272. err error
  273. // responses to return if err == nil
  274. resps []proto.Message
  275. }
  276. func (s *mockIamPolicyServer) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest) (*iampb.Policy, error) {
  277. md, _ := metadata.FromIncomingContext(ctx)
  278. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  279. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  280. }
  281. s.reqs = append(s.reqs, req)
  282. if s.err != nil {
  283. return nil, s.err
  284. }
  285. return s.resps[0].(*iampb.Policy), nil
  286. }
  287. func (s *mockIamPolicyServer) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest) (*iampb.Policy, error) {
  288. md, _ := metadata.FromIncomingContext(ctx)
  289. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  290. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  291. }
  292. s.reqs = append(s.reqs, req)
  293. if s.err != nil {
  294. return nil, s.err
  295. }
  296. return s.resps[0].(*iampb.Policy), nil
  297. }
  298. func (s *mockIamPolicyServer) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error) {
  299. md, _ := metadata.FromIncomingContext(ctx)
  300. if xg := md["x-goog-api-client"]; len(xg) == 0 || !strings.Contains(xg[0], "gl-go/") {
  301. return nil, fmt.Errorf("x-goog-api-client = %v, expected gl-go key", xg)
  302. }
  303. s.reqs = append(s.reqs, req)
  304. if s.err != nil {
  305. return nil, s.err
  306. }
  307. return s.resps[0].(*iampb.TestIamPermissionsResponse), nil
  308. }
  309. // clientOpt is the option tests should use to connect to the test server.
  310. // It is initialized by TestMain.
  311. var clientOpt option.ClientOption
  312. var (
  313. mockKeyManagement mockKeyManagementServer
  314. mockIamPolicy mockIamPolicyServer
  315. )
  316. func TestMain(m *testing.M) {
  317. flag.Parse()
  318. serv := grpc.NewServer()
  319. kmspb.RegisterKeyManagementServiceServer(serv, &mockKeyManagement)
  320. iampb.RegisterIAMPolicyServer(serv, &mockIamPolicy)
  321. lis, err := net.Listen("tcp", "localhost:0")
  322. if err != nil {
  323. log.Fatal(err)
  324. }
  325. go serv.Serve(lis)
  326. conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure())
  327. if err != nil {
  328. log.Fatal(err)
  329. }
  330. clientOpt = option.WithGRPCConn(conn)
  331. os.Exit(m.Run())
  332. }
  333. func TestKeyManagementServiceListKeyRings(t *testing.T) {
  334. var nextPageToken string = ""
  335. var totalSize int32 = 705419236
  336. var keyRingsElement *kmspb.KeyRing = &kmspb.KeyRing{}
  337. var keyRings = []*kmspb.KeyRing{keyRingsElement}
  338. var expectedResponse = &kmspb.ListKeyRingsResponse{
  339. NextPageToken: nextPageToken,
  340. TotalSize: totalSize,
  341. KeyRings: keyRings,
  342. }
  343. mockKeyManagement.err = nil
  344. mockKeyManagement.reqs = nil
  345. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  346. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
  347. var request = &kmspb.ListKeyRingsRequest{
  348. Parent: formattedParent,
  349. }
  350. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  351. if err != nil {
  352. t.Fatal(err)
  353. }
  354. resp, err := c.ListKeyRings(context.Background(), request).Next()
  355. if err != nil {
  356. t.Fatal(err)
  357. }
  358. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  359. t.Errorf("wrong request %q, want %q", got, want)
  360. }
  361. want := (interface{})(expectedResponse.KeyRings[0])
  362. got := (interface{})(resp)
  363. var ok bool
  364. switch want := (want).(type) {
  365. case proto.Message:
  366. ok = proto.Equal(want, got.(proto.Message))
  367. default:
  368. ok = want == got
  369. }
  370. if !ok {
  371. t.Errorf("wrong response %q, want %q)", got, want)
  372. }
  373. }
  374. func TestKeyManagementServiceListKeyRingsError(t *testing.T) {
  375. errCode := codes.PermissionDenied
  376. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  377. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
  378. var request = &kmspb.ListKeyRingsRequest{
  379. Parent: formattedParent,
  380. }
  381. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  382. if err != nil {
  383. t.Fatal(err)
  384. }
  385. resp, err := c.ListKeyRings(context.Background(), request).Next()
  386. if st, ok := gstatus.FromError(err); !ok {
  387. t.Errorf("got error %v, expected grpc error", err)
  388. } else if c := st.Code(); c != errCode {
  389. t.Errorf("got error code %q, want %q", c, errCode)
  390. }
  391. _ = resp
  392. }
  393. func TestKeyManagementServiceListCryptoKeys(t *testing.T) {
  394. var nextPageToken string = ""
  395. var totalSize int32 = 705419236
  396. var cryptoKeysElement *kmspb.CryptoKey = &kmspb.CryptoKey{}
  397. var cryptoKeys = []*kmspb.CryptoKey{cryptoKeysElement}
  398. var expectedResponse = &kmspb.ListCryptoKeysResponse{
  399. NextPageToken: nextPageToken,
  400. TotalSize: totalSize,
  401. CryptoKeys: cryptoKeys,
  402. }
  403. mockKeyManagement.err = nil
  404. mockKeyManagement.reqs = nil
  405. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  406. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]")
  407. var request = &kmspb.ListCryptoKeysRequest{
  408. Parent: formattedParent,
  409. }
  410. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  411. if err != nil {
  412. t.Fatal(err)
  413. }
  414. resp, err := c.ListCryptoKeys(context.Background(), request).Next()
  415. if err != nil {
  416. t.Fatal(err)
  417. }
  418. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  419. t.Errorf("wrong request %q, want %q", got, want)
  420. }
  421. want := (interface{})(expectedResponse.CryptoKeys[0])
  422. got := (interface{})(resp)
  423. var ok bool
  424. switch want := (want).(type) {
  425. case proto.Message:
  426. ok = proto.Equal(want, got.(proto.Message))
  427. default:
  428. ok = want == got
  429. }
  430. if !ok {
  431. t.Errorf("wrong response %q, want %q)", got, want)
  432. }
  433. }
  434. func TestKeyManagementServiceListCryptoKeysError(t *testing.T) {
  435. errCode := codes.PermissionDenied
  436. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  437. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]")
  438. var request = &kmspb.ListCryptoKeysRequest{
  439. Parent: formattedParent,
  440. }
  441. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  442. if err != nil {
  443. t.Fatal(err)
  444. }
  445. resp, err := c.ListCryptoKeys(context.Background(), request).Next()
  446. if st, ok := gstatus.FromError(err); !ok {
  447. t.Errorf("got error %v, expected grpc error", err)
  448. } else if c := st.Code(); c != errCode {
  449. t.Errorf("got error code %q, want %q", c, errCode)
  450. }
  451. _ = resp
  452. }
  453. func TestKeyManagementServiceListCryptoKeyVersions(t *testing.T) {
  454. var nextPageToken string = ""
  455. var totalSize int32 = 705419236
  456. var cryptoKeyVersionsElement *kmspb.CryptoKeyVersion = &kmspb.CryptoKeyVersion{}
  457. var cryptoKeyVersions = []*kmspb.CryptoKeyVersion{cryptoKeyVersionsElement}
  458. var expectedResponse = &kmspb.ListCryptoKeyVersionsResponse{
  459. NextPageToken: nextPageToken,
  460. TotalSize: totalSize,
  461. CryptoKeyVersions: cryptoKeyVersions,
  462. }
  463. mockKeyManagement.err = nil
  464. mockKeyManagement.reqs = nil
  465. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  466. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
  467. var request = &kmspb.ListCryptoKeyVersionsRequest{
  468. Parent: formattedParent,
  469. }
  470. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  471. if err != nil {
  472. t.Fatal(err)
  473. }
  474. resp, err := c.ListCryptoKeyVersions(context.Background(), request).Next()
  475. if err != nil {
  476. t.Fatal(err)
  477. }
  478. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  479. t.Errorf("wrong request %q, want %q", got, want)
  480. }
  481. want := (interface{})(expectedResponse.CryptoKeyVersions[0])
  482. got := (interface{})(resp)
  483. var ok bool
  484. switch want := (want).(type) {
  485. case proto.Message:
  486. ok = proto.Equal(want, got.(proto.Message))
  487. default:
  488. ok = want == got
  489. }
  490. if !ok {
  491. t.Errorf("wrong response %q, want %q)", got, want)
  492. }
  493. }
  494. func TestKeyManagementServiceListCryptoKeyVersionsError(t *testing.T) {
  495. errCode := codes.PermissionDenied
  496. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  497. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
  498. var request = &kmspb.ListCryptoKeyVersionsRequest{
  499. Parent: formattedParent,
  500. }
  501. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  502. if err != nil {
  503. t.Fatal(err)
  504. }
  505. resp, err := c.ListCryptoKeyVersions(context.Background(), request).Next()
  506. if st, ok := gstatus.FromError(err); !ok {
  507. t.Errorf("got error %v, expected grpc error", err)
  508. } else if c := st.Code(); c != errCode {
  509. t.Errorf("got error code %q, want %q", c, errCode)
  510. }
  511. _ = resp
  512. }
  513. func TestKeyManagementServiceGetKeyRing(t *testing.T) {
  514. var name2 string = "name2-1052831874"
  515. var expectedResponse = &kmspb.KeyRing{
  516. Name: name2,
  517. }
  518. mockKeyManagement.err = nil
  519. mockKeyManagement.reqs = nil
  520. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  521. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]")
  522. var request = &kmspb.GetKeyRingRequest{
  523. Name: formattedName,
  524. }
  525. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  526. if err != nil {
  527. t.Fatal(err)
  528. }
  529. resp, err := c.GetKeyRing(context.Background(), request)
  530. if err != nil {
  531. t.Fatal(err)
  532. }
  533. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  534. t.Errorf("wrong request %q, want %q", got, want)
  535. }
  536. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  537. t.Errorf("wrong response %q, want %q)", got, want)
  538. }
  539. }
  540. func TestKeyManagementServiceGetKeyRingError(t *testing.T) {
  541. errCode := codes.PermissionDenied
  542. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  543. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]")
  544. var request = &kmspb.GetKeyRingRequest{
  545. Name: formattedName,
  546. }
  547. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  548. if err != nil {
  549. t.Fatal(err)
  550. }
  551. resp, err := c.GetKeyRing(context.Background(), request)
  552. if st, ok := gstatus.FromError(err); !ok {
  553. t.Errorf("got error %v, expected grpc error", err)
  554. } else if c := st.Code(); c != errCode {
  555. t.Errorf("got error code %q, want %q", c, errCode)
  556. }
  557. _ = resp
  558. }
  559. func TestKeyManagementServiceGetCryptoKey(t *testing.T) {
  560. var name2 string = "name2-1052831874"
  561. var expectedResponse = &kmspb.CryptoKey{
  562. Name: name2,
  563. }
  564. mockKeyManagement.err = nil
  565. mockKeyManagement.reqs = nil
  566. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  567. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
  568. var request = &kmspb.GetCryptoKeyRequest{
  569. Name: formattedName,
  570. }
  571. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  572. if err != nil {
  573. t.Fatal(err)
  574. }
  575. resp, err := c.GetCryptoKey(context.Background(), request)
  576. if err != nil {
  577. t.Fatal(err)
  578. }
  579. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  580. t.Errorf("wrong request %q, want %q", got, want)
  581. }
  582. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  583. t.Errorf("wrong response %q, want %q)", got, want)
  584. }
  585. }
  586. func TestKeyManagementServiceGetCryptoKeyError(t *testing.T) {
  587. errCode := codes.PermissionDenied
  588. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  589. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
  590. var request = &kmspb.GetCryptoKeyRequest{
  591. Name: formattedName,
  592. }
  593. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  594. if err != nil {
  595. t.Fatal(err)
  596. }
  597. resp, err := c.GetCryptoKey(context.Background(), request)
  598. if st, ok := gstatus.FromError(err); !ok {
  599. t.Errorf("got error %v, expected grpc error", err)
  600. } else if c := st.Code(); c != errCode {
  601. t.Errorf("got error code %q, want %q", c, errCode)
  602. }
  603. _ = resp
  604. }
  605. func TestKeyManagementServiceGetCryptoKeyVersion(t *testing.T) {
  606. var name2 string = "name2-1052831874"
  607. var expectedResponse = &kmspb.CryptoKeyVersion{
  608. Name: name2,
  609. }
  610. mockKeyManagement.err = nil
  611. mockKeyManagement.reqs = nil
  612. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  613. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  614. var request = &kmspb.GetCryptoKeyVersionRequest{
  615. Name: formattedName,
  616. }
  617. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  618. if err != nil {
  619. t.Fatal(err)
  620. }
  621. resp, err := c.GetCryptoKeyVersion(context.Background(), request)
  622. if err != nil {
  623. t.Fatal(err)
  624. }
  625. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  626. t.Errorf("wrong request %q, want %q", got, want)
  627. }
  628. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  629. t.Errorf("wrong response %q, want %q)", got, want)
  630. }
  631. }
  632. func TestKeyManagementServiceGetCryptoKeyVersionError(t *testing.T) {
  633. errCode := codes.PermissionDenied
  634. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  635. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  636. var request = &kmspb.GetCryptoKeyVersionRequest{
  637. Name: formattedName,
  638. }
  639. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  640. if err != nil {
  641. t.Fatal(err)
  642. }
  643. resp, err := c.GetCryptoKeyVersion(context.Background(), request)
  644. if st, ok := gstatus.FromError(err); !ok {
  645. t.Errorf("got error %v, expected grpc error", err)
  646. } else if c := st.Code(); c != errCode {
  647. t.Errorf("got error code %q, want %q", c, errCode)
  648. }
  649. _ = resp
  650. }
  651. func TestKeyManagementServiceCreateKeyRing(t *testing.T) {
  652. var name string = "name3373707"
  653. var expectedResponse = &kmspb.KeyRing{
  654. Name: name,
  655. }
  656. mockKeyManagement.err = nil
  657. mockKeyManagement.reqs = nil
  658. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  659. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
  660. var keyRingId string = "keyRingId-2056646742"
  661. var keyRing *kmspb.KeyRing = &kmspb.KeyRing{}
  662. var request = &kmspb.CreateKeyRingRequest{
  663. Parent: formattedParent,
  664. KeyRingId: keyRingId,
  665. KeyRing: keyRing,
  666. }
  667. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  668. if err != nil {
  669. t.Fatal(err)
  670. }
  671. resp, err := c.CreateKeyRing(context.Background(), request)
  672. if err != nil {
  673. t.Fatal(err)
  674. }
  675. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  676. t.Errorf("wrong request %q, want %q", got, want)
  677. }
  678. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  679. t.Errorf("wrong response %q, want %q)", got, want)
  680. }
  681. }
  682. func TestKeyManagementServiceCreateKeyRingError(t *testing.T) {
  683. errCode := codes.PermissionDenied
  684. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  685. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s", "[PROJECT]", "[LOCATION]")
  686. var keyRingId string = "keyRingId-2056646742"
  687. var keyRing *kmspb.KeyRing = &kmspb.KeyRing{}
  688. var request = &kmspb.CreateKeyRingRequest{
  689. Parent: formattedParent,
  690. KeyRingId: keyRingId,
  691. KeyRing: keyRing,
  692. }
  693. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  694. if err != nil {
  695. t.Fatal(err)
  696. }
  697. resp, err := c.CreateKeyRing(context.Background(), request)
  698. if st, ok := gstatus.FromError(err); !ok {
  699. t.Errorf("got error %v, expected grpc error", err)
  700. } else if c := st.Code(); c != errCode {
  701. t.Errorf("got error code %q, want %q", c, errCode)
  702. }
  703. _ = resp
  704. }
  705. func TestKeyManagementServiceCreateCryptoKey(t *testing.T) {
  706. var name string = "name3373707"
  707. var expectedResponse = &kmspb.CryptoKey{
  708. Name: name,
  709. }
  710. mockKeyManagement.err = nil
  711. mockKeyManagement.reqs = nil
  712. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  713. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]")
  714. var cryptoKeyId string = "my-app-key"
  715. var purpose kmspb.CryptoKey_CryptoKeyPurpose = kmspb.CryptoKey_ENCRYPT_DECRYPT
  716. var seconds int64 = 2147483647
  717. var nextRotationTime = &timestamppb.Timestamp{
  718. Seconds: seconds,
  719. }
  720. var seconds2 int64 = 604800
  721. var rotationPeriod = &durationpb.Duration{
  722. Seconds: seconds2,
  723. }
  724. var cryptoKey = &kmspb.CryptoKey{
  725. Purpose: purpose,
  726. NextRotationTime: nextRotationTime,
  727. RotationSchedule: &kmspb.CryptoKey_RotationPeriod{
  728. RotationPeriod: rotationPeriod,
  729. },
  730. }
  731. var request = &kmspb.CreateCryptoKeyRequest{
  732. Parent: formattedParent,
  733. CryptoKeyId: cryptoKeyId,
  734. CryptoKey: cryptoKey,
  735. }
  736. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  737. if err != nil {
  738. t.Fatal(err)
  739. }
  740. resp, err := c.CreateCryptoKey(context.Background(), request)
  741. if err != nil {
  742. t.Fatal(err)
  743. }
  744. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  745. t.Errorf("wrong request %q, want %q", got, want)
  746. }
  747. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  748. t.Errorf("wrong response %q, want %q)", got, want)
  749. }
  750. }
  751. func TestKeyManagementServiceCreateCryptoKeyError(t *testing.T) {
  752. errCode := codes.PermissionDenied
  753. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  754. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]")
  755. var cryptoKeyId string = "my-app-key"
  756. var purpose kmspb.CryptoKey_CryptoKeyPurpose = kmspb.CryptoKey_ENCRYPT_DECRYPT
  757. var seconds int64 = 2147483647
  758. var nextRotationTime = &timestamppb.Timestamp{
  759. Seconds: seconds,
  760. }
  761. var seconds2 int64 = 604800
  762. var rotationPeriod = &durationpb.Duration{
  763. Seconds: seconds2,
  764. }
  765. var cryptoKey = &kmspb.CryptoKey{
  766. Purpose: purpose,
  767. NextRotationTime: nextRotationTime,
  768. RotationSchedule: &kmspb.CryptoKey_RotationPeriod{
  769. RotationPeriod: rotationPeriod,
  770. },
  771. }
  772. var request = &kmspb.CreateCryptoKeyRequest{
  773. Parent: formattedParent,
  774. CryptoKeyId: cryptoKeyId,
  775. CryptoKey: cryptoKey,
  776. }
  777. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  778. if err != nil {
  779. t.Fatal(err)
  780. }
  781. resp, err := c.CreateCryptoKey(context.Background(), request)
  782. if st, ok := gstatus.FromError(err); !ok {
  783. t.Errorf("got error %v, expected grpc error", err)
  784. } else if c := st.Code(); c != errCode {
  785. t.Errorf("got error code %q, want %q", c, errCode)
  786. }
  787. _ = resp
  788. }
  789. func TestKeyManagementServiceCreateCryptoKeyVersion(t *testing.T) {
  790. var name string = "name3373707"
  791. var expectedResponse = &kmspb.CryptoKeyVersion{
  792. Name: name,
  793. }
  794. mockKeyManagement.err = nil
  795. mockKeyManagement.reqs = nil
  796. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  797. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
  798. var cryptoKeyVersion *kmspb.CryptoKeyVersion = &kmspb.CryptoKeyVersion{}
  799. var request = &kmspb.CreateCryptoKeyVersionRequest{
  800. Parent: formattedParent,
  801. CryptoKeyVersion: cryptoKeyVersion,
  802. }
  803. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  804. if err != nil {
  805. t.Fatal(err)
  806. }
  807. resp, err := c.CreateCryptoKeyVersion(context.Background(), request)
  808. if err != nil {
  809. t.Fatal(err)
  810. }
  811. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  812. t.Errorf("wrong request %q, want %q", got, want)
  813. }
  814. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  815. t.Errorf("wrong response %q, want %q)", got, want)
  816. }
  817. }
  818. func TestKeyManagementServiceCreateCryptoKeyVersionError(t *testing.T) {
  819. errCode := codes.PermissionDenied
  820. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  821. var formattedParent string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
  822. var cryptoKeyVersion *kmspb.CryptoKeyVersion = &kmspb.CryptoKeyVersion{}
  823. var request = &kmspb.CreateCryptoKeyVersionRequest{
  824. Parent: formattedParent,
  825. CryptoKeyVersion: cryptoKeyVersion,
  826. }
  827. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  828. if err != nil {
  829. t.Fatal(err)
  830. }
  831. resp, err := c.CreateCryptoKeyVersion(context.Background(), request)
  832. if st, ok := gstatus.FromError(err); !ok {
  833. t.Errorf("got error %v, expected grpc error", err)
  834. } else if c := st.Code(); c != errCode {
  835. t.Errorf("got error code %q, want %q", c, errCode)
  836. }
  837. _ = resp
  838. }
  839. func TestKeyManagementServiceUpdateCryptoKey(t *testing.T) {
  840. var name string = "name3373707"
  841. var expectedResponse = &kmspb.CryptoKey{
  842. Name: name,
  843. }
  844. mockKeyManagement.err = nil
  845. mockKeyManagement.reqs = nil
  846. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  847. var cryptoKey *kmspb.CryptoKey = &kmspb.CryptoKey{}
  848. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  849. var request = &kmspb.UpdateCryptoKeyRequest{
  850. CryptoKey: cryptoKey,
  851. UpdateMask: updateMask,
  852. }
  853. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  854. if err != nil {
  855. t.Fatal(err)
  856. }
  857. resp, err := c.UpdateCryptoKey(context.Background(), request)
  858. if err != nil {
  859. t.Fatal(err)
  860. }
  861. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  862. t.Errorf("wrong request %q, want %q", got, want)
  863. }
  864. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  865. t.Errorf("wrong response %q, want %q)", got, want)
  866. }
  867. }
  868. func TestKeyManagementServiceUpdateCryptoKeyError(t *testing.T) {
  869. errCode := codes.PermissionDenied
  870. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  871. var cryptoKey *kmspb.CryptoKey = &kmspb.CryptoKey{}
  872. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  873. var request = &kmspb.UpdateCryptoKeyRequest{
  874. CryptoKey: cryptoKey,
  875. UpdateMask: updateMask,
  876. }
  877. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  878. if err != nil {
  879. t.Fatal(err)
  880. }
  881. resp, err := c.UpdateCryptoKey(context.Background(), request)
  882. if st, ok := gstatus.FromError(err); !ok {
  883. t.Errorf("got error %v, expected grpc error", err)
  884. } else if c := st.Code(); c != errCode {
  885. t.Errorf("got error code %q, want %q", c, errCode)
  886. }
  887. _ = resp
  888. }
  889. func TestKeyManagementServiceUpdateCryptoKeyVersion(t *testing.T) {
  890. var name string = "name3373707"
  891. var expectedResponse = &kmspb.CryptoKeyVersion{
  892. Name: name,
  893. }
  894. mockKeyManagement.err = nil
  895. mockKeyManagement.reqs = nil
  896. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  897. var cryptoKeyVersion *kmspb.CryptoKeyVersion = &kmspb.CryptoKeyVersion{}
  898. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  899. var request = &kmspb.UpdateCryptoKeyVersionRequest{
  900. CryptoKeyVersion: cryptoKeyVersion,
  901. UpdateMask: updateMask,
  902. }
  903. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  904. if err != nil {
  905. t.Fatal(err)
  906. }
  907. resp, err := c.UpdateCryptoKeyVersion(context.Background(), request)
  908. if err != nil {
  909. t.Fatal(err)
  910. }
  911. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  912. t.Errorf("wrong request %q, want %q", got, want)
  913. }
  914. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  915. t.Errorf("wrong response %q, want %q)", got, want)
  916. }
  917. }
  918. func TestKeyManagementServiceUpdateCryptoKeyVersionError(t *testing.T) {
  919. errCode := codes.PermissionDenied
  920. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  921. var cryptoKeyVersion *kmspb.CryptoKeyVersion = &kmspb.CryptoKeyVersion{}
  922. var updateMask *field_maskpb.FieldMask = &field_maskpb.FieldMask{}
  923. var request = &kmspb.UpdateCryptoKeyVersionRequest{
  924. CryptoKeyVersion: cryptoKeyVersion,
  925. UpdateMask: updateMask,
  926. }
  927. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  928. if err != nil {
  929. t.Fatal(err)
  930. }
  931. resp, err := c.UpdateCryptoKeyVersion(context.Background(), request)
  932. if st, ok := gstatus.FromError(err); !ok {
  933. t.Errorf("got error %v, expected grpc error", err)
  934. } else if c := st.Code(); c != errCode {
  935. t.Errorf("got error code %q, want %q", c, errCode)
  936. }
  937. _ = resp
  938. }
  939. func TestKeyManagementServiceEncrypt(t *testing.T) {
  940. var name2 string = "name2-1052831874"
  941. var ciphertext []byte = []byte("-72")
  942. var expectedResponse = &kmspb.EncryptResponse{
  943. Name: name2,
  944. Ciphertext: ciphertext,
  945. }
  946. mockKeyManagement.err = nil
  947. mockKeyManagement.reqs = nil
  948. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  949. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY_PATH]")
  950. var plaintext []byte = []byte("-9")
  951. var request = &kmspb.EncryptRequest{
  952. Name: formattedName,
  953. Plaintext: plaintext,
  954. }
  955. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  956. if err != nil {
  957. t.Fatal(err)
  958. }
  959. resp, err := c.Encrypt(context.Background(), request)
  960. if err != nil {
  961. t.Fatal(err)
  962. }
  963. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  964. t.Errorf("wrong request %q, want %q", got, want)
  965. }
  966. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  967. t.Errorf("wrong response %q, want %q)", got, want)
  968. }
  969. }
  970. func TestKeyManagementServiceEncryptError(t *testing.T) {
  971. errCode := codes.PermissionDenied
  972. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  973. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY_PATH]")
  974. var plaintext []byte = []byte("-9")
  975. var request = &kmspb.EncryptRequest{
  976. Name: formattedName,
  977. Plaintext: plaintext,
  978. }
  979. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  980. if err != nil {
  981. t.Fatal(err)
  982. }
  983. resp, err := c.Encrypt(context.Background(), request)
  984. if st, ok := gstatus.FromError(err); !ok {
  985. t.Errorf("got error %v, expected grpc error", err)
  986. } else if c := st.Code(); c != errCode {
  987. t.Errorf("got error code %q, want %q", c, errCode)
  988. }
  989. _ = resp
  990. }
  991. func TestKeyManagementServiceDecrypt(t *testing.T) {
  992. var plaintext []byte = []byte("-9")
  993. var expectedResponse = &kmspb.DecryptResponse{
  994. Plaintext: plaintext,
  995. }
  996. mockKeyManagement.err = nil
  997. mockKeyManagement.reqs = nil
  998. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  999. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
  1000. var ciphertext []byte = []byte("-72")
  1001. var request = &kmspb.DecryptRequest{
  1002. Name: formattedName,
  1003. Ciphertext: ciphertext,
  1004. }
  1005. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1006. if err != nil {
  1007. t.Fatal(err)
  1008. }
  1009. resp, err := c.Decrypt(context.Background(), request)
  1010. if err != nil {
  1011. t.Fatal(err)
  1012. }
  1013. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  1014. t.Errorf("wrong request %q, want %q", got, want)
  1015. }
  1016. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1017. t.Errorf("wrong response %q, want %q)", got, want)
  1018. }
  1019. }
  1020. func TestKeyManagementServiceDecryptError(t *testing.T) {
  1021. errCode := codes.PermissionDenied
  1022. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  1023. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
  1024. var ciphertext []byte = []byte("-72")
  1025. var request = &kmspb.DecryptRequest{
  1026. Name: formattedName,
  1027. Ciphertext: ciphertext,
  1028. }
  1029. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1030. if err != nil {
  1031. t.Fatal(err)
  1032. }
  1033. resp, err := c.Decrypt(context.Background(), request)
  1034. if st, ok := gstatus.FromError(err); !ok {
  1035. t.Errorf("got error %v, expected grpc error", err)
  1036. } else if c := st.Code(); c != errCode {
  1037. t.Errorf("got error code %q, want %q", c, errCode)
  1038. }
  1039. _ = resp
  1040. }
  1041. func TestKeyManagementServiceUpdateCryptoKeyPrimaryVersion(t *testing.T) {
  1042. var name2 string = "name2-1052831874"
  1043. var expectedResponse = &kmspb.CryptoKey{
  1044. Name: name2,
  1045. }
  1046. mockKeyManagement.err = nil
  1047. mockKeyManagement.reqs = nil
  1048. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  1049. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
  1050. var cryptoKeyVersionId string = "cryptoKeyVersionId729489152"
  1051. var request = &kmspb.UpdateCryptoKeyPrimaryVersionRequest{
  1052. Name: formattedName,
  1053. CryptoKeyVersionId: cryptoKeyVersionId,
  1054. }
  1055. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1056. if err != nil {
  1057. t.Fatal(err)
  1058. }
  1059. resp, err := c.UpdateCryptoKeyPrimaryVersion(context.Background(), request)
  1060. if err != nil {
  1061. t.Fatal(err)
  1062. }
  1063. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  1064. t.Errorf("wrong request %q, want %q", got, want)
  1065. }
  1066. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1067. t.Errorf("wrong response %q, want %q)", got, want)
  1068. }
  1069. }
  1070. func TestKeyManagementServiceUpdateCryptoKeyPrimaryVersionError(t *testing.T) {
  1071. errCode := codes.PermissionDenied
  1072. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  1073. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
  1074. var cryptoKeyVersionId string = "cryptoKeyVersionId729489152"
  1075. var request = &kmspb.UpdateCryptoKeyPrimaryVersionRequest{
  1076. Name: formattedName,
  1077. CryptoKeyVersionId: cryptoKeyVersionId,
  1078. }
  1079. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1080. if err != nil {
  1081. t.Fatal(err)
  1082. }
  1083. resp, err := c.UpdateCryptoKeyPrimaryVersion(context.Background(), request)
  1084. if st, ok := gstatus.FromError(err); !ok {
  1085. t.Errorf("got error %v, expected grpc error", err)
  1086. } else if c := st.Code(); c != errCode {
  1087. t.Errorf("got error code %q, want %q", c, errCode)
  1088. }
  1089. _ = resp
  1090. }
  1091. func TestKeyManagementServiceDestroyCryptoKeyVersion(t *testing.T) {
  1092. var name2 string = "name2-1052831874"
  1093. var expectedResponse = &kmspb.CryptoKeyVersion{
  1094. Name: name2,
  1095. }
  1096. mockKeyManagement.err = nil
  1097. mockKeyManagement.reqs = nil
  1098. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  1099. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  1100. var request = &kmspb.DestroyCryptoKeyVersionRequest{
  1101. Name: formattedName,
  1102. }
  1103. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1104. if err != nil {
  1105. t.Fatal(err)
  1106. }
  1107. resp, err := c.DestroyCryptoKeyVersion(context.Background(), request)
  1108. if err != nil {
  1109. t.Fatal(err)
  1110. }
  1111. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  1112. t.Errorf("wrong request %q, want %q", got, want)
  1113. }
  1114. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1115. t.Errorf("wrong response %q, want %q)", got, want)
  1116. }
  1117. }
  1118. func TestKeyManagementServiceDestroyCryptoKeyVersionError(t *testing.T) {
  1119. errCode := codes.PermissionDenied
  1120. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  1121. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  1122. var request = &kmspb.DestroyCryptoKeyVersionRequest{
  1123. Name: formattedName,
  1124. }
  1125. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1126. if err != nil {
  1127. t.Fatal(err)
  1128. }
  1129. resp, err := c.DestroyCryptoKeyVersion(context.Background(), request)
  1130. if st, ok := gstatus.FromError(err); !ok {
  1131. t.Errorf("got error %v, expected grpc error", err)
  1132. } else if c := st.Code(); c != errCode {
  1133. t.Errorf("got error code %q, want %q", c, errCode)
  1134. }
  1135. _ = resp
  1136. }
  1137. func TestKeyManagementServiceRestoreCryptoKeyVersion(t *testing.T) {
  1138. var name2 string = "name2-1052831874"
  1139. var expectedResponse = &kmspb.CryptoKeyVersion{
  1140. Name: name2,
  1141. }
  1142. mockKeyManagement.err = nil
  1143. mockKeyManagement.reqs = nil
  1144. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  1145. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  1146. var request = &kmspb.RestoreCryptoKeyVersionRequest{
  1147. Name: formattedName,
  1148. }
  1149. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1150. if err != nil {
  1151. t.Fatal(err)
  1152. }
  1153. resp, err := c.RestoreCryptoKeyVersion(context.Background(), request)
  1154. if err != nil {
  1155. t.Fatal(err)
  1156. }
  1157. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  1158. t.Errorf("wrong request %q, want %q", got, want)
  1159. }
  1160. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1161. t.Errorf("wrong response %q, want %q)", got, want)
  1162. }
  1163. }
  1164. func TestKeyManagementServiceRestoreCryptoKeyVersionError(t *testing.T) {
  1165. errCode := codes.PermissionDenied
  1166. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  1167. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  1168. var request = &kmspb.RestoreCryptoKeyVersionRequest{
  1169. Name: formattedName,
  1170. }
  1171. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1172. if err != nil {
  1173. t.Fatal(err)
  1174. }
  1175. resp, err := c.RestoreCryptoKeyVersion(context.Background(), request)
  1176. if st, ok := gstatus.FromError(err); !ok {
  1177. t.Errorf("got error %v, expected grpc error", err)
  1178. } else if c := st.Code(); c != errCode {
  1179. t.Errorf("got error code %q, want %q", c, errCode)
  1180. }
  1181. _ = resp
  1182. }
  1183. func TestKeyManagementServiceGetPublicKey(t *testing.T) {
  1184. var pem string = "pem110872"
  1185. var expectedResponse = &kmspb.PublicKey{
  1186. Pem: pem,
  1187. }
  1188. mockKeyManagement.err = nil
  1189. mockKeyManagement.reqs = nil
  1190. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  1191. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  1192. var request = &kmspb.GetPublicKeyRequest{
  1193. Name: formattedName,
  1194. }
  1195. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1196. if err != nil {
  1197. t.Fatal(err)
  1198. }
  1199. resp, err := c.GetPublicKey(context.Background(), request)
  1200. if err != nil {
  1201. t.Fatal(err)
  1202. }
  1203. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  1204. t.Errorf("wrong request %q, want %q", got, want)
  1205. }
  1206. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1207. t.Errorf("wrong response %q, want %q)", got, want)
  1208. }
  1209. }
  1210. func TestKeyManagementServiceGetPublicKeyError(t *testing.T) {
  1211. errCode := codes.PermissionDenied
  1212. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  1213. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  1214. var request = &kmspb.GetPublicKeyRequest{
  1215. Name: formattedName,
  1216. }
  1217. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1218. if err != nil {
  1219. t.Fatal(err)
  1220. }
  1221. resp, err := c.GetPublicKey(context.Background(), request)
  1222. if st, ok := gstatus.FromError(err); !ok {
  1223. t.Errorf("got error %v, expected grpc error", err)
  1224. } else if c := st.Code(); c != errCode {
  1225. t.Errorf("got error code %q, want %q", c, errCode)
  1226. }
  1227. _ = resp
  1228. }
  1229. func TestKeyManagementServiceAsymmetricDecrypt(t *testing.T) {
  1230. var plaintext []byte = []byte("-9")
  1231. var expectedResponse = &kmspb.AsymmetricDecryptResponse{
  1232. Plaintext: plaintext,
  1233. }
  1234. mockKeyManagement.err = nil
  1235. mockKeyManagement.reqs = nil
  1236. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  1237. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  1238. var ciphertext []byte = []byte("-72")
  1239. var request = &kmspb.AsymmetricDecryptRequest{
  1240. Name: formattedName,
  1241. Ciphertext: ciphertext,
  1242. }
  1243. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1244. if err != nil {
  1245. t.Fatal(err)
  1246. }
  1247. resp, err := c.AsymmetricDecrypt(context.Background(), request)
  1248. if err != nil {
  1249. t.Fatal(err)
  1250. }
  1251. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  1252. t.Errorf("wrong request %q, want %q", got, want)
  1253. }
  1254. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1255. t.Errorf("wrong response %q, want %q)", got, want)
  1256. }
  1257. }
  1258. func TestKeyManagementServiceAsymmetricDecryptError(t *testing.T) {
  1259. errCode := codes.PermissionDenied
  1260. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  1261. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  1262. var ciphertext []byte = []byte("-72")
  1263. var request = &kmspb.AsymmetricDecryptRequest{
  1264. Name: formattedName,
  1265. Ciphertext: ciphertext,
  1266. }
  1267. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1268. if err != nil {
  1269. t.Fatal(err)
  1270. }
  1271. resp, err := c.AsymmetricDecrypt(context.Background(), request)
  1272. if st, ok := gstatus.FromError(err); !ok {
  1273. t.Errorf("got error %v, expected grpc error", err)
  1274. } else if c := st.Code(); c != errCode {
  1275. t.Errorf("got error code %q, want %q", c, errCode)
  1276. }
  1277. _ = resp
  1278. }
  1279. func TestKeyManagementServiceAsymmetricSign(t *testing.T) {
  1280. var signature []byte = []byte("106")
  1281. var expectedResponse = &kmspb.AsymmetricSignResponse{
  1282. Signature: signature,
  1283. }
  1284. mockKeyManagement.err = nil
  1285. mockKeyManagement.reqs = nil
  1286. mockKeyManagement.resps = append(mockKeyManagement.resps[:0], expectedResponse)
  1287. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  1288. var digest *kmspb.Digest = &kmspb.Digest{}
  1289. var request = &kmspb.AsymmetricSignRequest{
  1290. Name: formattedName,
  1291. Digest: digest,
  1292. }
  1293. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1294. if err != nil {
  1295. t.Fatal(err)
  1296. }
  1297. resp, err := c.AsymmetricSign(context.Background(), request)
  1298. if err != nil {
  1299. t.Fatal(err)
  1300. }
  1301. if want, got := request, mockKeyManagement.reqs[0]; !proto.Equal(want, got) {
  1302. t.Errorf("wrong request %q, want %q", got, want)
  1303. }
  1304. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1305. t.Errorf("wrong response %q, want %q)", got, want)
  1306. }
  1307. }
  1308. func TestKeyManagementServiceAsymmetricSignError(t *testing.T) {
  1309. errCode := codes.PermissionDenied
  1310. mockKeyManagement.err = gstatus.Error(errCode, "test error")
  1311. var formattedName string = fmt.Sprintf("projects/%s/locations/%s/keyRings/%s/cryptoKeys/%s/cryptoKeyVersions/%s", "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
  1312. var digest *kmspb.Digest = &kmspb.Digest{}
  1313. var request = &kmspb.AsymmetricSignRequest{
  1314. Name: formattedName,
  1315. Digest: digest,
  1316. }
  1317. c, err := NewKeyManagementClient(context.Background(), clientOpt)
  1318. if err != nil {
  1319. t.Fatal(err)
  1320. }
  1321. resp, err := c.AsymmetricSign(context.Background(), request)
  1322. if st, ok := gstatus.FromError(err); !ok {
  1323. t.Errorf("got error %v, expected grpc error", err)
  1324. } else if c := st.Code(); c != errCode {
  1325. t.Errorf("got error code %q, want %q", c, errCode)
  1326. }
  1327. _ = resp
  1328. }