package org.openstack.atlas.api.mgmt.validation.validators; import org.openstack.atlas.docs.loadbalancers.api.management.v1.Host; import org.openstack.atlas.docs.loadbalancers.api.management.v1.Hosts; import org.openstack.atlas.api.mgmt.helpers.StubFactory; import org.openstack.atlas.api.mgmt.validation.validators.HostsValidator; import org.openstack.atlas.api.validation.results.ValidatorResult; import org.junit.Before; import org.junit.Test; import java.util.Random; import static org.openstack.atlas.api.helpers.ResultMessage.resultMessage; import static org.openstack.atlas.api.mgmt.validation.contexts.HostContext.PUT; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class HostsValidatorTest { private HostsValidator hv; private Hosts hs; private Host h; private ValidatorResult res; private static Random rnd = new Random(); @Before public void setUp() { h = StubFactory.rndHostPut(); hv = new HostsValidator(); hs = new Hosts(); } @Test public void shouldRejectEmptyHostsListOnPut() { res = hv.validate(hs,PUT); assertFalse(resultMessage(res,PUT),res.passedValidation()); } @Test public void shouldAcceptSingleHostOnPut() { h = new Host(); h.setName("Blah"); hs.getHosts().add(h); res = hv.validate(hs,PUT); assertTrue(resultMessage(res,PUT),res.passedValidation()); } @Test public void shouldAcceptMultiHostPut() { hs.getHosts().add(StubFactory.rndHostPut()); hs.getHosts().add(StubFactory.rndHostPut()); res = hv.validate(hs,PUT); assertTrue(resultMessage(res,PUT),res.passedValidation()); } }