use of io.pravega.controller.stream.api.grpc.v1.Controller.CreateScopeStatus in project pravega by pravega.
the class ControllerServiceImplTest method createStreamTests.
@Test
public void createStreamTests() {
final ScalingPolicy policy1 = ScalingPolicy.fixed(2);
final ScalingPolicy policy2 = ScalingPolicy.fixed(3);
final StreamConfiguration configuration1 = StreamConfiguration.builder().scope(SCOPE1).streamName(STREAM1).scalingPolicy(policy1).build();
final StreamConfiguration configuration2 = StreamConfiguration.builder().scope(SCOPE1).streamName(STREAM2).scalingPolicy(policy2).build();
final StreamConfiguration configuration3 = StreamConfiguration.builder().scope("SCOPE3").streamName(STREAM2).scalingPolicy(policy2).build();
CreateStreamStatus status;
// region checkStream
ResultObserver<CreateScopeStatus> result = new ResultObserver<>();
this.controllerService.createScope(ScopeInfo.newBuilder().setScope(SCOPE1).build(), result);
Assert.assertEquals(result.get().getStatus(), CreateScopeStatus.Status.SUCCESS);
ResultObserver<CreateStreamStatus> result1 = new ResultObserver<>();
this.controllerService.createStream(ModelHelper.decode(configuration1), result1);
status = result1.get();
Assert.assertEquals(status.getStatus(), CreateStreamStatus.Status.SUCCESS);
ResultObserver<CreateStreamStatus> result2 = new ResultObserver<>();
this.controllerService.createStream(ModelHelper.decode(configuration2), result2);
status = result2.get();
Assert.assertEquals(status.getStatus(), CreateStreamStatus.Status.SUCCESS);
// endregion
// region duplicate create stream
ResultObserver<CreateStreamStatus> result3 = new ResultObserver<>();
this.controllerService.createStream(ModelHelper.decode(configuration1), result3);
status = result3.get();
Assert.assertEquals(status.getStatus(), CreateStreamStatus.Status.STREAM_EXISTS);
// endregion
// create stream for non-existent scope
ResultObserver<CreateStreamStatus> result4 = new ResultObserver<>();
this.controllerService.createStream(ModelHelper.decode(configuration3), result4);
status = result4.get();
Assert.assertEquals(status.getStatus(), CreateStreamStatus.Status.SCOPE_NOT_FOUND);
// create stream with invalid stream name "abc/def"
ResultObserver<CreateStreamStatus> result5 = new ResultObserver<>();
final StreamConfiguration configuration4 = StreamConfiguration.builder().scope("SCOPE3").streamName("abc/def").scalingPolicy(policy2).build();
this.controllerService.createStream(ModelHelper.decode(configuration4), result5);
status = result5.get();
assertEquals(status.getStatus(), CreateStreamStatus.Status.INVALID_STREAM_NAME);
// Create stream with an internal stream name.
ResultObserver<CreateStreamStatus> result6 = new ResultObserver<>();
final StreamConfiguration configuration6 = StreamConfiguration.builder().scope(SCOPE1).streamName(NameUtils.getInternalNameForStream("abcdef")).scalingPolicy(policy2).build();
this.controllerService.createStream(ModelHelper.decode(configuration6), result6);
status = result6.get();
assertEquals(status.getStatus(), CreateStreamStatus.Status.SUCCESS);
}
use of io.pravega.controller.stream.api.grpc.v1.Controller.CreateScopeStatus in project pravega by pravega.
the class ControllerServiceImplTest method deleteStreamTests.
@Test
public void deleteStreamTests() {
CreateScopeStatus createScopeStatus;
CreateStreamStatus createStreamStatus;
DeleteStreamStatus deleteStreamStatus;
final StreamConfiguration configuration1 = StreamConfiguration.builder().scope(SCOPE1).streamName(STREAM1).scalingPolicy(ScalingPolicy.fixed(4)).build();
// Create a test scope.
ResultObserver<CreateScopeStatus> result1 = new ResultObserver<>();
this.controllerService.createScope(ModelHelper.createScopeInfo(SCOPE1), result1);
createScopeStatus = result1.get();
assertEquals("Create Scope", CreateScopeStatus.Status.SUCCESS, createScopeStatus.getStatus());
// Try deleting a non-existent stream.
ResultObserver<DeleteStreamStatus> result2 = new ResultObserver<>();
this.controllerService.deleteStream(ModelHelper.createStreamInfo(SCOPE3, "dummyStream"), result2);
deleteStreamStatus = result2.get();
assertEquals("Delete Non-existent stream", DeleteStreamStatus.Status.STREAM_NOT_FOUND, deleteStreamStatus.getStatus());
// Try deleting a non-existent stream.
ResultObserver<DeleteStreamStatus> result3 = new ResultObserver<>();
this.controllerService.deleteStream(ModelHelper.createStreamInfo("dummyScope", "dummyStream"), result3);
deleteStreamStatus = result3.get();
assertEquals("Delete Non-existent stream", DeleteStreamStatus.Status.STREAM_NOT_FOUND, deleteStreamStatus.getStatus());
// Create a test stream.
ResultObserver<CreateStreamStatus> result4 = new ResultObserver<>();
this.controllerService.createStream(ModelHelper.decode(configuration1), result4);
createStreamStatus = result4.get();
Assert.assertEquals("Create stream", CreateStreamStatus.Status.SUCCESS, createStreamStatus.getStatus());
// Try deleting the test stream without sealing it first.
ResultObserver<DeleteStreamStatus> result5 = new ResultObserver<>();
this.controllerService.deleteStream(ModelHelper.createStreamInfo(SCOPE1, STREAM1), result5);
deleteStreamStatus = result5.get();
assertEquals("Delete non-sealed stream", DeleteStreamStatus.Status.STREAM_NOT_SEALED, deleteStreamStatus.getStatus());
// Seal the test stream.
ResultObserver<UpdateStreamStatus> result6 = new ResultObserver<>();
this.controllerService.sealStream(ModelHelper.createStreamInfo(SCOPE1, STREAM1), result6);
UpdateStreamStatus updateStreamStatus = result6.get();
assertEquals("Seal stream", UpdateStreamStatus.Status.SUCCESS, updateStreamStatus.getStatus());
// Delete the sealed stream.
ResultObserver<DeleteStreamStatus> result7 = new ResultObserver<>();
this.controllerService.deleteStream(ModelHelper.createStreamInfo(SCOPE1, STREAM1), result7);
deleteStreamStatus = result7.get();
assertEquals("Delete sealed stream", DeleteStreamStatus.Status.SUCCESS, deleteStreamStatus.getStatus());
}
use of io.pravega.controller.stream.api.grpc.v1.Controller.CreateScopeStatus in project pravega by pravega.
the class ControllerServiceImplTest method createScopeTests.
@Test
public void createScopeTests() {
CreateScopeStatus status;
// region createScope
ResultObserver<CreateScopeStatus> result1 = new ResultObserver<>();
this.controllerService.createScope(ModelHelper.createScopeInfo(SCOPE1), result1);
status = result1.get();
assertEquals(status.getStatus(), CreateScopeStatus.Status.SUCCESS);
ResultObserver<CreateScopeStatus> result2 = new ResultObserver<>();
this.controllerService.createScope(ModelHelper.createScopeInfo(SCOPE2), result2);
status = result2.get();
assertEquals(status.getStatus(), CreateScopeStatus.Status.SUCCESS);
// endregion
// region duplicate create scope
ResultObserver<CreateScopeStatus> result3 = new ResultObserver<>();
this.controllerService.createScope(ModelHelper.createScopeInfo(SCOPE2), result3);
status = result3.get();
assertEquals(status.getStatus(), CreateScopeStatus.Status.SCOPE_EXISTS);
// endregion
// region with invalid scope with name "abc/def'
ResultObserver<CreateScopeStatus> result4 = new ResultObserver<>();
this.controllerService.createScope(ModelHelper.createScopeInfo("abc/def"), result4);
status = result4.get();
assertEquals(status.getStatus(), CreateScopeStatus.Status.INVALID_SCOPE_NAME);
// endregion
}
use of io.pravega.controller.stream.api.grpc.v1.Controller.CreateScopeStatus in project pravega by pravega.
the class ControllerServiceImplTest method deleteScopeTests.
@Test
public void deleteScopeTests() {
CreateScopeStatus createScopeStatus;
DeleteScopeStatus deleteScopeStatus;
CreateStreamStatus createStreamStatus;
// Delete empty scope (containing no streams) SCOPE3
ResultObserver<CreateScopeStatus> result1 = new ResultObserver<>();
this.controllerService.createScope(ModelHelper.createScopeInfo(SCOPE3), result1);
createScopeStatus = result1.get();
assertEquals("Create Scope", CreateScopeStatus.Status.SUCCESS, createScopeStatus.getStatus());
ResultObserver<DeleteScopeStatus> result2 = new ResultObserver<>();
this.controllerService.deleteScope(ModelHelper.createScopeInfo(SCOPE3), result2);
deleteScopeStatus = result2.get();
assertEquals("Delete Empty scope", DeleteScopeStatus.Status.SUCCESS, deleteScopeStatus.getStatus());
// To verify that SCOPE3 is infact deleted in above delete call
ResultObserver<DeleteScopeStatus> result7 = new ResultObserver<>();
this.controllerService.deleteScope(ModelHelper.createScopeInfo(SCOPE3), result7);
deleteScopeStatus = result7.get();
assertEquals("Verify that Scope3 is infact deleted", DeleteScopeStatus.Status.SCOPE_NOT_FOUND, deleteScopeStatus.getStatus());
// Delete Non-empty Scope SCOPE2
ResultObserver<CreateScopeStatus> result3 = new ResultObserver<>();
this.controllerService.createScope(ModelHelper.createScopeInfo(SCOPE2), result3);
createScopeStatus = result3.get();
assertEquals("Create Scope", CreateScopeStatus.Status.SUCCESS, createScopeStatus.getStatus());
final ScalingPolicy policy1 = ScalingPolicy.fixed(2);
final StreamConfiguration configuration1 = StreamConfiguration.builder().scope(SCOPE2).streamName(STREAM1).scalingPolicy(policy1).build();
ResultObserver<CreateStreamStatus> result4 = new ResultObserver<>();
this.controllerService.createStream(ModelHelper.decode(configuration1), result4);
createStreamStatus = result4.get();
assertEquals(createStreamStatus.getStatus(), CreateStreamStatus.Status.SUCCESS);
ResultObserver<DeleteScopeStatus> result5 = new ResultObserver<>();
this.controllerService.deleteScope(ModelHelper.createScopeInfo(SCOPE2), result5);
deleteScopeStatus = result5.get();
assertEquals("Delete non empty scope", DeleteScopeStatus.Status.SCOPE_NOT_EMPTY, deleteScopeStatus.getStatus());
// Delete Non-existent scope SCOPE3
ResultObserver<DeleteScopeStatus> result6 = new ResultObserver<>();
this.controllerService.deleteScope(ModelHelper.createScopeInfo("SCOPE3"), result6);
deleteScopeStatus = result6.get();
assertEquals("Delete non existent scope", DeleteScopeStatus.Status.SCOPE_NOT_FOUND, deleteScopeStatus.getStatus());
}
Aggregations