From 0dccbb7fc91de753eb984a8cd53317721b640d7d Mon Sep 17 00:00:00 2001 From: bharathkkb Date: Thu, 20 Jan 2022 01:16:40 -0600 Subject: [PATCH] refactor IAM test for loose match --- .../workload_metadata_config/controls/gcloud.rb | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/test/integration/workload_metadata_config/controls/gcloud.rb b/test/integration/workload_metadata_config/controls/gcloud.rb index 55cbdd5066..59250d4997 100644 --- a/test/integration/workload_metadata_config/controls/gcloud.rb +++ b/test/integration/workload_metadata_config/controls/gcloud.rb @@ -51,17 +51,21 @@ its(:exit_status) { should eq 0 } its(:stderr) { should eq '' } - let!(:iam) do + let(:bindings) do if subject.exit_status == 0 - JSON.parse(subject.stdout) + JSON.parse(subject.stdout, symbolize_names: true)[:bindings] else - {} + [] end end it "has expected registry roles" do - expect(iam['bindings']).to include( - {"members" => ["serviceAccount:#{service_account}"], "role" => "roles/storage.objectViewer"}, - {"members" => ["serviceAccount:#{service_account}"], "role" => "roles/artifactregistry.reader"} + expect(bindings).to include( + members: including("serviceAccount:#{service_account}"), + role: "roles/storage.objectViewer", + ) + expect(bindings).to include( + members: including("serviceAccount:#{service_account}"), + role: "roles/artifactregistry.reader", ) end end