use of com.amazonaws.athena.connector.lambda.metadata.ListSchemasResponse in project aws-athena-query-federation by awslabs.
the class JdbcMetadataHandlerTest method doListSchemaNames.
@Test
public void doListSchemaNames() throws SQLException {
String[] schema = { "TABLE_SCHEM" };
Object[][] values = { { "testDB" }, { "testdb2" }, { "information_schema" } };
String[] expected = { "testDB", "testdb2" };
AtomicInteger rowNumber = new AtomicInteger(-1);
ResultSet resultSet = mockResultSet(schema, values, rowNumber);
Mockito.when(connection.getMetaData().getSchemas()).thenReturn(resultSet);
ListSchemasResponse listSchemasResponse = this.jdbcMetadataHandler.doListSchemaNames(this.blockAllocator, new ListSchemasRequest(this.federatedIdentity, "testQueryId", "testCatalog"));
Assert.assertArrayEquals(expected, listSchemasResponse.getSchemas().toArray());
}
use of com.amazonaws.athena.connector.lambda.metadata.ListSchemasResponse in project aws-athena-query-federation by awslabs.
the class NeptuneMetadataHandlerTest method doListSchemaNames.
@Test
public void doListSchemaNames() {
logger.info("doListSchemas - enter");
ListSchemasRequest req = new ListSchemasRequest(IDENTITY, "queryId", "default");
ListSchemasResponse res = handler.doListSchemaNames(allocator, req);
logger.info("doListSchemas - {}", res.getSchemas());
assertFalse(res.getSchemas().isEmpty());
logger.info("doListSchemas - exit");
}
use of com.amazonaws.athena.connector.lambda.metadata.ListSchemasResponse in project aws-athena-query-federation by awslabs.
the class CloudwatchMetadataHandlerTest method doListSchemaNames.
@Test
public void doListSchemaNames() throws TimeoutException {
logger.info("doListSchemas - enter");
when(mockAwsLogs.describeLogGroups(any(DescribeLogGroupsRequest.class))).thenAnswer((InvocationOnMock invocationOnMock) -> {
DescribeLogGroupsRequest request = (DescribeLogGroupsRequest) invocationOnMock.getArguments()[0];
DescribeLogGroupsResult result = new DescribeLogGroupsResult();
Integer nextToken;
if (request.getNextToken() == null) {
nextToken = 1;
} else if (Integer.valueOf(request.getNextToken()) < 3) {
nextToken = Integer.valueOf(request.getNextToken()) + 1;
} else {
nextToken = null;
}
List<LogGroup> logGroups = new ArrayList<>();
if (request.getNextToken() == null || Integer.valueOf(request.getNextToken()) < 3) {
for (int i = 0; i < 10; i++) {
LogGroup nextLogGroup = new LogGroup();
nextLogGroup.setLogGroupName("schema-" + String.valueOf(i));
logGroups.add(nextLogGroup);
}
}
result.withLogGroups(logGroups);
if (nextToken != null) {
result.setNextToken(String.valueOf(nextToken));
}
return result;
});
ListSchemasRequest req = new ListSchemasRequest(identity, "queryId", "default");
ListSchemasResponse res = handler.doListSchemaNames(allocator, req);
logger.info("doListSchemas - {}", res.getSchemas());
assertTrue(res.getSchemas().size() == 30);
verify(mockAwsLogs, times(4)).describeLogGroups(any(DescribeLogGroupsRequest.class));
verifyNoMoreInteractions(mockAwsLogs);
logger.info("doListSchemas - exit");
}
use of com.amazonaws.athena.connector.lambda.metadata.ListSchemasResponse in project aws-athena-query-federation by awslabs.
the class MetricsMetadataHandlerTest method doListSchemaNames.
@Test
public void doListSchemaNames() {
logger.info("doListSchemas - enter");
ListSchemasRequest req = new ListSchemasRequest(identity, "queryId", "default");
ListSchemasResponse res = handler.doListSchemaNames(allocator, req);
logger.info("doListSchemas - {}", res.getSchemas());
assertTrue(res.getSchemas().size() == 1);
assertEquals(defaultSchema, res.getSchemas().iterator().next());
logger.info("doListSchemas - exit");
}
use of com.amazonaws.athena.connector.lambda.metadata.ListSchemasResponse in project aws-athena-query-federation by awslabs.
the class DynamoDBMetadataHandlerTest method doListSchemaNamesGlueError.
@Test
public void doListSchemaNamesGlueError() throws Exception {
when(glueClient.getDatabases(any())).thenThrow(new AmazonServiceException(""));
ListSchemasRequest req = new ListSchemasRequest(TEST_IDENTITY, TEST_QUERY_ID, TEST_CATALOG_NAME);
ListSchemasResponse res = handler.doListSchemaNames(allocator, req);
logger.info("doListSchemas - {}", res.getSchemas());
assertThat(new ArrayList<>(res.getSchemas()), equalTo(Collections.singletonList(DEFAULT_SCHEMA)));
}
Aggregations