use of com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataResponse in project cloudbreak by hortonworks.
the class AwsNoSqlConnectorTest method getNoSqlTableMetaDataOk.
@Test
public void getNoSqlTableMetaDataOk() {
TableDescription tableDescription = new TableDescription().withTableArn(ARN).withTableStatus(ACTIVE_STATUS);
DescribeTableResult describeResult = new DescribeTableResult().withTable(tableDescription);
when(dynamoDb.describeTable(argThat((ArgumentMatcher<String>) argument -> true))).thenReturn(describeResult);
NoSqlTableMetadataResponse result = underTest.getNoSqlTableMetaData(new NoSqlTableMetadataRequest());
assertEquals(ARN, result.getId());
assertEquals(ACTIVE_STATUS, result.getTableStatus());
assertEquals(ResponseStatus.OK, result.getStatus());
}
use of com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataResponse in project cloudbreak by hortonworks.
the class AwsNoSqlConnectorTest method getNoSqlTableMetaDataResourceNotFound.
@Test
public void getNoSqlTableMetaDataResourceNotFound() {
when(dynamoDb.describeTable(argThat((ArgumentMatcher<String>) argument -> true))).thenThrow(new ResourceNotFoundException("not found"));
NoSqlTableMetadataResponse result = underTest.getNoSqlTableMetaData(new NoSqlTableMetadataRequest());
assertNull(result.getId());
assertNull(result.getTableStatus());
assertEquals(ResponseStatus.RESOURCE_NOT_FOUND, result.getStatus());
}
use of com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataResponse in project cloudbreak by hortonworks.
the class NoSqlTableCreationModeDeterminerServiceTest method determineCreationModeCreateNew.
@Test
void determineCreationModeCreateNew() {
NoSqlTableMetadataResponse metadataResponse = NoSqlTableMetadataResponse.builder().withStatus(ResponseStatus.RESOURCE_NOT_FOUND).build();
when(noSql.getNoSqlTableMetaData(any())).thenReturn(metadataResponse);
Credential credential = new Credential();
credential.setCloudPlatform("platform");
S3GuardTableCreation mode = underTest.determineCreationMode(LocationAwareCredential.builder().withLocation("location").withCredential(credential).build(), "tablename");
assertEquals(S3GuardTableCreation.CREATE_NEW, mode);
}
use of com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataResponse in project cloudbreak by hortonworks.
the class NoSqlTableCreationModeDeterminerServiceTest method determineCreationModeExisting.
@Test
void determineCreationModeExisting() {
NoSqlTableMetadataResponse metadataResponse = NoSqlTableMetadataResponse.builder().withId("id").withStatus(ResponseStatus.OK).withTableStatus("ACTIVE").build();
when(noSql.getNoSqlTableMetaData(any())).thenReturn(metadataResponse);
Credential credential = new Credential();
credential.setCloudPlatform("platform");
S3GuardTableCreation mode = underTest.determineCreationMode(LocationAwareCredential.builder().withLocation("location").withCredential(credential).build(), "tablename");
assertEquals(S3GuardTableCreation.USE_EXISTING, mode);
}
use of com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataResponse in project cloudbreak by hortonworks.
the class S3GuardTableDeleteHandler method deleteNoSqlTable.
private ResponseStatus deleteNoSqlTable(LocationAwareCredential locationAwareCredential, String dynamoDbTablename) {
Credential credential = locationAwareCredential.getCredential();
String cloudPlatform = credential.getCloudPlatform();
String location = locationAwareCredential.getLocation();
NoSqlConnector noSqlConnector = getNoSqlConnector(cloudPlatform);
CloudCredential cloudCredential = credentialToCloudCredentialConverter.convert(credential);
NoSqlTableMetadataRequest noSqlTableMetadataRequest = NoSqlTableMetadataRequest.builder().withCloudPlatform(cloudPlatform).withCredential(cloudCredential).withRegion(location).withTableName(dynamoDbTablename).build();
NoSqlTableMetadataResponse noSqlTableMetaData = noSqlConnector.getNoSqlTableMetaData(noSqlTableMetadataRequest);
if (ResponseStatus.OK.equals(noSqlTableMetaData.getStatus())) {
NoSqlTableDeleteRequest request = NoSqlTableDeleteRequest.builder().withCloudPlatform(cloudPlatform).withCredential(cloudCredential).withRegion(location).withTableName(dynamoDbTablename).build();
NoSqlTableDeleteResponse response = noSqlConnector.deleteNoSqlTable(request);
return response.getStatus();
} else {
return ResponseStatus.OK;
}
}
Aggregations