package org.openstack.atlas.api.mgmt.validation.validators; import org.openstack.atlas.docs.loadbalancers.api.management.v1.Suspension; import org.openstack.atlas.docs.loadbalancers.api.management.v1.Ticket; import org.openstack.atlas.api.mgmt.validation.validators.LoadBalancerSuspensionValidator; import org.openstack.atlas.api.validation.context.HttpRequestType; import org.openstack.atlas.api.validation.results.ValidatorResult; import org.junit.Before; import org.junit.Test; import static org.openstack.atlas.api.helpers.ResultMessage.resultMessage; import static org.openstack.atlas.api.validation.context.HttpRequestType.POST; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class LoadBalancerSuspensionValidatorTest { private LoadBalancerSuspensionValidator lbsvalidator; private Suspension suspension; private Ticket ticket; @Before public void standUp() { lbsvalidator = new LoadBalancerSuspensionValidator(); suspension = new Suspension(); ticket = new Ticket(); ticket.setTicketId("1234"); ticket.setComment("My first ticket! Yuppee!"); suspension.setReason("repo"); suspension.setTicket(ticket); suspension.setUser("bob"); } @Test public void shouldAcceptValidLbS() { ValidatorResult result = lbsvalidator.validate(suspension, HttpRequestType.POST); assertTrue(result.passedValidation()); } @Test public void shouldRejectUser() { suspension.setUser("bob"); ValidatorResult result = lbsvalidator.validate(suspension, HttpRequestType.POST); assertTrue(result.passedValidation()); } @Test public void shouldRejectNullReason() { suspension.setReason(null); ValidatorResult result = lbsvalidator.validate(suspension, POST); assertFalse(resultMessage(result, POST), result.passedValidation()); } @Test public void shouldRejectNullTicket() { suspension.setTicket(null); ValidatorResult result = lbsvalidator.validate(suspension, POST); assertFalse(resultMessage(result, POST), result.passedValidation()); } @Test public void shouldRejectWhenTicketIsEmpty() { suspension.getTicket().setTicketId(""); suspension.getTicket().setComment(""); ValidatorResult result = lbsvalidator.validate(suspension, POST); assertFalse(resultMessage(result, POST), result.passedValidation()); } }