Created
April 17, 2023 18:57
-
-
Save jyshnkr/75eaf416fff52f78c959e0d4b73d3e5f to your computer and use it in GitHub Desktop.
Tests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
private String uploadUrl; | |
private String tenantId; | |
private String region; | |
private String arn; | |
private String scenarioDatasetArn; | |
private GraphiteActivityManagementClient client; | |
@BeforeAll | |
public void setup() { | |
this.client = ActivityManagementClientBuilder.getClient(); | |
this.tenantId = EnvironmentParams.integFixtureAccountId(); | |
this.region = EnvironmentParams.region(); | |
} | |
@Test | |
@Order(100) | |
public void testCreateFileUploadUrl() { | |
final CreateFileUploadUrlResponse response = client.createFileUploadUrl(CreateFileUploadUrlRequest.builder() | |
.accountId(tenantId) | |
.build()); | |
Assertions.assertNotNull(response.fileUploadUrl()); | |
this.uploadUrl = response.fileUploadUrl(); | |
// Upload the file programmatically | |
FileUploader.uploadFileToPresignedUrl(uploadUrl, "test.csv"); | |
} | |
@Test | |
@Order(200) | |
public void testCreateActivityDataset() throws InterruptedException { | |
final CreateActivityDatasetResponse response = client.createActivityDataset(CreateActivityDatasetRequest | |
.builder() | |
.accountId(tenantId) | |
.clientToken(UUID.randomUUID().toString()) | |
.description("CuteDescription") | |
.fileUploadUrl(uploadUrl) | |
.displayName("CuteDisplayName") | |
.schema(CreateActivityFixture.buildDataSetSchema()) | |
.filterCriteria(CreateActivityFixture.buildFilterCriteriaList()) | |
.build()); | |
final ActivityDataset dataset = response.activityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals("CuteDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.NOT_STARTED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSource(), dataset.dataSource()); | |
Assertions.assertEquals("CuteDescription", dataset.description()); | |
Assertions.assertEquals(CreateActivityFixture.buildFilterCriteriaList(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
Assertions.assertTrue(dataset.activityDatasetArn() | |
.startsWith(String.format("arn:aws:graphite:%s:%s:activity-dataset/", region, tenantId))); | |
this.arn = dataset.activityDatasetArn(); | |
TimeUnit.SECONDS.sleep(2); | |
} | |
@Test | |
@Order(210) | |
public void testCreateActivityDatasetWithClientTokenReturnsSameActivityDataset() { | |
final CreateActivityDatasetRequest request = CreateActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.clientToken(UUID.randomUUID().toString()) | |
.description("CuteDescription") | |
.fileUploadUrl(uploadUrl) | |
.displayName("CuteDisplayName") | |
.schema(CreateActivityFixture.buildDataSetSchema()) | |
.filterCriteria(CreateActivityFixture.buildFilterCriteriaList()) | |
.build(); | |
final CreateActivityDatasetResponse response = client.createActivityDataset(request); | |
final CreateActivityDatasetResponse secondResponse = client.createActivityDataset(request); | |
Assertions.assertEquals(response.activityDataset(), secondResponse.activityDataset()); | |
} | |
@Test | |
@Order(220) | |
public void testCreateActivityDatasetWithClientTokenDifferentRequestThrowsConflictException() { | |
final CreateActivityDatasetRequest request = CreateActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.clientToken(UUID.randomUUID().toString()) | |
.description("CuteDescription") | |
.fileUploadUrl(uploadUrl) | |
.displayName("CuteDisplayName") | |
.schema(CreateActivityFixture.buildDataSetSchema()) | |
.filterCriteria(CreateActivityFixture.buildFilterCriteriaList()) | |
.build(); | |
final CreateActivityDatasetRequest secondRequest = request.toBuilder() | |
.description("DifferentDescription") | |
.build(); | |
final String activityDatasetArn = client.createActivityDataset(request).activityDataset().activityDatasetArn(); | |
ConflictException exception = Assertions.assertThrowsExactly(ConflictException.class, () -> { | |
final CreateActivityDatasetResponse response = client.createActivityDataset(secondRequest); | |
if (!activityDatasetArn.equals(response.activityDataset().activityDatasetArn())) { | |
client.deleteActivityDataset(DeleteActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(response.activityDataset().activityDatasetArn()) | |
.build()); | |
} | |
Assertions.fail("Create incorrectly succeeded: " + response.activityDataset().activityDatasetArn()); | |
}); | |
Assertions.assertEquals("clientToken re-used with different parameters", | |
exception.awsErrorDetails().errorMessage()); | |
Assertions.assertEquals("ActivityDataset", exception.resourceType()); | |
Assertions.assertNull(exception.resourceId()); | |
} | |
@Test | |
@Order(300) | |
public void testGetActivityDatasetBeforeImport() { | |
final GetActivityDatasetResponse response = client.getActivityDataset(GetActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.build()); | |
final ActivityDataset dataset = response.activityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(arn, dataset.activityDatasetArn()); | |
Assertions.assertEquals("CuteDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.NOT_STARTED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSource(), dataset.dataSource()); | |
Assertions.assertEquals("CuteDescription", dataset.description()); | |
Assertions.assertEquals(CreateActivityFixture.buildFilterCriteriaList(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
} | |
@Test | |
@Order(400) | |
public void testStartActivityDatasetImport() { | |
client.startActivityDatasetImport(StartActivityDatasetImportRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.build()); | |
Poller.pollUntilADImportSucceeds(client, tenantId, arn); | |
} | |
@Test | |
@Order(500) | |
public void testListActivityDatasetRecords() { | |
Optional<String> nextToken = Optional.empty(); | |
ImmutableList.Builder<Map<String, String>> resultBuilder = ImmutableList.builder(); | |
int requestCount = 0; | |
int maxRequests = 5; // Just a safe bound to exit, in case we go into infinite loop because of a bug | |
do { | |
ListActivityDatasetRecordsRequest.Builder request = ListActivityDatasetRecordsRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.maxResults(5); | |
nextToken.ifPresent(request::nextToken); | |
ListActivityDatasetRecordsResponse response = client.listActivityDatasetRecords(request.build()); | |
resultBuilder.addAll(response.activityDatasetRecords()); | |
nextToken = Optional.ofNullable(response.nextToken()); | |
requestCount++; | |
} while (nextToken.isPresent() && requestCount < maxRequests); | |
List<Map<String, String>> results = resultBuilder.build(); | |
Assertions.assertEquals(2, results.size()); // 2 rows | |
Map<String, String> expected1 = ImmutableMap.<String, String>builder() | |
.put("fieldText1", "Houston") | |
.put("fieldNumber1", "1969.0") | |
.put("fieldNumber2", "2.1") | |
.put("fieldDate1", "2021-05-14T00:00:00.000Z") | |
.put("fieldDate2", "2022-04-18T10:11:08.000Z") | |
.put("fieldDate3", "2022-04-18T20:11:08.000Z") | |
.put("fieldDate4", "2021-11-18T07:13:08.000Z") | |
.put("fieldDate5", "2021-02-14T23:32:08.000Z") | |
.put("fieldDate6", "2023-01-28T13:05:29.101Z") | |
.put("fieldDate7", "2022-05-28T02:50:29.101Z") | |
.put("fieldDate8", "2022-12-27T21:56:29.000Z") | |
.put("fieldDate9", "2019-09-12T13:11:07.000Z") | |
.build(); | |
Map<String, String> expected2 = ImmutableMap.<String, String>builder() | |
.put("fieldText1", "Who's that pokemon?") | |
.put("fieldNumber1", "2023.0") | |
.put("fieldNumber2", "25.0") | |
.put("fieldDate1", "1996-02-27T00:00:00.000Z") | |
.put("fieldDate2", "1996-02-27T00:00:00.000Z") | |
.put("fieldDate3", "2022-04-18T20:11:08.000Z") | |
.put("fieldDate4", "2021-11-18T07:13:08.000Z") | |
.put("fieldDate5", "2021-02-14T23:32:08.000Z") | |
.put("fieldDate6", "2023-01-28T13:05:29.101Z") | |
.put("fieldDate7", "2022-05-28T02:50:29.101Z") | |
.put("fieldDate8", "2022-12-27T21:56:29.000Z") | |
.put("fieldDate9", "2019-09-12T13:11:07.000Z") | |
.build(); | |
Assertions.assertEquals(ImmutableSet.of(expected1, expected2), ImmutableSet.builder().addAll(results).build()); | |
} | |
@Test | |
@Order(550) | |
public void testUpdateActivityDataset() { | |
final UpdateActivityDatasetResponse updateResponse = client.updateActivityDataset( | |
UpdateActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.description("UpdatedDescription") | |
.displayName("UpdatedDisplayName") | |
.build()); | |
final ActivityDataset dataset = updateResponse.activityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(arn, dataset.activityDatasetArn()); | |
Assertions.assertEquals("UpdatedDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.SUCCEEDED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSource(), dataset.dataSource()); | |
Assertions.assertEquals("UpdatedDescription", dataset.description()); | |
Assertions.assertEquals(CreateActivityFixture.buildFilterCriteriaList(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
} | |
@Test | |
@Order(600) | |
public void testGetActivityDatasetAfterImport() throws IOException { | |
final GetActivityDatasetResponse response = client.getActivityDataset(GetActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.build()); | |
final ActivityDataset dataset = response.activityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(arn, dataset.activityDatasetArn()); | |
Assertions.assertEquals("UpdatedDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.SUCCEEDED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSource(), dataset.dataSource()); | |
Assertions.assertEquals("UpdatedDescription", dataset.description()); | |
Assertions.assertEquals(CreateActivityFixture.buildFilterCriteriaList(), dataset.filterCriteria()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
Assertions.assertNotNull(dataset.errorReportDownloadUrl()); | |
final ImmutableList<Map<String, String>> errorReportMapList = | |
CSVDownloader.download(dataset.errorReportDownloadUrl()); | |
final ImmutableList<ImmutableMap<String, String>> expectedErrorReportMapList = ImmutableList.of( | |
ImmutableMap.<String, String>builder() | |
.put("fieldDate2", "2022/04/18 10:11:08 AM") | |
.put("fieldDate5", "2021/02/14 11:32:08 pm") | |
.put("fieldNumber2", "3.1409") | |
.put("fieldDate4", "2021/11/18 07:13:08 am") | |
.put("fieldDate1", "2020-10-10") | |
.put("fieldNumber1", "91s") | |
.put("fieldDate3", "2022/04/18 08:11:08 PM") | |
.put("fieldText1", "Mayday") | |
.put("fieldDate6", "2023-01-28 13:05:29.101") | |
.put("fieldDate7", "2022-05-28T13:05:29.101+10:15") | |
.put("fieldDate8", "2022-12-28T08:11:29+10:15") | |
.put("fieldDate9", "2019-09-12T13:11:07Z") | |
.build(), | |
ImmutableMap.<String, String>builder() | |
.put("fieldDate2", "2022/04/18 10:11:08 AM") | |
.put("fieldDate5", "2021/02/14 11:32:08 pm") | |
.put("fieldNumber2", "1681") | |
.put("fieldDate4", "2021/11/18 07:13:08 am") | |
.put("fieldDate1", "2020-10-11") | |
.put("fieldNumber1", "\"\"") | |
.put("fieldDate3", "2022/04/18 08:11:08 PM") | |
.put("fieldText1", "Water water") | |
.put("fieldDate6", "2023-01-28 13:05:29.101") | |
.put("fieldDate7", "2022-05-28T13:05:29.101+10:15") | |
.put("fieldDate8", "2022-12-28T08:11:29+10:15") | |
.put("fieldDate9", "2019-09-12T13:11:07Z") | |
.build(), | |
ImmutableMap.<String, String>builder() | |
.put("fieldDate2", "2022/04/18 10:11:08 AM") | |
.put("fieldDate5", "2021/02/14 11:32:08 pm") | |
.put("fieldNumber2", "188") | |
.put("fieldDate4", "2021/11/18 07:13:08 am") | |
.put("fieldDate1", "20201011") | |
.put("fieldNumber1", "12") | |
.put("fieldDate3", "2022/04/18 08:11:08 PM") | |
.put("fieldText1", "It's a feature") | |
.put("fieldDate6", "2023-01-28 13:05:29.101") | |
.put("fieldDate7", "2022-05-28T13:05:29.101+10:15") | |
.put("fieldDate8", "2022-12-28T08:11:29+10:15") | |
.put("fieldDate9", "2019-09-12T13:11:07Z") | |
.build(), | |
ImmutableMap.<String, String>builder() | |
.put("fieldDate2", "\"\"") | |
.put("fieldDate5", "2021/02/14 11:32:08 pm") | |
.put("fieldNumber2", "25") | |
.put("fieldDate4", "2021/11/18 07:13:08 am") | |
.put("fieldDate1", "1996-02-27") | |
.put("fieldNumber1", "2023") | |
.put("fieldDate3", "2022/04/18 08:11:08 PM") | |
.put("fieldText1", "Gotta catch em all") | |
.put("fieldDate6", "2023-01-28 13:05:29.101") | |
.put("fieldDate7", "2022-05-28T13:05:29.101+10:15") | |
.put("fieldDate8", "2022-12-28T08:11:29+10:15") | |
.put("fieldDate9", "2019-09-12T13:11:07Z") | |
.build()); | |
Assertions.assertEquals(expectedErrorReportMapList, errorReportMapList); | |
} | |
@Test | |
@Order(700) | |
public void testCreateScenarioDatasetFromActivityDataset() throws InterruptedException { | |
final CreateScenarioActivityDatasetResponse response = client.createScenarioActivityDataset( | |
CreateScenarioActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.clientToken(UUID.randomUUID().toString()) | |
.description("SuperCuteDescription") | |
.displayName("SuperCuteDisplayName") | |
.schema(CreateScenarioActivityFixture.buildDataSetSchema()) | |
.filterCriteria(CreateScenarioActivityFixture.buildFilterCriteriaList()) | |
.dataSource(ScenarioActivityDataSource.builder() | |
.activityDatasetSource(ActivityDatasetSource.builder() | |
.activityDatasetArn(arn) | |
.build()) | |
.build()) | |
.build()); | |
final ScenarioActivityDataset dataset = response.scenarioActivityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals("SuperCuteDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ScenarioActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.NOT_STARTED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildActivityDatasetSource(arn), dataset.dataSource()); | |
Assertions.assertEquals("SuperCuteDescription", dataset.description()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildFilterCriteriaList(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
Assertions.assertTrue(dataset.scenarioActivityDatasetArn() | |
.startsWith(String.format("arn:aws:graphite:%s:%s:scenario-activity-dataset/", region, tenantId))); | |
this.scenarioDatasetArn = dataset.scenarioActivityDatasetArn(); | |
TimeUnit.SECONDS.sleep(2); | |
} | |
@Test | |
@Order(800) | |
public void testGetScenarioActivityDatasetBeforeImport() { | |
final GetScenarioActivityDatasetResponse response = client.getScenarioActivityDataset( | |
GetScenarioActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.build()); | |
final ScenarioActivityDataset dataset = response.scenarioActivityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(scenarioDatasetArn, dataset.scenarioActivityDatasetArn()); | |
Assertions.assertEquals("SuperCuteDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ScenarioActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.NOT_STARTED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildActivityDatasetSource(arn), dataset.dataSource()); | |
Assertions.assertEquals("SuperCuteDescription", dataset.description()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildFilterCriteriaList(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
} | |
@Test | |
@Order(900) | |
public void testStartScenarioActivityDatasetImport() { | |
client.startScenarioActivityDatasetImport(StartScenarioActivityDatasetImportRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.build()); | |
Poller.pollUntilSADImportSucceeds(client, tenantId, scenarioDatasetArn); | |
} | |
@Test | |
@Order(1000) | |
public void testListScenarioActivityDatasetRecords() { | |
Optional<String> nextToken = Optional.empty(); | |
ImmutableList.Builder<Map<String, String>> resultBuilder = ImmutableList.builder(); | |
int requestCount = 0; | |
int maxRequests = 5; // Just a safe bound to exit, in case we go into infinite loop because of a bug | |
do { | |
ListScenarioActivityDatasetRecordsRequest.Builder request = | |
ListScenarioActivityDatasetRecordsRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.maxResults(5); | |
nextToken.ifPresent(request::nextToken); | |
ListScenarioActivityDatasetRecordsResponse response = | |
client.listScenarioActivityDatasetRecords(request.build()); | |
resultBuilder.addAll(response.scenarioActivityDatasetRecords()); | |
nextToken = Optional.ofNullable(response.nextToken()); | |
requestCount++; | |
} while (nextToken.isPresent() && requestCount < maxRequests); | |
List<Map<String, String>> results = resultBuilder.build(); | |
Assertions.assertEquals(2, results.size()); // 2 row | |
Map<String, String> expected1 = ImmutableMap.<String, String>builder() | |
.put("fieldText1", "Houston") | |
.put("fieldNumber1", "1969.0") | |
.put("fieldNumber2", "2.1") | |
.put("fieldDate1", "2021-05-14T00:00:00.000Z") | |
.put("fieldDate2", "2022-04-18T10:11:08.000Z") | |
.put("fieldDate3", "2022-04-18T20:11:08.000Z") | |
.put("fieldDate4", "2021-11-18T07:13:08.000Z") | |
.put("fieldDate5", "2021-02-14T23:32:08.000Z") | |
.put("fieldDate6", "2023-01-28T13:05:29.101Z") | |
.put("fieldDate7", "2022-05-28T02:50:29.101Z") | |
.put("fieldDate8", "2022-12-27T21:56:29.000Z") | |
.put("fieldDate9", "2019-09-12T13:11:07.000Z") | |
.build(); | |
Map<String, String> expected2 = ImmutableMap.<String, String>builder() | |
.put("fieldText1", "Who's that pokemon?") | |
.put("fieldNumber1", "2023.0") | |
.put("fieldNumber2", "25.0") | |
.put("fieldDate1", "1996-02-27T00:00:00.000Z") | |
.put("fieldDate2", "1996-02-27T00:00:00.000Z") | |
.put("fieldDate3", "2022-04-18T20:11:08.000Z") | |
.put("fieldDate4", "2021-11-18T07:13:08.000Z") | |
.put("fieldDate5", "2021-02-14T23:32:08.000Z") | |
.put("fieldDate6", "2023-01-28T13:05:29.101Z") | |
.put("fieldDate7", "2022-05-28T02:50:29.101Z") | |
.put("fieldDate8", "2022-12-27T21:56:29.000Z") | |
.put("fieldDate9", "2019-09-12T13:11:07.000Z") | |
.build(); | |
Assertions.assertEquals(ImmutableSet.of(expected1, expected2), ImmutableSet.builder().addAll(results).build()); | |
} | |
@Test | |
@Order(1050) | |
public void testUpdateScenarioActivityDataset() { | |
final UpdateScenarioActivityDatasetResponse updateResponse = client.updateScenarioActivityDataset( | |
UpdateScenarioActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.description("UpdatedDescription") | |
.displayName("UpdatedDisplayName") | |
.build()); | |
final ScenarioActivityDataset dataset = updateResponse.scenarioActivityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(scenarioDatasetArn, dataset.scenarioActivityDatasetArn()); | |
Assertions.assertEquals("UpdatedDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ScenarioActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.SUCCEEDED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildActivityDatasetSource(arn), dataset.dataSource()); | |
Assertions.assertEquals("UpdatedDescription", dataset.description()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildFilterCriteriaList(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
} | |
@Test | |
@Order(1100) | |
public void testGetScenarioActivityDatasetAfterImport() { | |
final GetScenarioActivityDatasetResponse response = client.getScenarioActivityDataset( | |
GetScenarioActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.build()); | |
final ScenarioActivityDataset dataset = response.scenarioActivityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(scenarioDatasetArn, dataset.scenarioActivityDatasetArn()); | |
Assertions.assertEquals("UpdatedDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ScenarioActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.SUCCEEDED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildActivityDatasetSource(arn), dataset.dataSource()); | |
Assertions.assertEquals("UpdatedDescription", dataset.description()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildFilterCriteriaList(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
} | |
@Test | |
@Order(1200) | |
public void testDeleteScenarioActivityDataset() { | |
final DeleteScenarioActivityDatasetResponse response = client.deleteScenarioActivityDataset( | |
DeleteScenarioActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.build()); | |
Assertions.assertEquals(200, response.sdkHttpResponse().statusCode()); | |
Poller.pollUntilSADDeleteSucceeds(client, tenantId, scenarioDatasetArn); | |
} | |
@Test | |
@Order(1300) | |
public void testDeleteActivityDataset() { | |
final DeleteActivityDatasetResponse response = client.deleteActivityDataset( | |
DeleteActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.build()); | |
Assertions.assertEquals(200, response.sdkHttpResponse().statusCode()); | |
Poller.pollUntilADDeleteSucceeds(client, tenantId, arn); | |
} | |
@Test | |
@Order(1400) | |
public void testCreateActivityDatasetWithoutOptionalFields() throws InterruptedException { | |
final CreateActivityDatasetResponse response = client.createActivityDataset(CreateActivityDatasetRequest | |
.builder() | |
.accountId(tenantId) | |
.clientToken(UUID.randomUUID().toString()) | |
.fileUploadUrl(uploadUrl) | |
.displayName("CuteDisplayName") | |
.schema(CreateActivityFixture.buildDataSetSchema()) | |
.build()); | |
final ActivityDataset dataset = response.activityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals("CuteDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.NOT_STARTED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSource(), dataset.dataSource()); | |
Assertions.assertNull(dataset.description()); | |
Assertions.assertEquals(ImmutableList.of(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
Assertions.assertTrue(dataset.activityDatasetArn() | |
.startsWith(String.format("arn:aws:graphite:%s:%s:activity-dataset/", region, tenantId))); | |
this.arn = dataset.activityDatasetArn(); | |
TimeUnit.SECONDS.sleep(2); | |
} | |
@Test | |
@Order(1410) | |
public void testCreateActivityDatasetWithoutOptionalFieldsWithClientTokenSameRequestReturnsSameActivityDataset() { | |
final CreateActivityDatasetRequest request = CreateActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.clientToken(UUID.randomUUID().toString()) | |
.fileUploadUrl(uploadUrl) | |
.displayName("CuteDisplayName") | |
.schema(CreateActivityFixture.buildDataSetSchema()) | |
.build(); | |
final CreateActivityDatasetResponse response = client.createActivityDataset(request); | |
final CreateActivityDatasetResponse secondResponse = client.createActivityDataset(request); | |
Assertions.assertEquals(response.activityDataset(), secondResponse.activityDataset()); | |
} | |
@Test | |
@Order(1420) | |
public void testCreateActivityDatasetWithoutOptionalFieldsWithClientTokenDifferentRequestThrowsConflictException() { | |
final CreateActivityDatasetRequest request = CreateActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.clientToken(UUID.randomUUID().toString()) | |
.fileUploadUrl(uploadUrl) | |
.displayName("CuteDisplayName") | |
.schema(CreateActivityFixture.buildDataSetSchema()) | |
.build(); | |
final CreateActivityDatasetRequest secondRequest = request.toBuilder() | |
.displayName("NotSoCuteDisplayName") | |
.build(); | |
final String activityDatasetArn = client.createActivityDataset(request).activityDataset().activityDatasetArn(); | |
ConflictException exception = Assertions.assertThrowsExactly(ConflictException.class, () -> { | |
final CreateActivityDatasetResponse response = client.createActivityDataset(secondRequest); | |
if (!activityDatasetArn.equals(response.activityDataset().activityDatasetArn())) { | |
client.deleteActivityDataset(DeleteActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(response.activityDataset().activityDatasetArn()) | |
.build()); | |
} | |
Assertions.fail("Create incorrectly succeeded: " + response.activityDataset().activityDatasetArn()); | |
}); | |
Assertions.assertEquals("clientToken re-used with different parameters", | |
exception.awsErrorDetails().errorMessage()); | |
Assertions.assertEquals("ActivityDataset", exception.resourceType()); | |
Assertions.assertNull(exception.resourceId()); | |
} | |
@Test | |
@Order(1430) | |
public void testGetActivityDatasetWithoutOptionalFieldsBeforeImport() { | |
final GetActivityDatasetResponse response = client.getActivityDataset(GetActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.build()); | |
final ActivityDataset dataset = response.activityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(arn, dataset.activityDatasetArn()); | |
Assertions.assertEquals("CuteDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.NOT_STARTED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSource(), dataset.dataSource()); | |
Assertions.assertNull(dataset.description()); | |
Assertions.assertEquals(ImmutableList.of(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
} | |
@Test | |
@Order(1440) | |
public void testStartActivityDatasetImportWithoutOptionalFields() { | |
client.startActivityDatasetImport(StartActivityDatasetImportRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.build()); | |
Poller.pollUntilADImportSucceeds(client, tenantId, arn); | |
} | |
@Test | |
@Order(1450) | |
public void testListActivityDatasetRecordsWithoutOptionalFields() { | |
Optional<String> nextToken = Optional.empty(); | |
ImmutableList.Builder<Map<String, String>> resultBuilder = ImmutableList.builder(); | |
int requestCount = 0; | |
int maxRequests = 5; // Just a safe bound to exit, in case we go into infinite loop because of a bug | |
do { | |
ListActivityDatasetRecordsRequest.Builder request = ListActivityDatasetRecordsRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.maxResults(5); | |
nextToken.ifPresent(request::nextToken); | |
ListActivityDatasetRecordsResponse response = client.listActivityDatasetRecords(request.build()); | |
resultBuilder.addAll(response.activityDatasetRecords()); | |
nextToken = Optional.ofNullable(response.nextToken()); | |
requestCount++; | |
} while (nextToken.isPresent() && requestCount < maxRequests); | |
List<Map<String, String>> results = resultBuilder.build(); | |
Assertions.assertEquals(2, results.size()); // 2 rows | |
Map<String, String> expected1 = ImmutableMap.<String, String>builder() | |
.put("fieldText1", "Houston") | |
.put("fieldNumber1", "1969.0") | |
.put("fieldNumber2", "2.1") | |
.put("fieldDate1", "2021-05-14T00:00:00.000Z") | |
.put("fieldDate2", "2022-04-18T10:11:08.000Z") | |
.put("fieldDate3", "2022-04-18T20:11:08.000Z") | |
.put("fieldDate4", "2021-11-18T07:13:08.000Z") | |
.put("fieldDate5", "2021-02-14T23:32:08.000Z") | |
.put("fieldDate6", "2023-01-28T13:05:29.101Z") | |
.put("fieldDate7", "2022-05-28T02:50:29.101Z") | |
.put("fieldDate8", "2022-12-27T21:56:29.000Z") | |
.put("fieldDate9", "2019-09-12T13:11:07.000Z") | |
.build(); | |
Map<String, String> expected2 = ImmutableMap.<String, String>builder() | |
.put("fieldText1", "Who's that pokemon?") | |
.put("fieldNumber1", "2023.0") | |
.put("fieldNumber2", "25.0") | |
.put("fieldDate1", "1996-02-27T00:00:00.000Z") | |
.put("fieldDate2", "1996-02-27T00:00:00.000Z") | |
.put("fieldDate3", "2022-04-18T20:11:08.000Z") | |
.put("fieldDate4", "2021-11-18T07:13:08.000Z") | |
.put("fieldDate5", "2021-02-14T23:32:08.000Z") | |
.put("fieldDate6", "2023-01-28T13:05:29.101Z") | |
.put("fieldDate7", "2022-05-28T02:50:29.101Z") | |
.put("fieldDate8", "2022-12-27T21:56:29.000Z") | |
.put("fieldDate9", "2019-09-12T13:11:07.000Z") | |
.build(); | |
Assertions.assertEquals(ImmutableSet.of(expected1, expected2), ImmutableSet.builder().addAll(results).build()); | |
} | |
@Test | |
@Order(1460) | |
public void testUpdateActivityDatasetWithoutOptionalFields() { | |
final UpdateActivityDatasetResponse updateResponse = client.updateActivityDataset( | |
UpdateActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.displayName("UpdatedDisplayName") | |
.build()); | |
final ActivityDataset dataset = updateResponse.activityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(arn, dataset.activityDatasetArn()); | |
Assertions.assertEquals("UpdatedDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.SUCCEEDED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSource(), dataset.dataSource()); | |
Assertions.assertNull(dataset.description()); | |
Assertions.assertEquals(ImmutableList.of(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
} | |
@Test | |
@Order(1470) | |
public void testGetActivityDatasetAfterImportWithoutOptionalFields() throws IOException { | |
final GetActivityDatasetResponse response = client.getActivityDataset(GetActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.build()); | |
final ActivityDataset dataset = response.activityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(arn, dataset.activityDatasetArn()); | |
Assertions.assertEquals("UpdatedDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.SUCCEEDED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateActivityFixture.buildDataSource(), dataset.dataSource()); | |
Assertions.assertNull(dataset.description()); | |
Assertions.assertEquals(ImmutableList.of(), dataset.filterCriteria()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
Assertions.assertNotNull(dataset.errorReportDownloadUrl()); | |
final ImmutableList<Map<String, String>> errorReportMapList = | |
CSVDownloader.download(dataset.errorReportDownloadUrl()); | |
final ImmutableList<ImmutableMap<String, String>> expectedErrorReportMapList = ImmutableList.of( | |
ImmutableMap.<String, String>builder() | |
.put("fieldDate8", "2022-12-28T08:11:29+10:15") | |
.put("fieldDate2", "2022/04/18 10:11:08 AM") | |
.put("fieldDate5", "2021/02/14 11:32:08 pm") | |
.put("fieldNumber2", "3.1409") | |
.put("fieldDate4", "2021/11/18 07:13:08 am") | |
.put("fieldDate7", "2022-05-28T13:05:29.101+10:15") | |
.put("fieldDate1", "2020-10-10") | |
.put("fieldNumber1", "91s") | |
.put("fieldDate9", "2019-09-12T13:11:07Z") | |
.put("fieldDate3", "2022/04/18 08:11:08 PM") | |
.put("fieldDate6", "2023-01-28 13:05:29.101") | |
.put("fieldText1", "Mayday") | |
.build(), | |
ImmutableMap.<String, String>builder() | |
.put("fieldDate8", "2022-12-28T08:11:29+10:15") | |
.put("fieldDate2", "2022/04/18 10:11:08 AM") | |
.put("fieldDate5", "2021/02/14 11:32:08 pm") | |
.put("fieldNumber2", "188") | |
.put("fieldDate4", "2021/11/18 07:13:08 am") | |
.put("fieldDate7", "2022-05-28T13:05:29.101+10:15") | |
.put("fieldDate1", "20201011") | |
.put("fieldNumber1", "12") | |
.put("fieldDate9", "2019-09-12T13:11:07Z") | |
.put("fieldDate3", "2022/04/18 08:11:08 PM") | |
.put("fieldDate6", "2023-01-28 13:05:29.101") | |
.put("fieldText1", "It's a feature") | |
.build()); | |
Assertions.assertEquals(expectedErrorReportMapList, errorReportMapList); | |
} | |
@Test | |
@Order(1480) | |
public void testCreateScenarioDatasetFromActivityDatasetWithoutOptionalFields() throws InterruptedException { | |
final CreateScenarioActivityDatasetResponse response = client.createScenarioActivityDataset( | |
CreateScenarioActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.clientToken(UUID.randomUUID().toString()) | |
.displayName("SuperCuteDisplayName") | |
.schema(CreateScenarioActivityFixture.buildDataSetSchema()) | |
.dataSource(ScenarioActivityDataSource.builder() | |
.activityDatasetSource(ActivityDatasetSource.builder() | |
.activityDatasetArn(arn) | |
.build()) | |
.build()) | |
.build()); | |
final ScenarioActivityDataset dataset = response.scenarioActivityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals("SuperCuteDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ScenarioActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.NOT_STARTED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildActivityDatasetSource(arn), dataset.dataSource()); | |
Assertions.assertNull(dataset.description()); | |
Assertions.assertEquals(ImmutableList.of(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
Assertions.assertTrue(dataset.scenarioActivityDatasetArn() | |
.startsWith(String.format("arn:aws:graphite:%s:%s:scenario-activity-dataset/", region, tenantId))); | |
this.scenarioDatasetArn = dataset.scenarioActivityDatasetArn(); | |
TimeUnit.SECONDS.sleep(2); | |
} | |
@Test | |
@Order(1490) | |
public void testGetScenarioActivityDatasetBeforeImportWithoutOptionalFields() { | |
final GetScenarioActivityDatasetResponse response = client.getScenarioActivityDataset( | |
GetScenarioActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.build()); | |
final ScenarioActivityDataset dataset = response.scenarioActivityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(scenarioDatasetArn, dataset.scenarioActivityDatasetArn()); | |
Assertions.assertEquals("SuperCuteDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ScenarioActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.NOT_STARTED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildActivityDatasetSource(arn), dataset.dataSource()); | |
Assertions.assertNull(dataset.description()); | |
Assertions.assertEquals(ImmutableList.of(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
} | |
@Test | |
@Order(1510) | |
public void testStartScenarioActivityDatasetImportWithoutOptionalFields() { | |
client.startScenarioActivityDatasetImport(StartScenarioActivityDatasetImportRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.build()); | |
Poller.pollUntilSADImportSucceeds(client, tenantId, scenarioDatasetArn); | |
} | |
@Test | |
@Order(1520) | |
public void testListScenarioActivityDatasetRecordsWithoutOptionalFields() { | |
Optional<String> nextToken = Optional.empty(); | |
ImmutableList.Builder<Map<String, String>> resultBuilder = ImmutableList.builder(); | |
int requestCount = 0; | |
int maxRequests = 5; // Just a safe bound to exit, in case we go into infinite loop because of a bug | |
do { | |
ListScenarioActivityDatasetRecordsRequest.Builder request = | |
ListScenarioActivityDatasetRecordsRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.maxResults(5); | |
nextToken.ifPresent(request::nextToken); | |
ListScenarioActivityDatasetRecordsResponse response = | |
client.listScenarioActivityDatasetRecords(request.build()); | |
resultBuilder.addAll(response.scenarioActivityDatasetRecords()); | |
nextToken = Optional.ofNullable(response.nextToken()); | |
requestCount++; | |
} while (nextToken.isPresent() && requestCount < maxRequests); | |
List<Map<String, String>> results = resultBuilder.build(); | |
Assertions.assertEquals(2, results.size()); // 2 row | |
Map<String, String> expected1 = ImmutableMap.<String, String>builder() | |
.put("fieldText1", "Houston") | |
.put("fieldNumber1", "1969.0") | |
.put("fieldNumber2", "2.1") | |
.put("fieldDate1", "2021-05-14T00:00:00.000Z") | |
.put("fieldDate2", "2022-04-18T10:11:08.000Z") | |
.put("fieldDate3", "2022-04-18T20:11:08.000Z") | |
.put("fieldDate4", "2021-11-18T07:13:08.000Z") | |
.put("fieldDate5", "2021-02-14T23:32:08.000Z") | |
.put("fieldDate6", "2023-01-28T13:05:29.101Z") | |
.put("fieldDate7", "2022-05-28T02:50:29.101Z") | |
.put("fieldDate8", "2022-12-27T21:56:29.000Z") | |
.put("fieldDate9", "2019-09-12T13:11:07.000Z") | |
.build(); | |
Map<String, String> expected2 = ImmutableMap.<String, String>builder() | |
.put("fieldText1", "Who's that pokemon?") | |
.put("fieldNumber1", "2023.0") | |
.put("fieldNumber2", "25.0") | |
.put("fieldDate1", "1996-02-27T00:00:00.000Z") | |
.put("fieldDate2", "1996-02-27T00:00:00.000Z") | |
.put("fieldDate3", "2022-04-18T20:11:08.000Z") | |
.put("fieldDate4", "2021-11-18T07:13:08.000Z") | |
.put("fieldDate5", "2021-02-14T23:32:08.000Z") | |
.put("fieldDate6", "2023-01-28T13:05:29.101Z") | |
.put("fieldDate7", "2022-05-28T02:50:29.101Z") | |
.put("fieldDate8", "2022-12-27T21:56:29.000Z") | |
.put("fieldDate9", "2019-09-12T13:11:07.000Z") | |
.build(); | |
Assertions.assertEquals(ImmutableSet.of(expected1, expected2), ImmutableSet.builder().addAll(results).build()); | |
} | |
@Test | |
@Order(1530) | |
public void testUpdateScenarioActivityDatasetWithoutOptionalFields() { | |
final UpdateScenarioActivityDatasetResponse updateResponse = client.updateScenarioActivityDataset( | |
UpdateScenarioActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.displayName("UpdatedDisplayName") | |
.build()); | |
final ScenarioActivityDataset dataset = updateResponse.scenarioActivityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(scenarioDatasetArn, dataset.scenarioActivityDatasetArn()); | |
Assertions.assertEquals("UpdatedDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ScenarioActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.SUCCEEDED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildActivityDatasetSource(arn), dataset.dataSource()); | |
Assertions.assertNull(dataset.description()); | |
Assertions.assertEquals(ImmutableList.of(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
} | |
@Test | |
@Order(1540) | |
public void testGetScenarioActivityDatasetAfterImportWithoutOptionalFields() { | |
final GetScenarioActivityDatasetResponse response = client.getScenarioActivityDataset( | |
GetScenarioActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.build()); | |
final ScenarioActivityDataset dataset = response.scenarioActivityDataset(); | |
Assertions.assertNotNull(dataset); | |
Assertions.assertEquals(scenarioDatasetArn, dataset.scenarioActivityDatasetArn()); | |
Assertions.assertEquals("UpdatedDisplayName", dataset.displayName()); | |
Assertions.assertEquals(ScenarioActivityDatasetStatus.CREATED, dataset.status()); | |
Assertions.assertEquals(ImportStatus.SUCCEEDED, dataset.dataImportStatus().status()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildDataSetSchema(), dataset.schema()); | |
Assertions.assertEquals(CreateScenarioActivityFixture.buildActivityDatasetSource(arn), dataset.dataSource()); | |
Assertions.assertNull(dataset.description()); | |
Assertions.assertEquals(ImmutableList.of(), dataset.filterCriteria()); | |
Assertions.assertNull(dataset.errorReportDownloadUrl()); | |
Assertions.assertNotNull(dataset.createdAt()); | |
Assertions.assertNotNull(dataset.updatedAt()); | |
} | |
@Test | |
@Order(1550) | |
public void testDeleteScenarioActivityDatasetWithoutOptionalFields() { | |
final DeleteScenarioActivityDatasetResponse response = client.deleteScenarioActivityDataset( | |
DeleteScenarioActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.scenarioActivityDatasetArn(scenarioDatasetArn) | |
.build()); | |
Assertions.assertEquals(200, response.sdkHttpResponse().statusCode()); | |
Poller.pollUntilSADDeleteSucceeds(client, tenantId, scenarioDatasetArn); | |
} | |
@Test | |
@Order(1560) | |
public void testDeleteActivityDatasetWithoutOptionalFields() { | |
final DeleteActivityDatasetResponse response = client.deleteActivityDataset( | |
DeleteActivityDatasetRequest.builder() | |
.accountId(tenantId) | |
.activityDatasetArn(arn) | |
.build()); | |
Assertions.assertEquals(200, response.sdkHttpResponse().statusCode()); | |
Poller.pollUntilADDeleteSucceeds(client, tenantId, arn); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment