@Test @SuppressWarnings("all") public void testIamPermissionsExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockIAMPolicy.addException(exception); try { String formattedResource = ProjectTopicName.format("[PROJECT]", "[TOPIC]"); List<String> permissions = new ArrayList<>(); client.testIamPermissions(formattedResource, permissions); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { // Expected exception } } }
@Test @SuppressWarnings("all") public void getIamPolicyExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockIAMPolicy.addException(exception); try { String formattedResource = ProjectTopicName.format("[PROJECT]", "[TOPIC]"); client.getIamPolicy(formattedResource); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { // Expected exception } }
@Test @SuppressWarnings("all") public void setIamPolicyExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockIAMPolicy.addException(exception); try { String formattedResource = ProjectTopicName.format("[PROJECT]", "[TOPIC]"); Policy policy = Policy.newBuilder().build(); client.setIamPolicy(formattedResource, policy); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { // Expected exception } }
/** Example of replacing a topic policy. */ public Policy replaceTopicPolicy(String topicId) throws Exception { // [START pubsub_set_topic_policy] try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { String topicName = ProjectTopicName.format(projectId, topicId); Policy policy = topicAdminClient.getIamPolicy(topicName); // add role -> members binding Binding binding = Binding.newBuilder() .setRole(Role.viewer().toString()) .addMembers(Identity.allAuthenticatedUsers().toString()) .build(); // create updated policy Policy updatedPolicy = Policy.newBuilder(policy).addBindings(binding).build(); updatedPolicy = topicAdminClient.setIamPolicy(topicName, updatedPolicy); return updatedPolicy; } // [END pubsub_set_topic_policy] }
@Test @SuppressWarnings("all") public void getIamPolicyTest() { int version = 351608024; ByteString etag = ByteString.copyFromUtf8("21"); Policy expectedResponse = Policy.newBuilder().setVersion(version).setEtag(etag).build(); mockIAMPolicy.addResponse(expectedResponse); String formattedResource = ProjectTopicName.format("[PROJECT]", "[TOPIC]"); Policy actualResponse = client.getIamPolicy(formattedResource); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockIAMPolicy.getRequests(); Assert.assertEquals(1, actualRequests.size()); GetIamPolicyRequest actualRequest = (GetIamPolicyRequest) actualRequests.get(0); Assert.assertEquals(formattedResource, actualRequest.getResource()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void testIamPermissionsTest() { TestIamPermissionsResponse expectedResponse = TestIamPermissionsResponse.newBuilder().build(); mockIAMPolicy.addResponse(expectedResponse); String formattedResource = ProjectTopicName.format("[PROJECT]", "[TOPIC]"); List<String> permissions = new ArrayList<>(); TestIamPermissionsResponse actualResponse = client.testIamPermissions(formattedResource, permissions); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockIAMPolicy.getRequests(); Assert.assertEquals(1, actualRequests.size()); TestIamPermissionsRequest actualRequest = (TestIamPermissionsRequest) actualRequests.get(0); Assert.assertEquals(formattedResource, actualRequest.getResource()); Assert.assertEquals(permissions, actualRequest.getPermissionsList()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void setIamPolicyTest() { int version = 351608024; ByteString etag = ByteString.copyFromUtf8("21"); Policy expectedResponse = Policy.newBuilder().setVersion(version).setEtag(etag).build(); mockIAMPolicy.addResponse(expectedResponse); String formattedResource = ProjectTopicName.format("[PROJECT]", "[TOPIC]"); Policy policy = Policy.newBuilder().build(); Policy actualResponse = client.setIamPolicy(formattedResource, policy); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockIAMPolicy.getRequests(); Assert.assertEquals(1, actualRequests.size()); SetIamPolicyRequest actualRequest = (SetIamPolicyRequest) actualRequests.get(0); Assert.assertEquals(formattedResource, actualRequest.getResource()); Assert.assertEquals(policy, actualRequest.getPolicy()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }