package org.openstack.atlas.service.domain.usagerefactor; import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.experimental.runners.Enclosed; import org.junit.runner.RunWith; import org.mockito.Matchers; import org.openstack.atlas.service.domain.entities.LoadBalancer; import org.openstack.atlas.service.domain.entities.LoadBalancerJoinVip; import org.openstack.atlas.service.domain.entities.VirtualIp; import org.openstack.atlas.service.domain.entities.VirtualIpType; import org.openstack.atlas.service.domain.events.UsageEvent; import org.openstack.atlas.service.domain.repository.LoadBalancerRepository; import org.openstack.atlas.service.domain.repository.VirtualIpRepository; import org.openstack.atlas.service.domain.services.LoadBalancerService; import org.openstack.atlas.service.domain.services.UsageRefactorService; import org.openstack.atlas.service.domain.usage.BitTag; import org.openstack.atlas.service.domain.usage.BitTags; import org.openstack.atlas.service.domain.usage.entities.LoadBalancerHostUsage; import org.openstack.atlas.usagerefactor.SnmpUsage; import org.openstack.atlas.usagerefactor.processor.impl.UsageEventProcessorImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.transaction.annotation.Transactional; import java.util.*; import static org.powermock.api.mockito.PowerMockito.mock; import static org.powermock.api.mockito.PowerMockito.when; @RunWith(Enclosed.class) public class UsageEventProcessorDBTest { @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:context.xml"}) @Transactional public static class WhenTestingProcessingUsageRecords { @Autowired public UsageRefactorService usageRefactorService; @Autowired public UsageEventProcessorImpl usageEventProcessor; @Autowired public LoadBalancerRepository loadBalancerRepository; @Autowired public LoadBalancerService loadBalancerService; @Autowired public VirtualIpRepository virtualIpRepository; public SnmpUsage snmpUsage; public SnmpUsage snmpUsage2; public List<SnmpUsage> snmpUsages; public LoadBalancer lb; public BitTags bitTags = new BitTags(); @Before public void standUp() throws Exception { loadBalancerRepository = mock(LoadBalancerRepository.class); loadBalancerService = mock(LoadBalancerService.class); virtualIpRepository = mock(VirtualIpRepository.class); lb = new LoadBalancer(); lb.setId(543221); lb.setAccountId(55555); snmpUsages = new ArrayList<SnmpUsage>(); snmpUsage = new SnmpUsage(); snmpUsage.setHostId(1); snmpUsage.setLoadbalancerId(lb.getId()); snmpUsage.setBytesIn(1234455); snmpUsage.setBytesInSsl(4321); snmpUsage.setBytesOut(987); snmpUsage.setBytesOutSsl(986); snmpUsage.setConcurrentConnections(1); snmpUsage.setConcurrentConnectionsSsl(3); snmpUsages.add(snmpUsage); usageEventProcessor.setLoadBalancerService(loadBalancerService); when(loadBalancerService.getCurrentBitTags(Matchers.anyInt())).thenReturn(bitTags); usageEventProcessor.setVirtualIpRepository(virtualIpRepository); when(virtualIpRepository.getNumIpv4VipsForLoadBalancer(lb)).thenReturn(1L); } @Test public void shouldHaveNoPreviousUsagesForTestDB() { Calendar eventTime = Calendar.getInstance(); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(0, oUsages.size()); } @Test public void shouldCreateSimpleUsageRecord() { Calendar eventTime = Calendar.getInstance(); bitTags.flipTagOn(BitTag.SSL); bitTags.flipTagOn(BitTag.SSL_MIXED_MODE); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_MIXED_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(5, lbusages.get(0).getTagsBitmask()); } @Test public void shouldCreateSimpleServicenetUsageRecord() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.SERVICENET); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); bitTags.flipTagOn(BitTag.SERVICENET_LB); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); when(loadBalancerRepository.isServicenetLoadBalancer(Matchers.anyInt())).thenReturn(true); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_OFF, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SERVICENET_LB.tagValue(), lbusages.get(0).getTagsBitmask()); } @Test public void shouldCreateServicenetSSLONUsageRecord() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.SERVICENET); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); bitTags.flipTagOn(BitTag.SERVICENET_LB); bitTags.flipTagOn(BitTag.SSL); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); when(loadBalancerRepository.isServicenetLoadBalancer(Matchers.anyInt())).thenReturn(true); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_ONLY_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SERVICENET_LB.tagValue() + BitTag.SSL.tagValue(), lbusages.get(0).getTagsBitmask()); } @Test public void shouldCreateServicenetSSLMixedUsageRecord() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.SERVICENET); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); when(loadBalancerRepository.isServicenetLoadBalancer(Matchers.anyInt())).thenReturn(true); bitTags.flipTagOn(BitTag.SERVICENET_LB); bitTags.flipTagOn(BitTag.SSL); bitTags.flipTagOn(BitTag.SSL_MIXED_MODE); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_MIXED_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SERVICENET_LB.tagValue() + BitTag.SSL.tagValue() + BitTag.SSL_MIXED_MODE.tagValue(), lbusages.get(0).getTagsBitmask()); } @Test public void shouldCreateSSLONUsageRecord() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.PUBLIC); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); bitTags.flipTagOn(BitTag.SSL); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_ONLY_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue(), lbusages.get(0).getTagsBitmask()); } @Test public void shouldCreateSSLMixedUsageRecord() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.PUBLIC); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); bitTags.flipTagOn(BitTag.SSL); bitTags.flipTagOn(BitTag.SSL_MIXED_MODE); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_MIXED_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue() + BitTag.SSL_MIXED_MODE.tagValue(), lbusages.get(0).getTagsBitmask()); } @Test public void shouldProcessWhenSimulateCreateEventSslMixed() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.PUBLIC); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); bitTags.flipTagOn(BitTag.SSL); bitTags.flipTagOn(BitTag.SSL_MIXED_MODE); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_MIXED_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue() + BitTag.SSL_MIXED_MODE.tagValue(), lbusages.get(0).getTagsBitmask()); } @Test public void shouldProcessWhenSimulateCreateEventSslOff() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.PUBLIC); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_OFF, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(0, lbusages.get(0).getTagsBitmask()); } @Test public void shouldProcessWhenSimulateCreateEventSslOn() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.PUBLIC); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); bitTags.flipTagOn(BitTag.SSL); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_ONLY_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue(), lbusages.get(0).getTagsBitmask()); } @Test public void shouldProcessWhenSimulateCreateEventSslMixedServicenet() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.SERVICENET); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); bitTags.flipTagOn(BitTag.SERVICENET_LB); bitTags.flipTagOn(BitTag.SSL); bitTags.flipTagOn(BitTag.SSL_MIXED_MODE); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_MIXED_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue() + BitTag.SSL_MIXED_MODE.tagValue() + BitTag.SERVICENET_LB.tagValue(), lbusages.get(0).getTagsBitmask()); } @Test public void shouldProcessWhenSimulateCreateEventSslOnServicenet() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.SERVICENET); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); bitTags.flipTagOn(BitTag.SERVICENET_LB); bitTags.flipTagOn(BitTag.SSL); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_ONLY_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue() + BitTag.SERVICENET_LB.tagValue(), lbusages.get(0).getTagsBitmask()); } @Test public void shouldProcessWhenSimulateCreateEventSslOffServicenet() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.SERVICENET); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); bitTags.flipTagOn(BitTag.SERVICENET_LB); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_OFF, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(0, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(0, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(0, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SERVICENET_LB.tagValue(), lbusages.get(0).getTagsBitmask()); } @Ignore @Test public void shouldProcessUsageAndGetPreviousRecordWhenSnmpCollectorFailureSslOff() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.PUBLIC); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_OFF, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(0, lbusages.get(0).getTagsBitmask()); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); Calendar nextEventTime = Calendar.getInstance(); nextEventTime.setTime(lbusages.get(0).getPollTime().getTime()); nextEventTime.add(Calendar.MINUTE, 1); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_OFF, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> allUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(allUsages); Assert.assertEquals(1, allUsages.size()); Assert.assertEquals(true, allUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap2 = allUsages.get(543221); List<LoadBalancerHostUsage> lbusages2 = usagemap2.get(1); Assert.assertEquals(543221, lbusages2.get(1).getLoadbalancerId()); Assert.assertEquals(55555, lbusages2.get(1).getAccountId()); Assert.assertEquals(1, lbusages2.get(1).getHostId()); Assert.assertEquals(1234455, lbusages2.get(1).getIncomingTransfer()); Assert.assertEquals(4321, lbusages2.get(1).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages2.get(1).getOutgoingTransfer()); Assert.assertEquals(986, lbusages2.get(1).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages2.get(1).getConcurrentConnections()); Assert.assertEquals(3, lbusages2.get(1).getConcurrentConnectionsSsl()); Assert.assertEquals(0, lbusages2.get(1).getTagsBitmask()); } @Ignore @Test public void shouldProcessUsageAndGetPreviousRecordWhenSnmpCollectorFailureSslOn() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.PUBLIC); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); bitTags.flipTagOn(BitTag.SSL); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_ONLY_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue(), lbusages.get(0).getTagsBitmask()); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_ONLY_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> allUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(allUsages); Assert.assertEquals(1, allUsages.size()); Assert.assertEquals(true, allUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap2 = allUsages.get(543221); List<LoadBalancerHostUsage> lbusages2 = usagemap2.get(1); Assert.assertEquals(543221, lbusages2.get(1).getLoadbalancerId()); Assert.assertEquals(55555, lbusages2.get(1).getAccountId()); Assert.assertEquals(1, lbusages2.get(1).getHostId()); Assert.assertEquals(1234455, lbusages2.get(1).getIncomingTransfer()); Assert.assertEquals(4321, lbusages2.get(1).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages2.get(1).getOutgoingTransfer()); Assert.assertEquals(986, lbusages2.get(1).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages2.get(1).getConcurrentConnections()); Assert.assertEquals(3, lbusages2.get(1).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue(), lbusages2.get(1).getTagsBitmask()); } @Ignore @Test public void shouldProcessUsageAndGetPreviousRecordWhenSnmpCollectorFailureSslMixed() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.PUBLIC); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); bitTags.flipTagOn(BitTag.SSL); bitTags.flipTagOn(BitTag.SSL_MIXED_MODE); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_MIXED_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue() + BitTag.SSL_MIXED_MODE.tagValue(), lbusages.get(0).getTagsBitmask()); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_MIXED_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> allUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(allUsages); Assert.assertEquals(1, allUsages.size()); Assert.assertEquals(true, allUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap2 = allUsages.get(543221); List<LoadBalancerHostUsage> lbusages2 = usagemap2.get(1); Assert.assertEquals(543221, lbusages2.get(1).getLoadbalancerId()); Assert.assertEquals(55555, lbusages2.get(1).getAccountId()); Assert.assertEquals(1, lbusages2.get(1).getHostId()); Assert.assertEquals(1234455, lbusages2.get(1).getIncomingTransfer()); Assert.assertEquals(4321, lbusages2.get(1).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages2.get(1).getOutgoingTransfer()); Assert.assertEquals(986, lbusages2.get(1).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages2.get(1).getConcurrentConnections()); Assert.assertEquals(3, lbusages2.get(1).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue() + BitTag.SSL_MIXED_MODE.tagValue(), lbusages2.get(1).getTagsBitmask()); } @Ignore @Test public void shouldProcessUsageAndGetPreviousRecordWhenSnmpCollectorFailureSslOffServicenet() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.SERVICENET); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); when(loadBalancerRepository.isServicenetLoadBalancer(Matchers.anyInt())).thenReturn(true); bitTags.flipTagOn(BitTag.SERVICENET_LB); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_OFF, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SERVICENET_LB.tagValue(), lbusages.get(0).getTagsBitmask()); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_OFF, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> allUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(allUsages); Assert.assertEquals(1, allUsages.size()); Assert.assertEquals(true, allUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap2 = allUsages.get(543221); List<LoadBalancerHostUsage> lbusages2 = usagemap2.get(1); Assert.assertEquals(543221, lbusages2.get(1).getLoadbalancerId()); Assert.assertEquals(55555, lbusages2.get(1).getAccountId()); Assert.assertEquals(1, lbusages2.get(1).getHostId()); Assert.assertEquals(1234455, lbusages2.get(1).getIncomingTransfer()); Assert.assertEquals(4321, lbusages2.get(1).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages2.get(1).getOutgoingTransfer()); Assert.assertEquals(986, lbusages2.get(1).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages2.get(1).getConcurrentConnections()); Assert.assertEquals(3, lbusages2.get(1).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SERVICENET_LB.tagValue(), lbusages2.get(1).getTagsBitmask()); } @Ignore @Test public void shouldProcessUsageAndGetPreviousRecordWhenSnmpCollectorFailureSslOnServicenet() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.SERVICENET); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); bitTags.flipTagOn(BitTag.SERVICENET_LB); bitTags.flipTagOn(BitTag.SSL); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); when(loadBalancerRepository.isServicenetLoadBalancer(Matchers.anyInt())).thenReturn(true); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_ONLY_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue() + BitTag.SERVICENET_LB.tagValue(), lbusages.get(0).getTagsBitmask()); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_ONLY_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> allUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(allUsages); Assert.assertEquals(1, allUsages.size()); Assert.assertEquals(true, allUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap2 = allUsages.get(543221); List<LoadBalancerHostUsage> lbusages2 = usagemap2.get(1); Assert.assertEquals(543221, lbusages2.get(1).getLoadbalancerId()); Assert.assertEquals(55555, lbusages2.get(1).getAccountId()); Assert.assertEquals(1, lbusages2.get(1).getHostId()); Assert.assertEquals(1234455, lbusages2.get(1).getIncomingTransfer()); Assert.assertEquals(4321, lbusages2.get(1).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages2.get(1).getOutgoingTransfer()); Assert.assertEquals(986, lbusages2.get(1).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages2.get(1).getConcurrentConnections()); Assert.assertEquals(3, lbusages2.get(1).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue() + BitTag.SERVICENET_LB.tagValue(), lbusages2.get(1).getTagsBitmask()); } @Ignore @Test public void shouldProcessUsageAndGetPreviousRecordWhenSnmpCollectorFailureSslMixedServicenet() { Calendar eventTime = Calendar.getInstance(); LoadBalancerJoinVip jv = new LoadBalancerJoinVip(); Set<LoadBalancerJoinVip> jvs = new HashSet<LoadBalancerJoinVip>(); VirtualIp vip = new VirtualIp(); vip.setVipType(VirtualIpType.SERVICENET); jv.setVirtualIp(vip); jvs.add(jv); lb.setLoadBalancerJoinVipSet(jvs); usageEventProcessor.setLoadBalancerRepository(loadBalancerRepository); when(loadBalancerRepository.isServicenetLoadBalancer(Matchers.anyInt())).thenReturn(true); bitTags.flipTagOn(BitTag.SERVICENET_LB); bitTags.flipTagOn(BitTag.SSL); bitTags.flipTagOn(BitTag.SSL_MIXED_MODE); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_MIXED_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> oUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(oUsages); Assert.assertEquals(1, oUsages.size()); Assert.assertEquals(true, oUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap = oUsages.get(543221); List<LoadBalancerHostUsage> lbusages = usagemap.get(1); Assert.assertEquals(543221, lbusages.get(0).getLoadbalancerId()); Assert.assertEquals(55555, lbusages.get(0).getAccountId()); Assert.assertEquals(1, lbusages.get(0).getHostId()); Assert.assertEquals(1234455, lbusages.get(0).getIncomingTransfer()); Assert.assertEquals(4321, lbusages.get(0).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages.get(0).getOutgoingTransfer()); Assert.assertEquals(986, lbusages.get(0).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages.get(0).getConcurrentConnections()); Assert.assertEquals(3, lbusages.get(0).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue() + BitTag.SSL_MIXED_MODE.tagValue() + BitTag.SERVICENET_LB.tagValue(), lbusages.get(0).getTagsBitmask()); SnmpUsage usage = new SnmpUsage(); usage.setBytesOut(0); usage.setBytesIn(0); usage.setBytesOutSsl(0); usage.setBytesInSsl(0); usage.setHostId(1); snmpUsages.clear(); snmpUsages.add(usage); usageEventProcessor.processUsageEvent(snmpUsages, lb, UsageEvent.SSL_MIXED_ON, eventTime); Map<Integer, Map<Integer, List<LoadBalancerHostUsage>>> allUsages = usageRefactorService.getAllLoadBalancerHostUsages(); Assert.assertNotNull(allUsages); Assert.assertEquals(1, allUsages.size()); Assert.assertEquals(true, allUsages.containsKey(543221)); Map<Integer, List<LoadBalancerHostUsage>> usagemap2 = allUsages.get(543221); List<LoadBalancerHostUsage> lbusages2 = usagemap2.get(1); Assert.assertEquals(543221, lbusages2.get(1).getLoadbalancerId()); Assert.assertEquals(55555, lbusages2.get(1).getAccountId()); Assert.assertEquals(1, lbusages2.get(1).getHostId()); Assert.assertEquals(1234455, lbusages2.get(1).getIncomingTransfer()); Assert.assertEquals(4321, lbusages2.get(1).getIncomingTransferSsl()); Assert.assertEquals(987, lbusages2.get(1).getOutgoingTransfer()); Assert.assertEquals(986, lbusages2.get(1).getOutgoingTransferSsl()); Assert.assertEquals(1, lbusages2.get(1).getConcurrentConnections()); Assert.assertEquals(3, lbusages2.get(1).getConcurrentConnectionsSsl()); Assert.assertEquals(BitTag.SSL.tagValue() + BitTag.SSL_MIXED_MODE.tagValue() + BitTag.SERVICENET_LB.tagValue(), lbusages2.get(1).getTagsBitmask()); } } }