use of io.pravega.controller.server.security.auth.GrpcAuthHelper in project pravega by pravega.
the class InMemoryControllerServiceImplTest method supplierCreatesTokenWithReadForInternalStreamsWhenRequestedIsSame.
@Test
public void supplierCreatesTokenWithReadForInternalStreamsWhenRequestedIsSame() {
GrpcAuthHelper mockAuthHelper = spy(new GrpcAuthHelper(true, "tokenSigningKey", 600));
ControllerServiceImpl objectUnderTest = new ControllerServiceImpl(null, mockAuthHelper, requestTracker, true, true, 200);
String streamResource = new AuthorizationResourceImpl().ofStreamInScope("testScope", "_testStream");
Controller.StreamInfo request = createStreamInfoProtobufMessage("testScope", "_testStream", AccessOperation.READ);
doReturn("").when(mockAuthHelper).checkAuthorization(streamResource, AuthHandler.Permissions.READ);
doReturn("dummy.delegation.token").when(mockAuthHelper).createDelegationToken(streamResource, AuthHandler.Permissions.READ);
assertEquals("dummy.delegation.token", objectUnderTest.delegationTokenSupplier(request).get());
}
use of io.pravega.controller.server.security.auth.GrpcAuthHelper in project pravega by pravega.
the class InMemoryControllerServiceImplTest method supplierCreatesTokenWithRequestedReadPermission.
@Test
public void supplierCreatesTokenWithRequestedReadPermission() {
GrpcAuthHelper mockAuthHelper = spy(new GrpcAuthHelper(true, "tokenSigningKey", 600));
ControllerServiceImpl objectUnderTest = new ControllerServiceImpl(null, mockAuthHelper, requestTracker, true, true, 200);
String streamResource = new AuthorizationResourceImpl().ofStreamInScope("testScope", "testStream");
Controller.StreamInfo request = createStreamInfoProtobufMessage("testScope", "testStream", AccessOperation.READ);
doReturn("").when(mockAuthHelper).checkAuthorization(streamResource, AuthHandler.Permissions.READ);
doReturn("dummy.delegation.token").when(mockAuthHelper).createDelegationToken(streamResource, AuthHandler.Permissions.READ);
assertEquals("dummy.delegation.token", objectUnderTest.delegationTokenSupplier(request).get());
}
use of io.pravega.controller.server.security.auth.GrpcAuthHelper in project pravega by pravega.
the class InMemoryControllerServiceImplTest method supplierCreatesTokenWithReadWritePermissionByDefault.
@Test
public void supplierCreatesTokenWithReadWritePermissionByDefault() {
GrpcAuthHelper mockAuthHelper = spy(new GrpcAuthHelper(true, "tokenSigningKey", 600));
ControllerServiceImpl objectUnderTest = new ControllerServiceImpl(null, mockAuthHelper, requestTracker, true, true, 200);
String streamResource = new AuthorizationResourceImpl().ofStreamInScope("testScope", "testStream");
Controller.StreamInfo request = createStreamInfoProtobufMessage("testScope", "testStream", null);
doReturn("").when(mockAuthHelper).checkAuthorization(streamResource, AuthHandler.Permissions.READ_UPDATE);
doReturn("dummy.delegation.token").when(mockAuthHelper).createDelegationToken(streamResource, AuthHandler.Permissions.READ_UPDATE);
assertEquals("dummy.delegation.token", objectUnderTest.delegationTokenSupplier(request).get());
}
use of io.pravega.controller.server.security.auth.GrpcAuthHelper in project pravega by pravega.
the class InMemoryControllerServiceImplTest method supplierForMarkStreams.
@Test
public void supplierForMarkStreams() {
GrpcAuthHelper mockAuthHelper = spy(new GrpcAuthHelper(true, "tokenSigningKey", 600));
ControllerServiceImpl objectUnderTest = new ControllerServiceImpl(null, mockAuthHelper, requestTracker, true, true, 200);
AuthorizationResource authResource = new AuthorizationResourceImpl();
String markStreamResource = authResource.ofStreamInScope("testScope", "_MARKtestStream");
String streamResource = authResource.ofStreamInScope("testScope", "testStream");
Controller.StreamInfo readRequest = createStreamInfoProtobufMessage("testScope", "_MARKtestStream", AccessOperation.READ);
Controller.StreamInfo writeRequest = createStreamInfoProtobufMessage("testScope", "_MARKtestStream", AccessOperation.READ_WRITE);
// For mark streams, authorization is done against the corresponding stream
doReturn("").when(mockAuthHelper).checkAuthorization(streamResource, AuthHandler.Permissions.READ);
doReturn("").when(mockAuthHelper).checkAuthorization(streamResource, AuthHandler.Permissions.READ_UPDATE);
doReturn("dummy.delegation.token").when(mockAuthHelper).createDelegationToken(markStreamResource, AuthHandler.Permissions.READ);
doReturn("dummy.delegation.token").when(mockAuthHelper).createDelegationToken(markStreamResource, AuthHandler.Permissions.READ_UPDATE);
assertEquals("dummy.delegation.token", objectUnderTest.delegationTokenSupplier(readRequest).get());
assertEquals("dummy.delegation.token", objectUnderTest.delegationTokenSupplier(writeRequest).get());
}
use of io.pravega.controller.server.security.auth.GrpcAuthHelper in project pravega by pravega.
the class PravegaTablesScopeTest method testDeleteScopeRecursive.
@Test
public void testDeleteScopeRecursive() {
GrpcAuthHelper authHelper = mock(GrpcAuthHelper.class);
when(authHelper.retrieveMasterToken()).thenReturn("");
SegmentHelper segmentHelper = mock(SegmentHelper.class);
PravegaTablesStoreHelper storeHelper = new PravegaTablesStoreHelper(segmentHelper, authHelper, executorService());
PravegaTablesScope tablesScope = spy(new PravegaTablesScope(scope, storeHelper));
tablesScope.deleteScopeRecursive(context);
verify(tablesScope, times(1)).getStreamsInScopeTableName(true, context);
verify(tablesScope, times(1)).getReaderGroupsInScopeTableName(context);
verify(tablesScope, times(1)).getKVTablesInScopeTableName(context);
verify(tablesScope, times(1)).getAllStreamTagsInScopeTableNames(context);
tablesScope.sealScope(scope, context);
verify(tablesScope, times(5)).getId(context);
}
Aggregations