Search in sources :

Example 1 with NoSqlTableMetadataRequest

use of com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataRequest 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());
}
Also used : ArgumentMatcher(org.mockito.ArgumentMatcher) DescribeTableResult(com.amazonaws.services.dynamodbv2.model.DescribeTableResult) NoSqlTableMetadataRequest(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataRequest) TableDescription(com.amazonaws.services.dynamodbv2.model.TableDescription) NoSqlTableMetadataResponse(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataResponse) Test(org.junit.Test)

Example 2 with NoSqlTableMetadataRequest

use of com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataRequest 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());
}
Also used : ArgumentMatcher(org.mockito.ArgumentMatcher) ResourceNotFoundException(com.amazonaws.services.dynamodbv2.model.ResourceNotFoundException) NoSqlTableMetadataRequest(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataRequest) NoSqlTableMetadataResponse(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataResponse) Test(org.junit.Test)

Example 3 with NoSqlTableMetadataRequest

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

the class NoSqlTableCreationModeDeterminerService method getNoSqlTableMetaData.

private NoSqlTableMetadataResponse getNoSqlTableMetaData(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 request = NoSqlTableMetadataRequest.builder().withCloudPlatform(cloudPlatform).withCredential(cloudCredential).withRegion(location).withTableName(dynamoDbTablename).build();
    return noSqlConnector.getNoSqlTableMetaData(request);
}
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)

Example 4 with NoSqlTableMetadataRequest

use of com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataRequest 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 5 with NoSqlTableMetadataRequest

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

the class AwsNoSqlConnectorTest method getNoSqlTableMetaDataAwsError.

@Test
public void getNoSqlTableMetaDataAwsError() {
    when(dynamoDb.describeTable(argThat((ArgumentMatcher<String>) argument -> true))).thenThrow(new AmazonDynamoDBException("provider error"));
    thrown.expect(CloudConnectorException.class);
    thrown.expectMessage("provider error");
    underTest.getNoSqlTableMetaData(new NoSqlTableMetadataRequest());
}
Also used : AmazonDynamoDBException(com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException) ArgumentMatcher(org.mockito.ArgumentMatcher) NoSqlTableMetadataRequest(com.sequenceiq.cloudbreak.cloud.model.nosql.NoSqlTableMetadataRequest) Test(org.junit.Test)

Aggregations

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