public void validateParameters(Object model, int frameOffset, String... required) { String reason = localize(Messages.INCOMPLETE_PARAMS_REASON); String detail = localize(Messages.INCOMPLETE_PARAMS_DETAIL_TEMPLATE); CompletenessAssertor.validateParameters(reason, detail, model, frameOffset + 1, required); }
@Test public void testMissingListSubFields() { HostNic bond = new HostNic(); try { CompletenessAssertor.validateParameters(bond, "name", "network.id|name", "bonding.slaves.id|name"); fail("expected WebApplicationException on incomplete model"); } catch (WebApplicationException wae) { verifyIncompleteException(wae, "HostNic", "name, network.id|name, bonding.slaves.id|name"); } }
@Test public void testCompleteParametersAlternativesSecond() { Vm vm = new Vm(); vm.setName("foo"); vm.setStatus(VmStatus.UP); CompletenessAssertor.validateParameters(vm, "name", "host|status"); }
@Test public void testMissingParameter() { Vm vm = new Vm(); vm.setDescription("incomplete"); try { CompletenessAssertor.validateParameters(vm, "status"); fail("expected WebApplicationException on incomplete model"); } catch (WebApplicationException wae) { verifyIncompleteException(wae, "Vm", "status"); } }
@Test public void testMissingParameterSpecificReason() { Vm vm = new Vm(); vm.setDescription("incomplete"); try { CompletenessAssertor.validateParameters("Missing stuff", "{0} {1} required for {2}", vm, "status"); fail("expected WebApplicationException on incomplete model"); } catch (WebApplicationException wae) { verifyIncompleteException("Missing stuff", wae, "Vm", "status"); } }
@Test public void testMissingParameters() { Vm vm = new Vm(); vm.setDescription("incomplete"); try { CompletenessAssertor.validateParameters(vm, "name", "host", "status"); fail("expected WebApplicationException on incomplete model"); } catch (WebApplicationException wae) { verifyIncompleteException(wae, "Vm", "name", "host", "status"); } }
@Test public void testMissingParameterAlteratives() { Vm vm = new Vm(); vm.setDescription("incomplete"); try { CompletenessAssertor.validateParameters(vm, "status|host|name"); fail("expected WebApplicationException on incomplete model"); } catch (WebApplicationException wae) { verifyIncompleteException(wae, "Vm", "status|host|name"); } }
@Test public void testMissingSuperField() { Vm vm = new Vm(); vm.setDescription("incomplete"); try { CompletenessAssertor.validateParameters(vm, "host.id"); fail("expected WebApplicationException on incomplete model"); } catch (WebApplicationException wae) { verifyIncompleteException(wae, "Vm", "host.id"); } }
@Test public void testCompleteParametersAlternativesFirst() { Vm vm = new Vm(); vm.setName("foo"); vm.setHost(new Host()); CompletenessAssertor.validateParameters(vm, "name", "host|status"); }
@Test public void testMissingSuperFieldAlternatives() { Permission permission = new Permission(); permission.setVm(new Vm()); try { CompletenessAssertor.validateParameters(permission, "user|vm.name"); fail("expected WebApplicationException on incomplete model"); } catch (WebApplicationException wae) { verifyIncompleteException(wae, "Permission", "user|vm.name"); } }
@Test public void testCompleteSuperFieldAlternatives() { Permission permission = new Permission(); permission.setUser(new User()); permission.getUser().setName("joe"); CompletenessAssertor.validateParameters(permission, "vm|user.name"); }
@Test public void testCompleteBothAlternatives() { Permission permission = new Permission(); permission.setUser(new User()); permission.getUser().setName("joe"); CompletenessAssertor.validateParameters(permission, "vm|user.name|id"); }
@Test public void testCompleteListSubField() { User user = new User(); user.setRoles(new Roles()); user.getRoles().getRoles().add(new Role()); user.getRoles().getRoles().get(0).setId("0"); user.getRoles().getRoles().add(new Role()); user.getRoles().getRoles().get(1).setId("0"); CompletenessAssertor.validateParameters(user, "roles.id"); }
@Test public void testCompleteSubField() { Vm vm = new Vm(); vm.setHost(new Host()); vm.getHost().setId("0"); CompletenessAssertor.validateParameters(vm, "host.id"); }
@Test public void testCompleteParameters() { Vm vm = new Vm(); vm.setName("foo"); vm.setStatus(VmStatus.UP); vm.setHost(new Host()); CompletenessAssertor.validateParameters(vm, "name", "host", "status"); }
@Test public void testMissingBothAlternatives() { Permission permission = new Permission(); permission.setVm(new Vm()); try { CompletenessAssertor.validateParameters(permission, "user|vm.name|id"); fail("expected WebApplicationException on incomplete model"); } catch (WebApplicationException wae) { verifyIncompleteException(wae, "Permission", "user|vm.name|id"); } }
@Test public void testCompleteSubFieldAlternatives() { Vm vm = new Vm(); vm.setHost(new Host()); vm.getHost().setName("zog"); CompletenessAssertor.validateParameters(vm, "host.id|name"); }
@Test public void testCompleteListSubFieldAlternatives() { User user = new User(); user.setRoles(new Roles()); user.getRoles().getRoles().add(new Role()); user.getRoles().getRoles().get(0).setId("0"); user.getRoles().getRoles().add(new Role()); user.getRoles().getRoles().get(1).setName("0"); CompletenessAssertor.validateParameters(user, "roles.id|name"); }
@Test public void testMissingSubField() { Vm vm = new Vm(); vm.setDescription("incomplete"); vm.setHost(new Host()); try { CompletenessAssertor.validateParameters(vm, "host.id"); fail("expected WebApplicationException on incomplete model"); } catch (WebApplicationException wae) { verifyIncompleteException(wae, "Vm", "host.id"); } }
@Test public void testMissingSubFieldAlternatives() { Vm vm = new Vm(); vm.setDescription("incomplete"); vm.setHost(new Host()); try { CompletenessAssertor.validateParameters(vm, "host.id|name"); fail("expected WebApplicationException on incomplete model"); } catch (WebApplicationException wae) { verifyIncompleteException(wae, "Vm", "host.id|name"); } }