use of com.sequenceiq.cloudbreak.cloud.model.publickey.PublicKeyRegisterRequest in project cloudbreak by hortonworks.
the class AwsPublicKeyConnectorTest method registerExisting.
@Test
void registerExisting() {
PublicKeyRegisterRequest request = generateRegisterRequest();
when(ec2client.describeKeyPairs(any())).thenReturn(new DescribeKeyPairsResult());
underTest.register(request);
verifyNoMoreInteractions(ec2client);
}
use of com.sequenceiq.cloudbreak.cloud.model.publickey.PublicKeyRegisterRequest in project cloudbreak by hortonworks.
the class AwsPublicKeyConnectorTest method registerProviderException.
@Test
void registerProviderException() {
PublicKeyRegisterRequest request = generateRegisterRequest();
when(ec2client.describeKeyPairs(any())).thenThrow(new AmazonServiceException("no such key"));
when(ec2client.importKeyPair(any())).thenThrow(new RuntimeException(RUNTIME_EXCEPTION));
assertThatThrownBy(() -> underTest.register(request)).isInstanceOf(CloudConnectorException.class).hasMessage(RUNTIME_EXCEPTION);
verifyNoMoreInteractions(ec2client);
}
use of com.sequenceiq.cloudbreak.cloud.model.publickey.PublicKeyRegisterRequest in project cloudbreak by hortonworks.
the class EnvironmentResourceService method createPublicKey.
private boolean createPublicKey(Environment environment, String publicKeyId) {
try {
PublicKeyConnector publicKeyConnector = getPublicKeyConnector(environment.getCloudPlatform()).orElseThrow(() -> new BadRequestException("No network connector for cloud platform: " + environment.getCloudPlatform()));
PublicKeyRegisterRequest request = createPublicKeyRegisterRequest(environment, publicKeyId);
publicKeyConnector.register(request);
LOGGER.info("Public key id is registered with name of {}", publicKeyId);
return true;
} catch (UnsupportedOperationException e) {
LOGGER.info("Cloud platform {} does not support public key services", environment.getCloudPlatform());
} catch (Exception e) {
LOGGER.info("Public key could not be registered. {}", e.getMessage(), e);
}
return false;
}
use of com.sequenceiq.cloudbreak.cloud.model.publickey.PublicKeyRegisterRequest in project cloudbreak by hortonworks.
the class AwsPublicKeyConnectorTest method registerNew.
@Test
void registerNew() {
PublicKeyRegisterRequest request = generateRegisterRequest();
when(ec2client.describeKeyPairs(any())).thenThrow(new AmazonServiceException("no such key"));
underTest.register(request);
ArgumentCaptor<ImportKeyPairRequest> captor = ArgumentCaptor.forClass(ImportKeyPairRequest.class);
verify(ec2client).importKeyPair(captor.capture());
ImportKeyPairRequest result = captor.getValue();
assertThat(result.getKeyName()).isEqualTo(PUBLIC_KEY_ID);
assertThat(result.getPublicKeyMaterial()).isEqualTo(PUBLIC_KEY);
verifyNoMoreInteractions(ec2client);
}
Aggregations