package org.openstack.atlas.api.mgmt.validation.validators; import org.openstack.atlas.docs.loadbalancers.api.management.v1.BlacklistItem; import org.openstack.atlas.docs.loadbalancers.api.management.v1.IpVersion; import static org.openstack.atlas.api.helpers.ResultMessage.resultMessage; import static org.openstack.atlas.api.validation.context.HttpRequestType.POST; import org.openstack.atlas.api.mgmt.validation.validators.BlacklistItemValidator; import org.openstack.atlas.api.validation.results.ValidatorResult; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; public class BlacklistItemValidatorTest { private BlacklistItemValidator bv; private BlacklistItem bli; public BlacklistItemValidatorTest() { } @Before public void setUp() { bv = new BlacklistItemValidator(); bli = new BlacklistItem(); } @Test public void shouldRejectVersionMisMatchIPv4() { bli.setIpVersion(IpVersion.IPV6); bli.setCidrBlock("192.168.3.51/24"); ValidatorResult result = bv.validate(bli, POST); assertFalse(resultMessage(result, POST), result.passedValidation()); } @Test public void shouldRejectVersionMisMatchIPv6() { bli.setIpVersion(IpVersion.IPV6); bli.setCidrBlock("192.168.3.51/24"); ValidatorResult result = bv.validate(bli, POST); assertFalse(resultMessage(result, POST), result.passedValidation()); } @Test public void shouldRejectIPv6String() { bli.setIpVersion(IpVersion.IPV6); bli.setCidrBlock("::"); ValidatorResult result = bv.validate(bli, POST); assertFalse(resultMessage(result, POST), result.passedValidation()); } @Test public void shouldRejectIPv4String() { bli.setIpVersion(IpVersion.IPV6); bli.setCidrBlock("192.168.3.54"); ValidatorResult result = bv.validate(bli, POST); assertFalse(resultMessage(result, POST), result.passedValidation()); } @Test public void shouldaCeptIPv4Cidr() { bli.setIpVersion(IpVersion.IPV4); bli.setCidrBlock("192.168.3.54/24"); ValidatorResult result = bv.validate(bli, POST); assertTrue(resultMessage(result, POST), result.passedValidation()); } @Test public void shouldaCeptIPv6Cidr() { bli.setIpVersion(IpVersion.IPV6); bli.setCidrBlock("::/64"); ValidatorResult result = bv.validate(bli, POST); assertTrue(resultMessage(result, POST), result.passedValidation()); } }