Search in sources :

Example 1 with NoSqlTableDeleteResponse

use of com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableDeleteResponse in project cloudbreak by hortonworks.

the class AwsNoSqlConnectorTest method deleteNoSqlTable.

@Test
public void deleteNoSqlTable() {
    TableDescription tableDescription = new TableDescription().withTableArn(ARN).withTableStatus(DELETING_STATUS);
    DeleteTableResult deleteResult = new DeleteTableResult().withTableDescription(tableDescription);
    when(dynamoDb.deleteTable(argThat((ArgumentMatcher<String>) argument -> true))).thenReturn(deleteResult);
    NoSqlTableDeleteResponse result = underTest.deleteNoSqlTable(new NoSqlTableDeleteRequest());
    assertEquals(ARN, result.getId());
    assertEquals(DELETING_STATUS, result.getTableStatus());
    assertEquals(ResponseStatus.OK, result.getStatus());
}
Also used : ArgumentMatcher(org.mockito.ArgumentMatcher) DeleteTableResult(com.amazonaws.services.dynamodbv2.model.DeleteTableResult) NoSqlTableDeleteResponse(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableDeleteResponse) TableDescription(com.amazonaws.services.dynamodbv2.model.TableDescription) NoSqlTableDeleteRequest(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableDeleteRequest) Test(org.junit.Test)

Example 2 with NoSqlTableDeleteResponse

use of com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableDeleteResponse 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;
    }
}
Also used : Credential(com.sequenceiq.environment.credential.domain.Credential) CloudCredential(com.sequenceiq.cloudbreak.cloud.model.CloudCredential) LocationAwareCredential(com.sequenceiq.environment.environment.domain.LocationAwareCredential) CloudCredential(com.sequenceiq.cloudbreak.cloud.model.CloudCredential) NoSqlConnector(com.sequenceiq.cloudbreak.cloud.NoSqlConnector) NoSqlTableMetadataRequest(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataRequest) NoSqlTableDeleteResponse(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableDeleteResponse) NoSqlTableDeleteRequest(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableDeleteRequest) NoSqlTableMetadataResponse(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataResponse)

Example 3 with NoSqlTableDeleteResponse

use of com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableDeleteResponse in project cloudbreak by hortonworks.

the class AwsNoSqlConnectorTest method getNoSqlTableResourceNotFound.

@Test
public void getNoSqlTableResourceNotFound() {
    when(dynamoDb.deleteTable(argThat((ArgumentMatcher<String>) argument -> true))).thenThrow(new ResourceNotFoundException("not found"));
    NoSqlTableDeleteResponse result = underTest.deleteNoSqlTable(new NoSqlTableDeleteRequest());
    assertNull(result.getId());
    assertNull(result.getTableStatus());
    assertEquals(ResponseStatus.RESOURCE_NOT_FOUND, result.getStatus());
}
Also used : ArgumentMatcher(org.mockito.ArgumentMatcher) ResourceNotFoundException(com.amazonaws.services.dynamodbv2.model.ResourceNotFoundException) NoSqlTableDeleteResponse(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableDeleteResponse) NoSqlTableDeleteRequest(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableDeleteRequest) Test(org.junit.Test)

Aggregations

NoSqlTableDeleteRequest (com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableDeleteRequest)3 NoSqlTableDeleteResponse (com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableDeleteResponse)3 Test (org.junit.Test)2 ArgumentMatcher (org.mockito.ArgumentMatcher)2 DeleteTableResult (com.amazonaws.services.dynamodbv2.model.DeleteTableResult)1 ResourceNotFoundException (com.amazonaws.services.dynamodbv2.model.ResourceNotFoundException)1 TableDescription (com.amazonaws.services.dynamodbv2.model.TableDescription)1 NoSqlConnector (com.sequenceiq.cloudbreak.cloud.NoSqlConnector)1 CloudCredential (com.sequenceiq.cloudbreak.cloud.model.CloudCredential)1 NoSqlTableMetadataRequest (com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataRequest)1 NoSqlTableMetadataResponse (com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataResponse)1 Credential (com.sequenceiq.environment.credential.domain.Credential)1 LocationAwareCredential (com.sequenceiq.environment.environment.domain.LocationAwareCredential)1