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.
 
 
 

1539 lines
45 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 securitycenter
  16. import (
  17. emptypb "github.com/golang/protobuf/ptypes/empty"
  18. timestamppb "github.com/golang/protobuf/ptypes/timestamp"
  19. securitycenterpb "google.golang.org/genproto/googleapis/cloud/securitycenter/v1beta1"
  20. iampb "google.golang.org/genproto/googleapis/iam/v1"
  21. longrunningpb "google.golang.org/genproto/googleapis/longrunning"
  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 mockSecurityCenterServer struct {
  46. // Embed for forward compatibility.
  47. // Tests will keep working if more methods are added
  48. // in the future.
  49. securitycenterpb.SecurityCenterServer
  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 *mockSecurityCenterServer) CreateSource(ctx context.Context, req *securitycenterpb.CreateSourceRequest) (*securitycenterpb.Source, 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].(*securitycenterpb.Source), nil
  66. }
  67. func (s *mockSecurityCenterServer) CreateFinding(ctx context.Context, req *securitycenterpb.CreateFindingRequest) (*securitycenterpb.Finding, 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].(*securitycenterpb.Finding), nil
  77. }
  78. func (s *mockSecurityCenterServer) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest) (*iampb.Policy, 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].(*iampb.Policy), nil
  88. }
  89. func (s *mockSecurityCenterServer) GetOrganizationSettings(ctx context.Context, req *securitycenterpb.GetOrganizationSettingsRequest) (*securitycenterpb.OrganizationSettings, 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].(*securitycenterpb.OrganizationSettings), nil
  99. }
  100. func (s *mockSecurityCenterServer) GetSource(ctx context.Context, req *securitycenterpb.GetSourceRequest) (*securitycenterpb.Source, 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].(*securitycenterpb.Source), nil
  110. }
  111. func (s *mockSecurityCenterServer) GroupAssets(ctx context.Context, req *securitycenterpb.GroupAssetsRequest) (*securitycenterpb.GroupAssetsResponse, 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].(*securitycenterpb.GroupAssetsResponse), nil
  121. }
  122. func (s *mockSecurityCenterServer) GroupFindings(ctx context.Context, req *securitycenterpb.GroupFindingsRequest) (*securitycenterpb.GroupFindingsResponse, 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].(*securitycenterpb.GroupFindingsResponse), nil
  132. }
  133. func (s *mockSecurityCenterServer) ListAssets(ctx context.Context, req *securitycenterpb.ListAssetsRequest) (*securitycenterpb.ListAssetsResponse, 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].(*securitycenterpb.ListAssetsResponse), nil
  143. }
  144. func (s *mockSecurityCenterServer) ListFindings(ctx context.Context, req *securitycenterpb.ListFindingsRequest) (*securitycenterpb.ListFindingsResponse, 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].(*securitycenterpb.ListFindingsResponse), nil
  154. }
  155. func (s *mockSecurityCenterServer) ListSources(ctx context.Context, req *securitycenterpb.ListSourcesRequest) (*securitycenterpb.ListSourcesResponse, 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].(*securitycenterpb.ListSourcesResponse), nil
  165. }
  166. func (s *mockSecurityCenterServer) RunAssetDiscovery(ctx context.Context, req *securitycenterpb.RunAssetDiscoveryRequest) (*longrunningpb.Operation, 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].(*longrunningpb.Operation), nil
  176. }
  177. func (s *mockSecurityCenterServer) SetFindingState(ctx context.Context, req *securitycenterpb.SetFindingStateRequest) (*securitycenterpb.Finding, 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].(*securitycenterpb.Finding), nil
  187. }
  188. func (s *mockSecurityCenterServer) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest) (*iampb.Policy, 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].(*iampb.Policy), nil
  198. }
  199. func (s *mockSecurityCenterServer) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, 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].(*iampb.TestIamPermissionsResponse), nil
  209. }
  210. func (s *mockSecurityCenterServer) UpdateFinding(ctx context.Context, req *securitycenterpb.UpdateFindingRequest) (*securitycenterpb.Finding, 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].(*securitycenterpb.Finding), nil
  220. }
  221. func (s *mockSecurityCenterServer) UpdateOrganizationSettings(ctx context.Context, req *securitycenterpb.UpdateOrganizationSettingsRequest) (*securitycenterpb.OrganizationSettings, 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].(*securitycenterpb.OrganizationSettings), nil
  231. }
  232. func (s *mockSecurityCenterServer) UpdateSource(ctx context.Context, req *securitycenterpb.UpdateSourceRequest) (*securitycenterpb.Source, 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].(*securitycenterpb.Source), nil
  242. }
  243. func (s *mockSecurityCenterServer) UpdateSecurityMarks(ctx context.Context, req *securitycenterpb.UpdateSecurityMarksRequest) (*securitycenterpb.SecurityMarks, 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].(*securitycenterpb.SecurityMarks), nil
  253. }
  254. // clientOpt is the option tests should use to connect to the test server.
  255. // It is initialized by TestMain.
  256. var clientOpt option.ClientOption
  257. var (
  258. mockSecurityCenter mockSecurityCenterServer
  259. )
  260. func TestMain(m *testing.M) {
  261. flag.Parse()
  262. serv := grpc.NewServer()
  263. securitycenterpb.RegisterSecurityCenterServer(serv, &mockSecurityCenter)
  264. lis, err := net.Listen("tcp", "localhost:0")
  265. if err != nil {
  266. log.Fatal(err)
  267. }
  268. go serv.Serve(lis)
  269. conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure())
  270. if err != nil {
  271. log.Fatal(err)
  272. }
  273. clientOpt = option.WithGRPCConn(conn)
  274. os.Exit(m.Run())
  275. }
  276. func TestSecurityCenterCreateSource(t *testing.T) {
  277. var name string = "name3373707"
  278. var displayName string = "displayName1615086568"
  279. var description string = "description-1724546052"
  280. var expectedResponse = &securitycenterpb.Source{
  281. Name: name,
  282. DisplayName: displayName,
  283. Description: description,
  284. }
  285. mockSecurityCenter.err = nil
  286. mockSecurityCenter.reqs = nil
  287. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  288. var formattedParent string = fmt.Sprintf("organizations/%s", "[ORGANIZATION]")
  289. var source *securitycenterpb.Source = &securitycenterpb.Source{}
  290. var request = &securitycenterpb.CreateSourceRequest{
  291. Parent: formattedParent,
  292. Source: source,
  293. }
  294. c, err := NewClient(context.Background(), clientOpt)
  295. if err != nil {
  296. t.Fatal(err)
  297. }
  298. resp, err := c.CreateSource(context.Background(), request)
  299. if err != nil {
  300. t.Fatal(err)
  301. }
  302. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  303. t.Errorf("wrong request %q, want %q", got, want)
  304. }
  305. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  306. t.Errorf("wrong response %q, want %q)", got, want)
  307. }
  308. }
  309. func TestSecurityCenterCreateSourceError(t *testing.T) {
  310. errCode := codes.PermissionDenied
  311. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  312. var formattedParent string = fmt.Sprintf("organizations/%s", "[ORGANIZATION]")
  313. var source *securitycenterpb.Source = &securitycenterpb.Source{}
  314. var request = &securitycenterpb.CreateSourceRequest{
  315. Parent: formattedParent,
  316. Source: source,
  317. }
  318. c, err := NewClient(context.Background(), clientOpt)
  319. if err != nil {
  320. t.Fatal(err)
  321. }
  322. resp, err := c.CreateSource(context.Background(), request)
  323. if st, ok := gstatus.FromError(err); !ok {
  324. t.Errorf("got error %v, expected grpc error", err)
  325. } else if c := st.Code(); c != errCode {
  326. t.Errorf("got error code %q, want %q", c, errCode)
  327. }
  328. _ = resp
  329. }
  330. func TestSecurityCenterCreateFinding(t *testing.T) {
  331. var name string = "name3373707"
  332. var parent2 string = "parent21175163357"
  333. var resourceName string = "resourceName979421212"
  334. var category string = "category50511102"
  335. var externalUri string = "externalUri-1385596168"
  336. var expectedResponse = &securitycenterpb.Finding{
  337. Name: name,
  338. Parent: parent2,
  339. ResourceName: resourceName,
  340. Category: category,
  341. ExternalUri: externalUri,
  342. }
  343. mockSecurityCenter.err = nil
  344. mockSecurityCenter.reqs = nil
  345. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  346. var formattedParent string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  347. var findingId string = "findingId728776081"
  348. var finding *securitycenterpb.Finding = &securitycenterpb.Finding{}
  349. var request = &securitycenterpb.CreateFindingRequest{
  350. Parent: formattedParent,
  351. FindingId: findingId,
  352. Finding: finding,
  353. }
  354. c, err := NewClient(context.Background(), clientOpt)
  355. if err != nil {
  356. t.Fatal(err)
  357. }
  358. resp, err := c.CreateFinding(context.Background(), request)
  359. if err != nil {
  360. t.Fatal(err)
  361. }
  362. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  363. t.Errorf("wrong request %q, want %q", got, want)
  364. }
  365. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  366. t.Errorf("wrong response %q, want %q)", got, want)
  367. }
  368. }
  369. func TestSecurityCenterCreateFindingError(t *testing.T) {
  370. errCode := codes.PermissionDenied
  371. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  372. var formattedParent string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  373. var findingId string = "findingId728776081"
  374. var finding *securitycenterpb.Finding = &securitycenterpb.Finding{}
  375. var request = &securitycenterpb.CreateFindingRequest{
  376. Parent: formattedParent,
  377. FindingId: findingId,
  378. Finding: finding,
  379. }
  380. c, err := NewClient(context.Background(), clientOpt)
  381. if err != nil {
  382. t.Fatal(err)
  383. }
  384. resp, err := c.CreateFinding(context.Background(), request)
  385. if st, ok := gstatus.FromError(err); !ok {
  386. t.Errorf("got error %v, expected grpc error", err)
  387. } else if c := st.Code(); c != errCode {
  388. t.Errorf("got error code %q, want %q", c, errCode)
  389. }
  390. _ = resp
  391. }
  392. func TestSecurityCenterGetIamPolicy(t *testing.T) {
  393. var version int32 = 351608024
  394. var etag []byte = []byte("21")
  395. var expectedResponse = &iampb.Policy{
  396. Version: version,
  397. Etag: etag,
  398. }
  399. mockSecurityCenter.err = nil
  400. mockSecurityCenter.reqs = nil
  401. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  402. var formattedResource string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  403. var request = &iampb.GetIamPolicyRequest{
  404. Resource: formattedResource,
  405. }
  406. c, err := NewClient(context.Background(), clientOpt)
  407. if err != nil {
  408. t.Fatal(err)
  409. }
  410. resp, err := c.GetIamPolicy(context.Background(), request)
  411. if err != nil {
  412. t.Fatal(err)
  413. }
  414. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  415. t.Errorf("wrong request %q, want %q", got, want)
  416. }
  417. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  418. t.Errorf("wrong response %q, want %q)", got, want)
  419. }
  420. }
  421. func TestSecurityCenterGetIamPolicyError(t *testing.T) {
  422. errCode := codes.PermissionDenied
  423. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  424. var formattedResource string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  425. var request = &iampb.GetIamPolicyRequest{
  426. Resource: formattedResource,
  427. }
  428. c, err := NewClient(context.Background(), clientOpt)
  429. if err != nil {
  430. t.Fatal(err)
  431. }
  432. resp, err := c.GetIamPolicy(context.Background(), request)
  433. if st, ok := gstatus.FromError(err); !ok {
  434. t.Errorf("got error %v, expected grpc error", err)
  435. } else if c := st.Code(); c != errCode {
  436. t.Errorf("got error code %q, want %q", c, errCode)
  437. }
  438. _ = resp
  439. }
  440. func TestSecurityCenterGetOrganizationSettings(t *testing.T) {
  441. var name2 string = "name2-1052831874"
  442. var enableAssetDiscovery bool = false
  443. var expectedResponse = &securitycenterpb.OrganizationSettings{
  444. Name: name2,
  445. EnableAssetDiscovery: enableAssetDiscovery,
  446. }
  447. mockSecurityCenter.err = nil
  448. mockSecurityCenter.reqs = nil
  449. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  450. var formattedName string = fmt.Sprintf("organizations/%s/organizationSettings", "[ORGANIZATION]")
  451. var request = &securitycenterpb.GetOrganizationSettingsRequest{
  452. Name: formattedName,
  453. }
  454. c, err := NewClient(context.Background(), clientOpt)
  455. if err != nil {
  456. t.Fatal(err)
  457. }
  458. resp, err := c.GetOrganizationSettings(context.Background(), request)
  459. if err != nil {
  460. t.Fatal(err)
  461. }
  462. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  463. t.Errorf("wrong request %q, want %q", got, want)
  464. }
  465. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  466. t.Errorf("wrong response %q, want %q)", got, want)
  467. }
  468. }
  469. func TestSecurityCenterGetOrganizationSettingsError(t *testing.T) {
  470. errCode := codes.PermissionDenied
  471. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  472. var formattedName string = fmt.Sprintf("organizations/%s/organizationSettings", "[ORGANIZATION]")
  473. var request = &securitycenterpb.GetOrganizationSettingsRequest{
  474. Name: formattedName,
  475. }
  476. c, err := NewClient(context.Background(), clientOpt)
  477. if err != nil {
  478. t.Fatal(err)
  479. }
  480. resp, err := c.GetOrganizationSettings(context.Background(), request)
  481. if st, ok := gstatus.FromError(err); !ok {
  482. t.Errorf("got error %v, expected grpc error", err)
  483. } else if c := st.Code(); c != errCode {
  484. t.Errorf("got error code %q, want %q", c, errCode)
  485. }
  486. _ = resp
  487. }
  488. func TestSecurityCenterGetSource(t *testing.T) {
  489. var name2 string = "name2-1052831874"
  490. var displayName string = "displayName1615086568"
  491. var description string = "description-1724546052"
  492. var expectedResponse = &securitycenterpb.Source{
  493. Name: name2,
  494. DisplayName: displayName,
  495. Description: description,
  496. }
  497. mockSecurityCenter.err = nil
  498. mockSecurityCenter.reqs = nil
  499. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  500. var formattedName string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  501. var request = &securitycenterpb.GetSourceRequest{
  502. Name: formattedName,
  503. }
  504. c, err := NewClient(context.Background(), clientOpt)
  505. if err != nil {
  506. t.Fatal(err)
  507. }
  508. resp, err := c.GetSource(context.Background(), request)
  509. if err != nil {
  510. t.Fatal(err)
  511. }
  512. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  513. t.Errorf("wrong request %q, want %q", got, want)
  514. }
  515. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  516. t.Errorf("wrong response %q, want %q)", got, want)
  517. }
  518. }
  519. func TestSecurityCenterGetSourceError(t *testing.T) {
  520. errCode := codes.PermissionDenied
  521. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  522. var formattedName string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  523. var request = &securitycenterpb.GetSourceRequest{
  524. Name: formattedName,
  525. }
  526. c, err := NewClient(context.Background(), clientOpt)
  527. if err != nil {
  528. t.Fatal(err)
  529. }
  530. resp, err := c.GetSource(context.Background(), request)
  531. if st, ok := gstatus.FromError(err); !ok {
  532. t.Errorf("got error %v, expected grpc error", err)
  533. } else if c := st.Code(); c != errCode {
  534. t.Errorf("got error code %q, want %q", c, errCode)
  535. }
  536. _ = resp
  537. }
  538. func TestSecurityCenterGroupAssets(t *testing.T) {
  539. var nextPageToken string = ""
  540. var groupByResultsElement *securitycenterpb.GroupResult = &securitycenterpb.GroupResult{}
  541. var groupByResults = []*securitycenterpb.GroupResult{groupByResultsElement}
  542. var expectedResponse = &securitycenterpb.GroupAssetsResponse{
  543. NextPageToken: nextPageToken,
  544. GroupByResults: groupByResults,
  545. }
  546. mockSecurityCenter.err = nil
  547. mockSecurityCenter.reqs = nil
  548. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  549. var formattedParent string = fmt.Sprintf("organizations/%s", "[ORGANIZATION]")
  550. var groupBy string = "groupBy506361367"
  551. var request = &securitycenterpb.GroupAssetsRequest{
  552. Parent: formattedParent,
  553. GroupBy: groupBy,
  554. }
  555. c, err := NewClient(context.Background(), clientOpt)
  556. if err != nil {
  557. t.Fatal(err)
  558. }
  559. resp, err := c.GroupAssets(context.Background(), request).Next()
  560. if err != nil {
  561. t.Fatal(err)
  562. }
  563. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  564. t.Errorf("wrong request %q, want %q", got, want)
  565. }
  566. want := (interface{})(expectedResponse.GroupByResults[0])
  567. got := (interface{})(resp)
  568. var ok bool
  569. switch want := (want).(type) {
  570. case proto.Message:
  571. ok = proto.Equal(want, got.(proto.Message))
  572. default:
  573. ok = want == got
  574. }
  575. if !ok {
  576. t.Errorf("wrong response %q, want %q)", got, want)
  577. }
  578. }
  579. func TestSecurityCenterGroupAssetsError(t *testing.T) {
  580. errCode := codes.PermissionDenied
  581. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  582. var formattedParent string = fmt.Sprintf("organizations/%s", "[ORGANIZATION]")
  583. var groupBy string = "groupBy506361367"
  584. var request = &securitycenterpb.GroupAssetsRequest{
  585. Parent: formattedParent,
  586. GroupBy: groupBy,
  587. }
  588. c, err := NewClient(context.Background(), clientOpt)
  589. if err != nil {
  590. t.Fatal(err)
  591. }
  592. resp, err := c.GroupAssets(context.Background(), request).Next()
  593. if st, ok := gstatus.FromError(err); !ok {
  594. t.Errorf("got error %v, expected grpc error", err)
  595. } else if c := st.Code(); c != errCode {
  596. t.Errorf("got error code %q, want %q", c, errCode)
  597. }
  598. _ = resp
  599. }
  600. func TestSecurityCenterGroupFindings(t *testing.T) {
  601. var nextPageToken string = ""
  602. var groupByResultsElement *securitycenterpb.GroupResult = &securitycenterpb.GroupResult{}
  603. var groupByResults = []*securitycenterpb.GroupResult{groupByResultsElement}
  604. var expectedResponse = &securitycenterpb.GroupFindingsResponse{
  605. NextPageToken: nextPageToken,
  606. GroupByResults: groupByResults,
  607. }
  608. mockSecurityCenter.err = nil
  609. mockSecurityCenter.reqs = nil
  610. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  611. var formattedParent string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  612. var groupBy string = "groupBy506361367"
  613. var request = &securitycenterpb.GroupFindingsRequest{
  614. Parent: formattedParent,
  615. GroupBy: groupBy,
  616. }
  617. c, err := NewClient(context.Background(), clientOpt)
  618. if err != nil {
  619. t.Fatal(err)
  620. }
  621. resp, err := c.GroupFindings(context.Background(), request).Next()
  622. if err != nil {
  623. t.Fatal(err)
  624. }
  625. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  626. t.Errorf("wrong request %q, want %q", got, want)
  627. }
  628. want := (interface{})(expectedResponse.GroupByResults[0])
  629. got := (interface{})(resp)
  630. var ok bool
  631. switch want := (want).(type) {
  632. case proto.Message:
  633. ok = proto.Equal(want, got.(proto.Message))
  634. default:
  635. ok = want == got
  636. }
  637. if !ok {
  638. t.Errorf("wrong response %q, want %q)", got, want)
  639. }
  640. }
  641. func TestSecurityCenterGroupFindingsError(t *testing.T) {
  642. errCode := codes.PermissionDenied
  643. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  644. var formattedParent string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  645. var groupBy string = "groupBy506361367"
  646. var request = &securitycenterpb.GroupFindingsRequest{
  647. Parent: formattedParent,
  648. GroupBy: groupBy,
  649. }
  650. c, err := NewClient(context.Background(), clientOpt)
  651. if err != nil {
  652. t.Fatal(err)
  653. }
  654. resp, err := c.GroupFindings(context.Background(), request).Next()
  655. if st, ok := gstatus.FromError(err); !ok {
  656. t.Errorf("got error %v, expected grpc error", err)
  657. } else if c := st.Code(); c != errCode {
  658. t.Errorf("got error code %q, want %q", c, errCode)
  659. }
  660. _ = resp
  661. }
  662. func TestSecurityCenterListAssets(t *testing.T) {
  663. var nextPageToken string = ""
  664. var totalSize int32 = 705419236
  665. var listAssetsResultsElement *securitycenterpb.ListAssetsResponse_ListAssetsResult = &securitycenterpb.ListAssetsResponse_ListAssetsResult{}
  666. var listAssetsResults = []*securitycenterpb.ListAssetsResponse_ListAssetsResult{listAssetsResultsElement}
  667. var expectedResponse = &securitycenterpb.ListAssetsResponse{
  668. NextPageToken: nextPageToken,
  669. TotalSize: totalSize,
  670. ListAssetsResults: listAssetsResults,
  671. }
  672. mockSecurityCenter.err = nil
  673. mockSecurityCenter.reqs = nil
  674. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  675. var formattedParent string = fmt.Sprintf("organizations/%s", "[ORGANIZATION]")
  676. var request = &securitycenterpb.ListAssetsRequest{
  677. Parent: formattedParent,
  678. }
  679. c, err := NewClient(context.Background(), clientOpt)
  680. if err != nil {
  681. t.Fatal(err)
  682. }
  683. resp, err := c.ListAssets(context.Background(), request).Next()
  684. if err != nil {
  685. t.Fatal(err)
  686. }
  687. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  688. t.Errorf("wrong request %q, want %q", got, want)
  689. }
  690. want := (interface{})(expectedResponse.ListAssetsResults[0])
  691. got := (interface{})(resp)
  692. var ok bool
  693. switch want := (want).(type) {
  694. case proto.Message:
  695. ok = proto.Equal(want, got.(proto.Message))
  696. default:
  697. ok = want == got
  698. }
  699. if !ok {
  700. t.Errorf("wrong response %q, want %q)", got, want)
  701. }
  702. }
  703. func TestSecurityCenterListAssetsError(t *testing.T) {
  704. errCode := codes.PermissionDenied
  705. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  706. var formattedParent string = fmt.Sprintf("organizations/%s", "[ORGANIZATION]")
  707. var request = &securitycenterpb.ListAssetsRequest{
  708. Parent: formattedParent,
  709. }
  710. c, err := NewClient(context.Background(), clientOpt)
  711. if err != nil {
  712. t.Fatal(err)
  713. }
  714. resp, err := c.ListAssets(context.Background(), request).Next()
  715. if st, ok := gstatus.FromError(err); !ok {
  716. t.Errorf("got error %v, expected grpc error", err)
  717. } else if c := st.Code(); c != errCode {
  718. t.Errorf("got error code %q, want %q", c, errCode)
  719. }
  720. _ = resp
  721. }
  722. func TestSecurityCenterListFindings(t *testing.T) {
  723. var nextPageToken string = ""
  724. var totalSize int32 = 705419236
  725. var findingsElement *securitycenterpb.Finding = &securitycenterpb.Finding{}
  726. var findings = []*securitycenterpb.Finding{findingsElement}
  727. var expectedResponse = &securitycenterpb.ListFindingsResponse{
  728. NextPageToken: nextPageToken,
  729. TotalSize: totalSize,
  730. Findings: findings,
  731. }
  732. mockSecurityCenter.err = nil
  733. mockSecurityCenter.reqs = nil
  734. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  735. var formattedParent string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  736. var request = &securitycenterpb.ListFindingsRequest{
  737. Parent: formattedParent,
  738. }
  739. c, err := NewClient(context.Background(), clientOpt)
  740. if err != nil {
  741. t.Fatal(err)
  742. }
  743. resp, err := c.ListFindings(context.Background(), request).Next()
  744. if err != nil {
  745. t.Fatal(err)
  746. }
  747. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  748. t.Errorf("wrong request %q, want %q", got, want)
  749. }
  750. want := (interface{})(expectedResponse.Findings[0])
  751. got := (interface{})(resp)
  752. var ok bool
  753. switch want := (want).(type) {
  754. case proto.Message:
  755. ok = proto.Equal(want, got.(proto.Message))
  756. default:
  757. ok = want == got
  758. }
  759. if !ok {
  760. t.Errorf("wrong response %q, want %q)", got, want)
  761. }
  762. }
  763. func TestSecurityCenterListFindingsError(t *testing.T) {
  764. errCode := codes.PermissionDenied
  765. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  766. var formattedParent string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  767. var request = &securitycenterpb.ListFindingsRequest{
  768. Parent: formattedParent,
  769. }
  770. c, err := NewClient(context.Background(), clientOpt)
  771. if err != nil {
  772. t.Fatal(err)
  773. }
  774. resp, err := c.ListFindings(context.Background(), request).Next()
  775. if st, ok := gstatus.FromError(err); !ok {
  776. t.Errorf("got error %v, expected grpc error", err)
  777. } else if c := st.Code(); c != errCode {
  778. t.Errorf("got error code %q, want %q", c, errCode)
  779. }
  780. _ = resp
  781. }
  782. func TestSecurityCenterListSources(t *testing.T) {
  783. var nextPageToken string = ""
  784. var sourcesElement *securitycenterpb.Source = &securitycenterpb.Source{}
  785. var sources = []*securitycenterpb.Source{sourcesElement}
  786. var expectedResponse = &securitycenterpb.ListSourcesResponse{
  787. NextPageToken: nextPageToken,
  788. Sources: sources,
  789. }
  790. mockSecurityCenter.err = nil
  791. mockSecurityCenter.reqs = nil
  792. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  793. var formattedParent string = fmt.Sprintf("organizations/%s", "[ORGANIZATION]")
  794. var request = &securitycenterpb.ListSourcesRequest{
  795. Parent: formattedParent,
  796. }
  797. c, err := NewClient(context.Background(), clientOpt)
  798. if err != nil {
  799. t.Fatal(err)
  800. }
  801. resp, err := c.ListSources(context.Background(), request).Next()
  802. if err != nil {
  803. t.Fatal(err)
  804. }
  805. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  806. t.Errorf("wrong request %q, want %q", got, want)
  807. }
  808. want := (interface{})(expectedResponse.Sources[0])
  809. got := (interface{})(resp)
  810. var ok bool
  811. switch want := (want).(type) {
  812. case proto.Message:
  813. ok = proto.Equal(want, got.(proto.Message))
  814. default:
  815. ok = want == got
  816. }
  817. if !ok {
  818. t.Errorf("wrong response %q, want %q)", got, want)
  819. }
  820. }
  821. func TestSecurityCenterListSourcesError(t *testing.T) {
  822. errCode := codes.PermissionDenied
  823. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  824. var formattedParent string = fmt.Sprintf("organizations/%s", "[ORGANIZATION]")
  825. var request = &securitycenterpb.ListSourcesRequest{
  826. Parent: formattedParent,
  827. }
  828. c, err := NewClient(context.Background(), clientOpt)
  829. if err != nil {
  830. t.Fatal(err)
  831. }
  832. resp, err := c.ListSources(context.Background(), request).Next()
  833. if st, ok := gstatus.FromError(err); !ok {
  834. t.Errorf("got error %v, expected grpc error", err)
  835. } else if c := st.Code(); c != errCode {
  836. t.Errorf("got error code %q, want %q", c, errCode)
  837. }
  838. _ = resp
  839. }
  840. func TestSecurityCenterRunAssetDiscovery(t *testing.T) {
  841. var expectedResponse *emptypb.Empty = &emptypb.Empty{}
  842. mockSecurityCenter.err = nil
  843. mockSecurityCenter.reqs = nil
  844. any, err := ptypes.MarshalAny(expectedResponse)
  845. if err != nil {
  846. t.Fatal(err)
  847. }
  848. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], &longrunningpb.Operation{
  849. Name: "longrunning-test",
  850. Done: true,
  851. Result: &longrunningpb.Operation_Response{Response: any},
  852. })
  853. var formattedParent string = fmt.Sprintf("organizations/%s", "[ORGANIZATION]")
  854. var request = &securitycenterpb.RunAssetDiscoveryRequest{
  855. Parent: formattedParent,
  856. }
  857. c, err := NewClient(context.Background(), clientOpt)
  858. if err != nil {
  859. t.Fatal(err)
  860. }
  861. respLRO, err := c.RunAssetDiscovery(context.Background(), request)
  862. if err != nil {
  863. t.Fatal(err)
  864. }
  865. err = respLRO.Wait(context.Background())
  866. if err != nil {
  867. t.Fatal(err)
  868. }
  869. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  870. t.Errorf("wrong request %q, want %q", got, want)
  871. }
  872. }
  873. func TestSecurityCenterRunAssetDiscoveryError(t *testing.T) {
  874. errCode := codes.PermissionDenied
  875. mockSecurityCenter.err = nil
  876. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], &longrunningpb.Operation{
  877. Name: "longrunning-test",
  878. Done: true,
  879. Result: &longrunningpb.Operation_Error{
  880. Error: &status.Status{
  881. Code: int32(errCode),
  882. Message: "test error",
  883. },
  884. },
  885. })
  886. var formattedParent string = fmt.Sprintf("organizations/%s", "[ORGANIZATION]")
  887. var request = &securitycenterpb.RunAssetDiscoveryRequest{
  888. Parent: formattedParent,
  889. }
  890. c, err := NewClient(context.Background(), clientOpt)
  891. if err != nil {
  892. t.Fatal(err)
  893. }
  894. respLRO, err := c.RunAssetDiscovery(context.Background(), request)
  895. if err != nil {
  896. t.Fatal(err)
  897. }
  898. err = respLRO.Wait(context.Background())
  899. if st, ok := gstatus.FromError(err); !ok {
  900. t.Errorf("got error %v, expected grpc error", err)
  901. } else if c := st.Code(); c != errCode {
  902. t.Errorf("got error code %q, want %q", c, errCode)
  903. }
  904. }
  905. func TestSecurityCenterSetFindingState(t *testing.T) {
  906. var name2 string = "name2-1052831874"
  907. var parent string = "parent-995424086"
  908. var resourceName string = "resourceName979421212"
  909. var category string = "category50511102"
  910. var externalUri string = "externalUri-1385596168"
  911. var expectedResponse = &securitycenterpb.Finding{
  912. Name: name2,
  913. Parent: parent,
  914. ResourceName: resourceName,
  915. Category: category,
  916. ExternalUri: externalUri,
  917. }
  918. mockSecurityCenter.err = nil
  919. mockSecurityCenter.reqs = nil
  920. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  921. var formattedName string = fmt.Sprintf("organizations/%s/sources/%s/findings/%s", "[ORGANIZATION]", "[SOURCE]", "[FINDING]")
  922. var state securitycenterpb.Finding_State = securitycenterpb.Finding_STATE_UNSPECIFIED
  923. var startTime *timestamppb.Timestamp = &timestamppb.Timestamp{}
  924. var request = &securitycenterpb.SetFindingStateRequest{
  925. Name: formattedName,
  926. State: state,
  927. StartTime: startTime,
  928. }
  929. c, err := NewClient(context.Background(), clientOpt)
  930. if err != nil {
  931. t.Fatal(err)
  932. }
  933. resp, err := c.SetFindingState(context.Background(), request)
  934. if err != nil {
  935. t.Fatal(err)
  936. }
  937. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  938. t.Errorf("wrong request %q, want %q", got, want)
  939. }
  940. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  941. t.Errorf("wrong response %q, want %q)", got, want)
  942. }
  943. }
  944. func TestSecurityCenterSetFindingStateError(t *testing.T) {
  945. errCode := codes.PermissionDenied
  946. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  947. var formattedName string = fmt.Sprintf("organizations/%s/sources/%s/findings/%s", "[ORGANIZATION]", "[SOURCE]", "[FINDING]")
  948. var state securitycenterpb.Finding_State = securitycenterpb.Finding_STATE_UNSPECIFIED
  949. var startTime *timestamppb.Timestamp = &timestamppb.Timestamp{}
  950. var request = &securitycenterpb.SetFindingStateRequest{
  951. Name: formattedName,
  952. State: state,
  953. StartTime: startTime,
  954. }
  955. c, err := NewClient(context.Background(), clientOpt)
  956. if err != nil {
  957. t.Fatal(err)
  958. }
  959. resp, err := c.SetFindingState(context.Background(), request)
  960. if st, ok := gstatus.FromError(err); !ok {
  961. t.Errorf("got error %v, expected grpc error", err)
  962. } else if c := st.Code(); c != errCode {
  963. t.Errorf("got error code %q, want %q", c, errCode)
  964. }
  965. _ = resp
  966. }
  967. func TestSecurityCenterSetIamPolicy(t *testing.T) {
  968. var version int32 = 351608024
  969. var etag []byte = []byte("21")
  970. var expectedResponse = &iampb.Policy{
  971. Version: version,
  972. Etag: etag,
  973. }
  974. mockSecurityCenter.err = nil
  975. mockSecurityCenter.reqs = nil
  976. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  977. var formattedResource string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  978. var policy *iampb.Policy = &iampb.Policy{}
  979. var request = &iampb.SetIamPolicyRequest{
  980. Resource: formattedResource,
  981. Policy: policy,
  982. }
  983. c, err := NewClient(context.Background(), clientOpt)
  984. if err != nil {
  985. t.Fatal(err)
  986. }
  987. resp, err := c.SetIamPolicy(context.Background(), request)
  988. if err != nil {
  989. t.Fatal(err)
  990. }
  991. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  992. t.Errorf("wrong request %q, want %q", got, want)
  993. }
  994. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  995. t.Errorf("wrong response %q, want %q)", got, want)
  996. }
  997. }
  998. func TestSecurityCenterSetIamPolicyError(t *testing.T) {
  999. errCode := codes.PermissionDenied
  1000. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  1001. var formattedResource string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  1002. var policy *iampb.Policy = &iampb.Policy{}
  1003. var request = &iampb.SetIamPolicyRequest{
  1004. Resource: formattedResource,
  1005. Policy: policy,
  1006. }
  1007. c, err := NewClient(context.Background(), clientOpt)
  1008. if err != nil {
  1009. t.Fatal(err)
  1010. }
  1011. resp, err := c.SetIamPolicy(context.Background(), request)
  1012. if st, ok := gstatus.FromError(err); !ok {
  1013. t.Errorf("got error %v, expected grpc error", err)
  1014. } else if c := st.Code(); c != errCode {
  1015. t.Errorf("got error code %q, want %q", c, errCode)
  1016. }
  1017. _ = resp
  1018. }
  1019. func TestSecurityCenterTestIamPermissions(t *testing.T) {
  1020. var expectedResponse *iampb.TestIamPermissionsResponse = &iampb.TestIamPermissionsResponse{}
  1021. mockSecurityCenter.err = nil
  1022. mockSecurityCenter.reqs = nil
  1023. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  1024. var formattedResource string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  1025. var permissions []string = nil
  1026. var request = &iampb.TestIamPermissionsRequest{
  1027. Resource: formattedResource,
  1028. Permissions: permissions,
  1029. }
  1030. c, err := NewClient(context.Background(), clientOpt)
  1031. if err != nil {
  1032. t.Fatal(err)
  1033. }
  1034. resp, err := c.TestIamPermissions(context.Background(), request)
  1035. if err != nil {
  1036. t.Fatal(err)
  1037. }
  1038. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  1039. t.Errorf("wrong request %q, want %q", got, want)
  1040. }
  1041. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1042. t.Errorf("wrong response %q, want %q)", got, want)
  1043. }
  1044. }
  1045. func TestSecurityCenterTestIamPermissionsError(t *testing.T) {
  1046. errCode := codes.PermissionDenied
  1047. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  1048. var formattedResource string = fmt.Sprintf("organizations/%s/sources/%s", "[ORGANIZATION]", "[SOURCE]")
  1049. var permissions []string = nil
  1050. var request = &iampb.TestIamPermissionsRequest{
  1051. Resource: formattedResource,
  1052. Permissions: permissions,
  1053. }
  1054. c, err := NewClient(context.Background(), clientOpt)
  1055. if err != nil {
  1056. t.Fatal(err)
  1057. }
  1058. resp, err := c.TestIamPermissions(context.Background(), request)
  1059. if st, ok := gstatus.FromError(err); !ok {
  1060. t.Errorf("got error %v, expected grpc error", err)
  1061. } else if c := st.Code(); c != errCode {
  1062. t.Errorf("got error code %q, want %q", c, errCode)
  1063. }
  1064. _ = resp
  1065. }
  1066. func TestSecurityCenterUpdateFinding(t *testing.T) {
  1067. var name string = "name3373707"
  1068. var parent string = "parent-995424086"
  1069. var resourceName string = "resourceName979421212"
  1070. var category string = "category50511102"
  1071. var externalUri string = "externalUri-1385596168"
  1072. var expectedResponse = &securitycenterpb.Finding{
  1073. Name: name,
  1074. Parent: parent,
  1075. ResourceName: resourceName,
  1076. Category: category,
  1077. ExternalUri: externalUri,
  1078. }
  1079. mockSecurityCenter.err = nil
  1080. mockSecurityCenter.reqs = nil
  1081. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  1082. var finding *securitycenterpb.Finding = &securitycenterpb.Finding{}
  1083. var request = &securitycenterpb.UpdateFindingRequest{
  1084. Finding: finding,
  1085. }
  1086. c, err := NewClient(context.Background(), clientOpt)
  1087. if err != nil {
  1088. t.Fatal(err)
  1089. }
  1090. resp, err := c.UpdateFinding(context.Background(), request)
  1091. if err != nil {
  1092. t.Fatal(err)
  1093. }
  1094. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  1095. t.Errorf("wrong request %q, want %q", got, want)
  1096. }
  1097. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1098. t.Errorf("wrong response %q, want %q)", got, want)
  1099. }
  1100. }
  1101. func TestSecurityCenterUpdateFindingError(t *testing.T) {
  1102. errCode := codes.PermissionDenied
  1103. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  1104. var finding *securitycenterpb.Finding = &securitycenterpb.Finding{}
  1105. var request = &securitycenterpb.UpdateFindingRequest{
  1106. Finding: finding,
  1107. }
  1108. c, err := NewClient(context.Background(), clientOpt)
  1109. if err != nil {
  1110. t.Fatal(err)
  1111. }
  1112. resp, err := c.UpdateFinding(context.Background(), request)
  1113. if st, ok := gstatus.FromError(err); !ok {
  1114. t.Errorf("got error %v, expected grpc error", err)
  1115. } else if c := st.Code(); c != errCode {
  1116. t.Errorf("got error code %q, want %q", c, errCode)
  1117. }
  1118. _ = resp
  1119. }
  1120. func TestSecurityCenterUpdateOrganizationSettings(t *testing.T) {
  1121. var name string = "name3373707"
  1122. var enableAssetDiscovery bool = false
  1123. var expectedResponse = &securitycenterpb.OrganizationSettings{
  1124. Name: name,
  1125. EnableAssetDiscovery: enableAssetDiscovery,
  1126. }
  1127. mockSecurityCenter.err = nil
  1128. mockSecurityCenter.reqs = nil
  1129. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  1130. var organizationSettings *securitycenterpb.OrganizationSettings = &securitycenterpb.OrganizationSettings{}
  1131. var request = &securitycenterpb.UpdateOrganizationSettingsRequest{
  1132. OrganizationSettings: organizationSettings,
  1133. }
  1134. c, err := NewClient(context.Background(), clientOpt)
  1135. if err != nil {
  1136. t.Fatal(err)
  1137. }
  1138. resp, err := c.UpdateOrganizationSettings(context.Background(), request)
  1139. if err != nil {
  1140. t.Fatal(err)
  1141. }
  1142. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  1143. t.Errorf("wrong request %q, want %q", got, want)
  1144. }
  1145. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1146. t.Errorf("wrong response %q, want %q)", got, want)
  1147. }
  1148. }
  1149. func TestSecurityCenterUpdateOrganizationSettingsError(t *testing.T) {
  1150. errCode := codes.PermissionDenied
  1151. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  1152. var organizationSettings *securitycenterpb.OrganizationSettings = &securitycenterpb.OrganizationSettings{}
  1153. var request = &securitycenterpb.UpdateOrganizationSettingsRequest{
  1154. OrganizationSettings: organizationSettings,
  1155. }
  1156. c, err := NewClient(context.Background(), clientOpt)
  1157. if err != nil {
  1158. t.Fatal(err)
  1159. }
  1160. resp, err := c.UpdateOrganizationSettings(context.Background(), request)
  1161. if st, ok := gstatus.FromError(err); !ok {
  1162. t.Errorf("got error %v, expected grpc error", err)
  1163. } else if c := st.Code(); c != errCode {
  1164. t.Errorf("got error code %q, want %q", c, errCode)
  1165. }
  1166. _ = resp
  1167. }
  1168. func TestSecurityCenterUpdateSource(t *testing.T) {
  1169. var name string = "name3373707"
  1170. var displayName string = "displayName1615086568"
  1171. var description string = "description-1724546052"
  1172. var expectedResponse = &securitycenterpb.Source{
  1173. Name: name,
  1174. DisplayName: displayName,
  1175. Description: description,
  1176. }
  1177. mockSecurityCenter.err = nil
  1178. mockSecurityCenter.reqs = nil
  1179. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  1180. var source *securitycenterpb.Source = &securitycenterpb.Source{}
  1181. var request = &securitycenterpb.UpdateSourceRequest{
  1182. Source: source,
  1183. }
  1184. c, err := NewClient(context.Background(), clientOpt)
  1185. if err != nil {
  1186. t.Fatal(err)
  1187. }
  1188. resp, err := c.UpdateSource(context.Background(), request)
  1189. if err != nil {
  1190. t.Fatal(err)
  1191. }
  1192. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  1193. t.Errorf("wrong request %q, want %q", got, want)
  1194. }
  1195. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1196. t.Errorf("wrong response %q, want %q)", got, want)
  1197. }
  1198. }
  1199. func TestSecurityCenterUpdateSourceError(t *testing.T) {
  1200. errCode := codes.PermissionDenied
  1201. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  1202. var source *securitycenterpb.Source = &securitycenterpb.Source{}
  1203. var request = &securitycenterpb.UpdateSourceRequest{
  1204. Source: source,
  1205. }
  1206. c, err := NewClient(context.Background(), clientOpt)
  1207. if err != nil {
  1208. t.Fatal(err)
  1209. }
  1210. resp, err := c.UpdateSource(context.Background(), request)
  1211. if st, ok := gstatus.FromError(err); !ok {
  1212. t.Errorf("got error %v, expected grpc error", err)
  1213. } else if c := st.Code(); c != errCode {
  1214. t.Errorf("got error code %q, want %q", c, errCode)
  1215. }
  1216. _ = resp
  1217. }
  1218. func TestSecurityCenterUpdateSecurityMarks(t *testing.T) {
  1219. var name string = "name3373707"
  1220. var expectedResponse = &securitycenterpb.SecurityMarks{
  1221. Name: name,
  1222. }
  1223. mockSecurityCenter.err = nil
  1224. mockSecurityCenter.reqs = nil
  1225. mockSecurityCenter.resps = append(mockSecurityCenter.resps[:0], expectedResponse)
  1226. var securityMarks *securitycenterpb.SecurityMarks = &securitycenterpb.SecurityMarks{}
  1227. var request = &securitycenterpb.UpdateSecurityMarksRequest{
  1228. SecurityMarks: securityMarks,
  1229. }
  1230. c, err := NewClient(context.Background(), clientOpt)
  1231. if err != nil {
  1232. t.Fatal(err)
  1233. }
  1234. resp, err := c.UpdateSecurityMarks(context.Background(), request)
  1235. if err != nil {
  1236. t.Fatal(err)
  1237. }
  1238. if want, got := request, mockSecurityCenter.reqs[0]; !proto.Equal(want, got) {
  1239. t.Errorf("wrong request %q, want %q", got, want)
  1240. }
  1241. if want, got := expectedResponse, resp; !proto.Equal(want, got) {
  1242. t.Errorf("wrong response %q, want %q)", got, want)
  1243. }
  1244. }
  1245. func TestSecurityCenterUpdateSecurityMarksError(t *testing.T) {
  1246. errCode := codes.PermissionDenied
  1247. mockSecurityCenter.err = gstatus.Error(errCode, "test error")
  1248. var securityMarks *securitycenterpb.SecurityMarks = &securitycenterpb.SecurityMarks{}
  1249. var request = &securitycenterpb.UpdateSecurityMarksRequest{
  1250. SecurityMarks: securityMarks,
  1251. }
  1252. c, err := NewClient(context.Background(), clientOpt)
  1253. if err != nil {
  1254. t.Fatal(err)
  1255. }
  1256. resp, err := c.UpdateSecurityMarks(context.Background(), request)
  1257. if st, ok := gstatus.FromError(err); !ok {
  1258. t.Errorf("got error %v, expected grpc error", err)
  1259. } else if c := st.Code(); c != errCode {
  1260. t.Errorf("got error code %q, want %q", c, errCode)
  1261. }
  1262. _ = resp
  1263. }