@Test public void testIsValidShouldReturnTrueWhenStatusIsUpdated() { UpdateStackJson updateStackJson = new UpdateStackJson(); updateStackJson.setInstanceGroupAdjustment(null); updateStackJson.setStatus(StatusRequest.STARTED); boolean valid = underTest.isValid(updateStackJson, constraintValidatorContext); assertTrue(valid); }
@Test public void testIsValidShouldReturnFalseWhenRequestContainsOnlyNulls() { UpdateStackJson updateStackJson = new UpdateStackJson(); updateStackJson.setInstanceGroupAdjustment(null); updateStackJson.setStatus(null); boolean valid = underTest.isValid(updateStackJson, constraintValidatorContext); assertFalse(valid); }
@Test public void testIsValidShouldReturnFalseWhenRequestContainsNodeCountAndStatus() { UpdateStackJson updateStackJson = new UpdateStackJson(); InstanceGroupAdjustmentJson instanceGroupAdjustmentJson = new InstanceGroupAdjustmentJson(); instanceGroupAdjustmentJson.setScalingAdjustment(4); instanceGroupAdjustmentJson.setInstanceGroup("slave_1"); updateStackJson.setStatus(StatusRequest.STARTED); updateStackJson.setInstanceGroupAdjustment(instanceGroupAdjustmentJson); boolean valid = underTest.isValid(updateStackJson, constraintValidatorContext); assertFalse(valid); }
@Test public void testIsValidShouldReturnTrueWhenNodeCountIsUpdated() { UpdateStackJson updateStackJson = new UpdateStackJson(); InstanceGroupAdjustmentJson instanceGroupAdjustmentJson = new InstanceGroupAdjustmentJson(); instanceGroupAdjustmentJson.setScalingAdjustment(12); instanceGroupAdjustmentJson.setInstanceGroup("slave_1"); updateStackJson.setInstanceGroupAdjustment(instanceGroupAdjustmentJson); updateStackJson.setStatus(null); boolean valid = underTest.isValid(updateStackJson, constraintValidatorContext); assertTrue(valid); }
@Test public void testInValidShouldReturnTrueWhenNodeCountIsLowerThanOneUpdatedAndWithClusterEvent() { UpdateStackJson updateStackJson = new UpdateStackJson(); InstanceGroupAdjustmentJson instanceGroupAdjustmentJson = new InstanceGroupAdjustmentJson(); instanceGroupAdjustmentJson.setScalingAdjustment(-1); instanceGroupAdjustmentJson.setWithClusterEvent(true); instanceGroupAdjustmentJson.setInstanceGroup("slave_1"); updateStackJson.setInstanceGroupAdjustment(instanceGroupAdjustmentJson); updateStackJson.setStatus(null); boolean valid = underTest.isValid(updateStackJson, constraintValidatorContext); assertFalse(valid); }
@ApiOperation( value = StackOpDescription.PUT_BY_ID, produces = ContentType.JSON, notes = Notes.STACK_NOTES) @RequestMapping(value = "stacks/{id}", method = RequestMethod.PUT) @ResponseBody public ResponseEntity<String> updateStack( @ModelAttribute("user") CbUser user, @PathVariable Long id, @Valid @RequestBody UpdateStackJson updateRequest) { MDCBuilder.buildUserMdcContext(user); if (updateRequest.getStatus() != null) { stackService.updateStatus(id, updateRequest.getStatus()); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } else { Integer scalingAdjustment = updateRequest.getInstanceGroupAdjustment().getScalingAdjustment(); validateAccountPreferences(id, scalingAdjustment); stackService.updateNodeCount(id, updateRequest.getInstanceGroupAdjustment()); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } }