Search in sources :

Example 26 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 shouldNotCreate_technicalException.

@Test
public void shouldNotCreate_technicalException() {
    NewScope newScope = Mockito.mock(NewScope.class);
    when(newScope.getKey()).thenReturn("my-scope");
    when(scopeRepository.findByDomainAndKey(DOMAIN, "my-scope")).thenReturn(Maybe.error(TechnicalException::new));
    TestObserver testObserver = new TestObserver();
    scopeService.create(DOMAIN, newScope).subscribe(testObserver);
    testObserver.assertError(TechnicalManagementException.class);
    testObserver.assertNotComplete();
    verify(scopeRepository, never()).create(any(Scope.class));
}
Also used : Scope(io.gravitee.am.model.oauth2.Scope) TestObserver(io.reactivex.observers.TestObserver) Test(org.junit.Test)

Example 27 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 shouldCreate_keyUpperCase.

@Test
public void shouldCreate_keyUpperCase() {
    NewScope newScope = Mockito.mock(NewScope.class);
    when(newScope.getKey()).thenReturn("MY-SCOPE");
    when(scopeRepository.findByDomainAndKey(DOMAIN, "MY-SCOPE")).thenReturn(Maybe.empty());
    when(scopeRepository.create(any(Scope.class))).thenReturn(Single.just(new Scope()));
    when(eventService.create(any())).thenReturn(Single.just(new Event()));
    TestObserver testObserver = scopeService.create(DOMAIN, newScope).test();
    testObserver.awaitTerminalEvent();
    testObserver.assertComplete();
    testObserver.assertNoErrors();
    verify(scopeRepository, times(1)).create(any(Scope.class));
    verify(scopeRepository, times(1)).create(argThat(new ArgumentMatcher<Scope>() {

        @Override
        public boolean matches(Scope scope) {
            return scope.getKey().equals("MY-SCOPE");
        }
    }));
    verify(eventService, times(1)).create(any());
}
Also used : Scope(io.gravitee.am.model.oauth2.Scope) Event(io.gravitee.am.model.common.event.Event) TestObserver(io.reactivex.observers.TestObserver) Test(org.junit.Test)

Example 28 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 shouldNotPatch_scopeNotFound.

@Test
public void shouldNotPatch_scopeNotFound() {
    PatchScope patchScope = new PatchScope();
    when(scopeRepository.findById("my-scope")).thenReturn(Maybe.empty());
    TestObserver testObserver = new TestObserver();
    scopeService.patch(DOMAIN, "my-scope", patchScope).subscribe(testObserver);
    testObserver.assertError(ScopeNotFoundException.class);
    testObserver.assertNotComplete();
    verify(scopeRepository, times(1)).findById("my-scope");
    verify(scopeRepository, never()).update(any(Scope.class));
}
Also used : Scope(io.gravitee.am.model.oauth2.Scope) TestObserver(io.reactivex.observers.TestObserver) Test(org.junit.Test)

Example 29 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 ResourceServiceTest method setUp.

@Before
public void setUp() {
    when(repository.findByDomainAndClientAndUser(DOMAIN_ID, CLIENT_ID, USER_ID)).thenReturn(Flowable.just(new Resource().setId(RESOURCE_ID)));
    when(repository.findByDomainAndClientAndUserAndResource(DOMAIN_ID, CLIENT_ID, USER_ID, RESOURCE_ID)).thenReturn(Maybe.just(new Resource().setId(RESOURCE_ID)));
    when(scopeService.findByDomainAndKeys(DOMAIN_ID, Arrays.asList("scope"))).thenReturn(Single.just(Arrays.asList(new Scope("scope"))));
}
Also used : Scope(io.gravitee.am.model.oauth2.Scope) Resource(io.gravitee.am.model.uma.Resource) NewResource(io.gravitee.am.service.model.NewResource) Before(org.junit.Before)

Example 30 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 UserConsentEndpoint method handle.

@Override
public void handle(RoutingContext routingContext) {
    final Client client = routingContext.get(ConstantKeys.CLIENT_CONTEXT_KEY);
    final io.gravitee.am.model.User user = routingContext.user() != null ? ((User) routingContext.user().getDelegate()).getUser() : null;
    final String action = UriBuilderRequest.resolveProxyRequest(routingContext.request(), routingContext.request().uri());
    final AuthorizationRequest authorizationRequest = routingContext.get(ConstantKeys.AUTHORIZATION_REQUEST_CONTEXT_KEY);
    final boolean prompt = authorizationRequest.getPrompts().contains("consent");
    // fetch scope information (name + description)
    fetchConsentInformation(authorizationRequest.getScopes(), prompt, client, user, h -> {
        if (h.failed()) {
            routingContext.fail(h.cause());
            return;
        }
        List<Scope> requestedScopes = h.result();
        routingContext.put(ConstantKeys.SCOPES_CONTEXT_KEY, requestedScopes);
        routingContext.put(ConstantKeys.ACTION_KEY, action);
        engine.render(generateData(routingContext, domain, client), getTemplateFileName(client), res -> {
            if (res.succeeded()) {
                routingContext.response().putHeader(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_HTML);
                routingContext.response().end(res.result());
            } else {
                logger.error("Unable to render user consent page", res.cause());
                routingContext.fail(res.cause());
            }
        });
    });
}
Also used : AuthorizationRequest(io.gravitee.am.gateway.handler.oauth2.service.request.AuthorizationRequest) Scope(io.gravitee.am.model.oauth2.Scope) Client(io.gravitee.am.model.oidc.Client)

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