use of io.gravitee.am.model.Environment in project gravitee-access-management by gravitee-io.
the class EnvironmentServiceTest method shouldFindAll.
@Test
public void shouldFindAll() {
Environment environment = new Environment();
when(environmentRepository.findAll(ORGANIZATION_ID)).thenReturn(Flowable.just(environment));
TestSubscriber<Environment> obs = cut.findAll(ORGANIZATION_ID).test();
obs.awaitTerminalEvent();
obs.assertComplete();
obs.assertValue(environment);
}
use of io.gravitee.am.model.Environment in project gravitee-access-management by gravitee-io.
the class EnvironmentServiceTest method shouldCreateDefault_EnvironmentsAlreadyExists.
@Test
public void shouldCreateDefault_EnvironmentsAlreadyExists() {
Environment defaultEnvironment = new Environment();
defaultEnvironment.setId("DEFAULT");
when(environmentRepository.count()).thenReturn(Single.just(1L));
TestObserver<Environment> obs = cut.createDefault().test();
obs.awaitTerminalEvent();
obs.assertComplete();
obs.assertNoValues();
verify(environmentRepository, times(1)).count();
verifyNoMoreInteractions(environmentRepository);
verifyZeroInteractions(auditService);
}
use of io.gravitee.am.model.Environment in project gravitee-access-management by gravitee-io.
the class EnvironmentServiceTest method shouldCreate_updateError.
@Test
public void shouldCreate_updateError() {
Environment existingEnvironment = new Environment();
existingEnvironment.setId(ENVIRONMENT_ID);
existingEnvironment.setOrganizationId(ORGANIZATION_ID);
when(environmentRepository.findById(ENVIRONMENT_ID, ORGANIZATION_ID)).thenReturn(Maybe.just(existingEnvironment));
when(environmentRepository.update(argThat(environment -> environment.getId().equals(ENVIRONMENT_ID)))).thenReturn(Single.error(new TechnicalManagementException()));
NewEnvironment newEnvironment = new NewEnvironment();
newEnvironment.setName("TestName");
newEnvironment.setDescription("TestDescription");
newEnvironment.setDomainRestrictions(Collections.singletonList("TestDomainRestriction"));
DefaultUser createdBy = new DefaultUser("test");
createdBy.setId(USER_ID);
TestObserver<Environment> obs = cut.createOrUpdate(ORGANIZATION_ID, ENVIRONMENT_ID, newEnvironment, createdBy).test();
obs.awaitTerminalEvent();
obs.assertError(TechnicalManagementException.class);
verify(auditService, times(1)).report(argThat(builder -> {
Audit audit = builder.build(new ObjectMapper());
assertEquals(ReferenceType.ORGANIZATION, audit.getReferenceType());
assertEquals(ORGANIZATION_ID, audit.getReferenceId());
assertEquals(createdBy.getId(), audit.getActor().getId());
assertEquals(EventType.ENVIRONMENT_UPDATED, audit.getType());
assertEquals(Status.FAILURE, audit.getOutcome().getStatus());
return true;
}));
}
use of io.gravitee.am.model.Environment in project gravitee-access-management by gravitee-io.
the class EnvironmentServiceTest method shouldCreate.
@Test
public void shouldCreate() {
Organization organization = new Organization();
organization.setId(ORGANIZATION_ID);
when(environmentRepository.findById(ENVIRONMENT_ID, ORGANIZATION_ID)).thenReturn(Maybe.empty());
when(organizationService.findById(ORGANIZATION_ID)).thenReturn(Single.just(organization));
when(environmentRepository.create(argThat(environment -> environment.getId().equals(ENVIRONMENT_ID)))).thenAnswer(i -> Single.just(i.getArgument(0)));
NewEnvironment newEnvironment = new NewEnvironment();
newEnvironment.setName("TestName");
newEnvironment.setDescription("TestDescription");
newEnvironment.setDomainRestrictions(Collections.singletonList("TestDomainRestriction"));
newEnvironment.setHrids(Collections.singletonList("testEnvHRID"));
DefaultUser createdBy = new DefaultUser("test");
createdBy.setId(USER_ID);
TestObserver<Environment> obs = cut.createOrUpdate(ORGANIZATION_ID, ENVIRONMENT_ID, newEnvironment, createdBy).test();
obs.awaitTerminalEvent();
obs.assertValue(environment -> {
assertEquals(ORGANIZATION_ID, environment.getOrganizationId());
assertEquals(newEnvironment.getName(), environment.getName());
assertEquals(newEnvironment.getDescription(), environment.getDescription());
assertEquals(newEnvironment.getDomainRestrictions(), environment.getDomainRestrictions());
assertEquals(newEnvironment.getHrids(), environment.getHrids());
return true;
});
verify(auditService, times(1)).report(argThat(builder -> {
Audit audit = builder.build(new ObjectMapper());
assertEquals(ReferenceType.ORGANIZATION, audit.getReferenceType());
assertEquals(ORGANIZATION_ID, audit.getReferenceId());
assertEquals(createdBy.getId(), audit.getActor().getId());
assertEquals(EventType.ENVIRONMENT_CREATED, audit.getType());
assertEquals(Status.SUCCESS, audit.getOutcome().getStatus());
return true;
}));
}
use of io.gravitee.am.model.Environment in project gravitee-access-management by gravitee-io.
the class EnvironmentRepositoryTest method testFindAllByReference.
@Test
public void testFindAllByReference() {
final int loop = 10;
for (int i = 0; i < loop; i++) {
final Environment environment = buildEnv();
environment.setOrganizationId(FIXED_REF_ID);
environmentRepository.create(environment).blockingGet();
}
for (int i = 0; i < loop; i++) {
// random ref id
environmentRepository.create(buildEnv()).blockingGet();
}
TestObserver<List<Environment>> testObserver = environmentRepository.findAll(FIXED_REF_ID).toList().test();
testObserver.awaitTerminalEvent();
testObserver.assertNoErrors();
testObserver.assertValue(l -> l.size() == loop);
testObserver.assertValue(l -> l.stream().map(Environment::getId).distinct().count() == loop);
}
Aggregations