@Test( dataProvider = "InvalidStageTransitions", expectedExceptions = IllegalStateException.class) public void testInvalidStageTransition( TaskState.TaskStage startStage, TaskState.TaskStage patchStage) throws Throwable { startService(startStage); CreateContainerSpecTaskService.State patchState = createContainerSpecTaskService.buildPatch(patchStage, null); Operation patchOperation = Operation.createPatch(UriUtils.buildUri(testHost, TestHost.SERVICE_URI, null)) .setBody(patchState); testHost.sendRequestAndWait(patchOperation); }
@Test( dataProvider = "InvalidPatchStateAttributes", expectedExceptions = IllegalStateException.class) public void testInvalidPatchStateInvalidAttributeSet(String attributeName, Object value) throws Throwable { startService(TaskState.TaskStage.CREATED); CreateContainerSpecTaskService.State patchState = createContainerSpecTaskService.buildPatch(TaskState.TaskStage.STARTED, null); patchState.getClass().getDeclaredField(attributeName).set(patchState, value); Operation patchOperation = Operation.createPatch(UriUtils.buildUri(testHost, TestHost.SERVICE_URI, null)) .setBody(patchState); testHost.sendRequestAndWait(patchOperation); }
@Test(dataProvider = "ValidStageTransitions") public void testValidStageTransition( TaskState.TaskStage startStage, TaskState.TaskStage patchStage) throws Throwable { startService(startStage); CreateContainerSpecTaskService.State patchState = createContainerSpecTaskService.buildPatch(patchStage, null); Operation patchOperation = Operation.createPatch(UriUtils.buildUri(testHost, TestHost.SERVICE_URI, null)) .setBody(patchState); Operation result = testHost.sendRequestAndWait(patchOperation); assertThat(result.getStatusCode(), is(200)); CreateContainerSpecTaskService.State savedState = testHost.getServiceState(CreateContainerSpecTaskService.State.class); assertThat(savedState.taskState.stage, is(patchStage)); }