use of com.vmware.photon.controller.model.adapters.awsadapter.util.AWSClientManager in project photon-model by vmware.
the class TestAWSClientManagement method testEc2ClientInvalidArnKey.
@Test
public void testEc2ClientInvalidArnKey() throws Throwable {
this.ec2ClientReferenceCount = getClientReferenceCount(AwsClientType.EC2);
this.host.setTimeoutSeconds(60);
// Getting a reference to client managers in the test
AWSClientManager ec2ClientManager = getClientManager(AwsClientType.EC2);
ec2ClientManager.cleanUpArnCache();
assertEquals(this.ec2ClientReferenceCount + 1, getClientReferenceCount(AwsClientType.EC2));
this.creds = new AuthCredentialsServiceState();
this.creds.customProperties = new HashMap<>();
this.creds.customProperties.put(ARN_KEY, this.arn + "-invalid");
this.creds.customProperties.put(EXTERNAL_ID_KEY, this.externalId);
AWSSecurityTokenServiceException[] expectedException = new AWSSecurityTokenServiceException[1];
TestContext waitContext = new TestContext(1, Duration.ofSeconds(60L));
ec2ClientManager.getOrCreateEC2ClientAsync(this.creds, TestAWSSetupUtils.regionId, this.instanceService).exceptionally(t -> {
expectedException[0] = (AWSSecurityTokenServiceException) t.getCause();
waitContext.complete();
throw new CompletionException(t);
});
waitContext.await();
Assert.assertNull(this.client);
Assert.assertEquals(Operation.STATUS_CODE_FORBIDDEN, expectedException[0].getStatusCode());
Assert.assertEquals("AccessDenied", expectedException[0].getErrorCode());
}
use of com.vmware.photon.controller.model.adapters.awsadapter.util.AWSClientManager in project photon-model by vmware.
the class TestAWSClientManagement method testEc2ClientInvalidExternalId.
@Test
public void testEc2ClientInvalidExternalId() throws Throwable {
this.ec2ClientReferenceCount = getClientReferenceCount(AwsClientType.EC2);
this.host.setTimeoutSeconds(60);
// Getting a reference to client managers in the test
AWSClientManager ec2ClientManager = getClientManager(AwsClientType.EC2);
ec2ClientManager.cleanUpArnCache();
assertEquals(this.ec2ClientReferenceCount + 1, getClientReferenceCount(AwsClientType.EC2));
this.creds = new AuthCredentialsServiceState();
this.creds.customProperties = new HashMap<>();
this.creds.customProperties.put(ARN_KEY, this.arn);
this.creds.customProperties.put(EXTERNAL_ID_KEY, "invalid");
AWSSecurityTokenServiceException[] expectedException = new AWSSecurityTokenServiceException[1];
TestContext waitContext = new TestContext(1, Duration.ofSeconds(60L));
ec2ClientManager.getOrCreateEC2ClientAsync(this.creds, TestAWSSetupUtils.regionId, this.instanceService).exceptionally(t -> {
expectedException[0] = (AWSSecurityTokenServiceException) t.getCause();
waitContext.complete();
throw new CompletionException(t);
});
waitContext.await();
Assert.assertNull(this.client);
Assert.assertEquals(Operation.STATUS_CODE_FORBIDDEN, expectedException[0].getStatusCode());
Assert.assertEquals("AccessDenied", expectedException[0].getErrorCode());
}
Aggregations