Search in sources :

Example 36 with Scope

use of org.opendaylight.yang.gen.v1.urn.sal.restconf.event.subscription.rev140708.CreateDataChangeEventSubscriptionInput1.Scope in project gravitee-access-management by gravitee-io.

the class MongoScopeRepository method convert.

private Scope convert(ScopeMongo scopeMongo) {
    if (scopeMongo == null) {
        return null;
    }
    Scope scope = new Scope();
    scope.setId(scopeMongo.getId());
    scope.setKey(scopeMongo.getKey());
    scope.setName(scopeMongo.getName());
    scope.setDescription(scopeMongo.getDescription());
    scope.setIconUri(scopeMongo.getIconUri());
    scope.setDomain(scopeMongo.getDomain());
    scope.setSystem(scopeMongo.isSystem());
    scope.setClaims(scopeMongo.getClaims());
    scope.setExpiresIn(scopeMongo.getExpiresIn());
    scope.setCreatedAt(scopeMongo.getCreatedAt());
    scope.setUpdatedAt(scopeMongo.getUpdatedAt());
    scope.setDiscovery(scopeMongo.isDiscovery());
    scope.setParameterized(scopeMongo.isParameterized());
    return scope;
}
Also used : Scope(io.gravitee.am.model.oauth2.Scope)

Example 37 with Scope

use of org.opendaylight.yang.gen.v1.urn.sal.restconf.event.subscription.rev140708.CreateDataChangeEventSubscriptionInput1.Scope in project gravitee-access-management by gravitee-io.

the class ScopeServiceTest method setUp.

@Before
public void setUp() {
    Scope one = new Scope();
    one.setKey("one");
    Scope two = new Scope();
    two.setKey("two");
    two.setDiscovery(true);
    when(scopeManager.findAll()).thenReturn(new HashSet<>(Arrays.asList(one, two)));
}
Also used : Scope(io.gravitee.am.model.oauth2.Scope) Before(org.junit.Before)

Example 38 with Scope

use of org.opendaylight.yang.gen.v1.urn.sal.restconf.event.subscription.rev140708.CreateDataChangeEventSubscriptionInput1.Scope in project gravitee-access-management by gravitee-io.

the class DomainServiceTest method shouldCreate.

@Test
public void shouldCreate() {
    NewDomain newDomain = Mockito.mock(NewDomain.class);
    when(newDomain.getName()).thenReturn("my-domain");
    when(environmentService.findById(ENVIRONMENT_ID)).thenReturn(Single.just(new Environment()));
    when(domainRepository.findAll()).thenReturn(Flowable.empty());
    Domain domain = new Domain();
    domain.setReferenceType(ReferenceType.ENVIRONMENT);
    domain.setReferenceId(ENVIRONMENT_ID);
    domain.setId("domain-id");
    when(domainRepository.findByHrid(ReferenceType.ENVIRONMENT, ENVIRONMENT_ID, "my-domain")).thenReturn(Maybe.empty());
    when(domainRepository.create(any(Domain.class))).thenReturn(Single.just(domain));
    when(scopeService.create(anyString(), any(NewSystemScope.class))).thenReturn(Single.just(new Scope()));
    when(certificateService.create(eq(domain.getId()))).thenReturn(Single.just(new Certificate()));
    when(eventService.create(any())).thenReturn(Single.just(new Event()));
    when(membershipService.addOrUpdate(eq(ORGANIZATION_ID), any())).thenReturn(Single.just(new Membership()));
    when(roleService.findSystemRole(SystemRole.DOMAIN_PRIMARY_OWNER, ReferenceType.DOMAIN)).thenReturn(Maybe.just(new Role()));
    doReturn(Single.just(List.of()).ignoreElement()).when(domainValidator).validate(any(), any());
    doReturn(Single.just(List.of()).ignoreElement()).when(virtualHostValidator).validateDomainVhosts(any(), any());
    TestObserver testObserver = domainService.create(ORGANIZATION_ID, ENVIRONMENT_ID, newDomain, new DefaultUser("username")).test();
    testObserver.awaitTerminalEvent();
    testObserver.assertComplete();
    testObserver.assertNoErrors();
    verify(domainRepository, times(1)).findByHrid(ReferenceType.ENVIRONMENT, ENVIRONMENT_ID, "my-domain");
    verify(domainRepository, times(1)).create(any(Domain.class));
    verify(scopeService, times(io.gravitee.am.common.oidc.Scope.values().length)).create(anyString(), any(NewSystemScope.class));
    verify(certificateService).create(eq(domain.getId()));
    verify(eventService).create(any());
    verify(membershipService).addOrUpdate(eq(ORGANIZATION_ID), any());
}
Also used : SystemRole(io.gravitee.am.model.permissions.SystemRole) DefaultUser(io.gravitee.am.identityprovider.api.DefaultUser) NewSystemScope(io.gravitee.am.service.model.NewSystemScope) Scope(io.gravitee.am.model.oauth2.Scope) NewSystemScope(io.gravitee.am.service.model.NewSystemScope) Event(io.gravitee.am.model.common.event.Event) NewDomain(io.gravitee.am.service.model.NewDomain) NewDomain(io.gravitee.am.service.model.NewDomain) PatchDomain(io.gravitee.am.service.model.PatchDomain) TestObserver(io.reactivex.observers.TestObserver) Test(org.junit.Test)

Example 39 with Scope

use of org.opendaylight.yang.gen.v1.urn.sal.restconf.event.subscription.rev140708.CreateDataChangeEventSubscriptionInput1.Scope in project gravitee-access-management by gravitee-io.

