package org.openstack.atlas.service.domain.events.entities; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.openstack.atlas.service.domain.usage.BitTag; import org.openstack.atlas.service.domain.usage.BitTags; public class SslModeTest { private BitTags bitTags; @Before public void standUp() { bitTags = new BitTags(); } @Test public void shouldReturnOnWhenOnlySslTagEnabled() { bitTags.flipTagOn(BitTag.SSL); final SslMode mode = SslMode.getMode(bitTags); Assert.assertEquals(SslMode.ON, mode); } @Test public void shouldReturnMixedWhenSslAndSslMixedTagsAreEnabled() { bitTags.flipTagOn(BitTag.SSL); bitTags.flipTagOn(BitTag.SSL_MIXED_MODE); final SslMode mode = SslMode.getMode(bitTags); Assert.assertEquals(SslMode.MIXED, mode); } @Test public void shouldReturnOffWhenSslAndSslMixedTagsAreDisabled() { final SslMode mode = SslMode.getMode(bitTags); Assert.assertEquals(SslMode.OFF, mode); } @Test public void shouldReturnOffWhenNonSslTagsAreEnabled() { bitTags.flipTagOn(BitTag.SERVICENET_LB); bitTags.flipTagOn(BitTag.BIT_TAG_RESERVED_2); final SslMode mode = SslMode.getMode(bitTags); Assert.assertEquals(SslMode.OFF, mode); } @Test(expected = RuntimeException.class) public void shouldThrowRuntimeExceptionWhenSslMixedTagIsEnabledWhileSslTagIsNot() { bitTags.flipTagOn(BitTag.SSL_MIXED_MODE); SslMode.getMode(bitTags); } }