static com.google.api.services.storage.model.Policy convertToApiPolicy(Policy policy) { List<Bindings> bindings = new ArrayList<>(policy.getBindings().size()); for (Map.Entry<Role, Set<Identity>> entry : policy.getBindings().entrySet()) { List<String> members = new ArrayList<>(entry.getValue().size()); for (Identity identity : entry.getValue()) { members.add(identity.strValue()); } bindings.add(new Bindings().setMembers(members).setRole(entry.getKey().getValue())); } return new com.google.api.services.storage.model.Policy() .setBindings(bindings) .setEtag(policy.getEtag()); }
public ApiPolicyMatcher(Policy expected) { expectedBindings = toMap(expected.getBindings()); expectedEtag = expected.getEtag(); }
@Test public void testSetIamPolicy() { com.google.api.services.storage.model.Policy preCommitApiPolicy = new com.google.api.services.storage.model.Policy() .setBindings( ImmutableList.of( new Bindings() .setMembers(ImmutableList.of("group:test-group@gmail.com")) .setRole("roles/storage.admin"))) .setEtag(POLICY_ETAG1); new com.google.api.services.storage.model.Policy() .setBindings( ImmutableList.of( new Bindings() .setMembers(ImmutableList.of("group:test-group@gmail.com")) .setRole("roles/storage.admin"))) .setEtag(POLICY_ETAG2); Policy postCommitLibPolicy = Policy.newBuilder()
@Override public boolean matches(Object object) { if (!(object instanceof Policy)) { return false; } Policy actual = (Policy) object; Map<String, Set<String>> actualBindings = toMap(actual.getBindings()); String actualEtag = actual.getEtag(); if (expectedEtag == null) { if (actualEtag != null) { return false; } } else { if (!expectedEtag.equals(actual.getEtag())) { return false; } } if (expectedBindings.size() != actualBindings.size()) { return false; } for (Map.Entry<String, Set<String>> entry : expectedBindings.entrySet()) { String role = entry.getKey(); Set<String> expectedMembers = entry.getValue(); Set<String> actualMembers = actualBindings.get(role); if (!expectedMembers.equals(actualMembers)) { return false; } } return true; }
.build(); com.google.api.services.storage.model.Policy apiPolicy = new com.google.api.services.storage.model.Policy() .setBindings( ImmutableList.of( new Bindings() ImmutableList.of("user:test1@gmail.com", "user:test2@gmail.com")) .setRole("roles/storage.objectAdmin"))) .setEtag(ETAG);
static Policy convertFromApiPolicy(com.google.api.services.storage.model.Policy apiPolicy) { Policy.Builder policyBuilder = Policy.newBuilder(); for (Bindings binding : apiPolicy.getBindings()) { for (String member : binding.getMembers()) { policyBuilder.addIdentity(Role.of(binding.getRole()), Identity.valueOf(member)); } } return policyBuilder.setEtag(apiPolicy.getEtag()).build(); }
static com.google.api.services.storage.model.Policy convertToApiPolicy(Policy policy) { List<Bindings> bindings = new ArrayList<>(policy.getBindings().size()); for (Map.Entry<Role, Set<Identity>> entry : policy.getBindings().entrySet()) { List<String> members = new ArrayList<>(entry.getValue().size()); for (Identity identity : entry.getValue()) { members.add(identity.strValue()); } bindings.add(new Bindings().setMembers(members).setRole(entry.getKey().getValue())); } return new com.google.api.services.storage.model.Policy() .setBindings(bindings) .setEtag(policy.getEtag()); }
static Policy convertFromApiPolicy(com.google.api.services.storage.model.Policy apiPolicy) { Policy.Builder policyBuilder = Policy.newBuilder(); for (Bindings binding : apiPolicy.getBindings()) { for (String member : binding.getMembers()) { policyBuilder.addIdentity(Role.of(binding.getRole()), Identity.valueOf(member)); } } return policyBuilder.setEtag(apiPolicy.getEtag()).build(); }