in genie-client/src/integTest/java/com/netflix/genie/client/ApplicationClientIntegrationTest.java [69:181]
void testGetApplicationsUsingParams() throws Exception {
final String application1Id = UUID.randomUUID().toString();
final String application2Id = UUID.randomUUID().toString();
final Set<String> application1Tags = Sets.newHashSet("foo", "pi");
final Set<String> application2Tags = Sets.newHashSet("bar", "pi");
final Application application1 = new Application.Builder(
"application1name",
"application1user",
"1.0",
ApplicationStatus.ACTIVE
)
.withId(application1Id)
.withTags(application1Tags)
.build();
final Application application2 =
new Application.Builder(
"application2name",
"application2user",
"2.0",
ApplicationStatus.INACTIVE
)
.withId(application2Id)
.withTags(application2Tags)
.build();
this.applicationClient.createApplication(application1);
this.applicationClient.createApplication(application2);
// Test get by tags
List<Application> applicationList = this.applicationClient.getApplications(
null,
null,
null,
Lists.newArrayList("foo"),
null
);
Assertions
.assertThat(applicationList)
.hasSize(1)
.extracting(Application::getId)
.filteredOn(Optional::isPresent)
.extracting(Optional::get)
.containsExactly(application1Id);
applicationList = this.applicationClient.getApplications(
null,
null,
null,
Lists.newArrayList("pi"),
null
);
Assertions
.assertThat(applicationList)
.hasSize(2)
.extracting(Application::getId)
.filteredOn(Optional::isPresent)
.extracting(Optional::get)
.containsExactly(application2Id, application1Id);
// Test get by name
applicationList = this.applicationClient.getApplications(
"application1name",
null,
null,
null,
null
);
Assertions
.assertThat(applicationList)
.hasSize(1)
.extracting(Application::getId)
.filteredOn(Optional::isPresent)
.extracting(Optional::get)
.containsExactly(application1Id);
// Test get by status
applicationList = this.applicationClient.getApplications(
null,
null,
Lists.newArrayList(ApplicationStatus.ACTIVE.toString()),
null,
null
);
Assertions
.assertThat(applicationList)
.hasSize(1)
.extracting(Application::getId)
.filteredOn(Optional::isPresent)
.extracting(Optional::get)
.containsExactly(application1Id);
applicationList = this.applicationClient.getApplications(
null,
null,
Arrays.asList(ApplicationStatus.ACTIVE.toString(), ApplicationStatus.INACTIVE.toString()),
null,
null
);
Assertions
.assertThat(applicationList)
.hasSize(2)
.extracting(Application::getId)
.filteredOn(Optional::isPresent)
.extracting(Optional::get)
.containsExactlyInAnyOrder(application1Id, application2Id);
}