the class OpenIDScopeUpgraderTest method shouldUpdateSystemScope.

@Test
public void shouldUpdateSystemScope() {
    Scope openId = new Scope();
    openId.setId("1");
    // expect to be updated because not set as system
    openId.setSystem(false);
    openId.setKey("openid");
    Scope phone = new Scope();
    phone.setId("2");
    phone.setSystem(true);
    phone.setKey("phone");
    // expect to be updated because not same discovery value
    phone.setDiscovery(false);
    Scope email = new Scope();
    email.setId("3");
    // expect not to be updated
    email.setSystem(true);
    email.setKey("email");
    email.setDiscovery(true);
    when(scopeService.findByDomainAndKey(eq(DOMAIN_ID), anyString())).thenReturn(Maybe.empty());
    when(scopeService.findByDomainAndKey(DOMAIN_ID, "openid")).thenReturn(Maybe.just(openId));
    when(scopeService.findByDomainAndKey(DOMAIN_ID, "phone")).thenReturn(Maybe.just(phone));
    when(scopeService.findByDomainAndKey(DOMAIN_ID, "email")).thenReturn(Maybe.just(email));
    when(scopeService.create(anyString(), any(NewSystemScope.class))).thenReturn(Single.just(new Scope()));
    when(scopeService.update(anyString(), anyString(), any(UpdateSystemScope.class))).thenReturn(Single.just(new Scope()));
    assertTrue(openIDScopeUpgrader.upgrade());
    verify(scopeService, times(io.gravitee.am.common.oidc.Scope.values().length - 3)).create(anyString(), any(NewSystemScope.class));
    verify(scopeService, times(2)).update(anyString(), anyString(), any(UpdateSystemScope.class));
}
Also used : NewSystemScope(io.gravitee.am.service.model.NewSystemScope) Scope(io.gravitee.am.model.oauth2.Scope) UpdateSystemScope(io.gravitee.am.service.model.UpdateSystemScope) NewSystemScope(io.gravitee.am.service.model.NewSystemScope) UpdateSystemScope(io.gravitee.am.service.model.UpdateSystemScope) Test(org.junit.Test)

Example 40 with Scope

use of org.opendaylight.yang.gen.v1.urn.sal.restconf.event.subscription.rev140708.CreateDataChangeEventSubscriptionInput1.Scope in project gravitee-access-management by gravitee-io.

the class ScopeUpgraderTest method shouldNotCreateScopes_noClientAndNoRole.

@Test
public void shouldNotCreateScopes_noClientAndNoRole() {
    final Scope domainScope = new Scope();
    domainScope.setId("domain-scope-key");
    domainScope.setKey("domain-scope-key");
    final String domainId = "domain-id";
    final String domainName = "domain-name";
    final Domain domain = new Domain();
    domain.setId(domainId);
    domain.setName(domainName);
    when(domainService.findAll()).thenReturn(Single.just(Collections.singletonList(domain)));
    when(scopeService.findByDomain(domain.getId(), 0, Integer.MAX_VALUE)).thenReturn(Single.just(new Page<>(Collections.emptySet(), 0, 0))).thenReturn(Single.just(new Page<>(Collections.singleton(domainScope), 0, 0)));
    when(applicationService.findByDomain(domain.getId())).thenReturn(Single.just(Collections.emptySet()));
    when(roleService.findByDomain(domain.getId())).thenReturn(Single.just(Collections.emptySet()));
    scopeUpgrader.upgrade();
    verify(domainService, times(1)).findAll();
    verify(scopeService, times(1)).findByDomain(domain.getId(), 0, Integer.MAX_VALUE);
    verify(applicationService, times(1)).findByDomain(domain.getId());
    verify(roleService, times(1)).findByDomain(domain.getId());
    verify(scopeService, never()).create(any(String.class), any(NewScope.class));
}
Also used : NewScope(io.gravitee.am.service.model.NewScope) Scope(io.gravitee.am.model.oauth2.Scope) NewScope(io.gravitee.am.service.model.NewScope) Page(io.gravitee.am.model.common.Page) Domain(io.gravitee.am.model.Domain) Test(org.junit.Test)

Aggregations

Scope (io.gravitee.am.model.oauth2.Scope)63 Test (org.junit.Test)43 TestObserver (io.reactivex.observers.TestObserver)25 Event (io.gravitee.am.model.common.event.Event)16 Page (io.gravitee.am.model.common.Page)15 Domain (io.gravitee.am.model.Domain)10 NewScope (io.gravitee.am.service.model.NewScope)9 Autowired (org.springframework.beans.factory.annotation.Autowired)9 AbstractManagementTest (io.gravitee.am.repository.management.AbstractManagementTest)8 Maybe (io.reactivex.Maybe)8 Single (io.reactivex.Single)8 RandomString (io.gravitee.am.common.utils.RandomString)7 ScopeRepository (io.gravitee.am.repository.management.api.ScopeRepository)7 Completable (io.reactivex.Completable)7 JerseySpringTest (io.gravitee.am.management.handlers.management.api.JerseySpringTest)6 ApplicationOAuthSettings (io.gravitee.am.model.application.ApplicationOAuthSettings)6 Observable (io.reactivex.Observable)6 User (io.gravitee.am.identityprovider.api.User)5 ReferenceType (io.gravitee.am.model.ReferenceType)5 ApplicationScopeSettings (io.gravitee.am.model.application.ApplicationScopeSettings)5