16 package org.openkilda.pce.cache;
18 import static java.lang.String.format;
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertNull;
21 import static org.junit.Assert.assertTrue;
30 import org.junit.After;
31 import org.junit.Before;
32 import org.junit.Test;
34 import java.util.Arrays;
35 import java.util.Collections;
36 import java.util.HashSet;
38 import java.util.Random;
44 private final Flow forwardCreatedFlow =
new Flow(
"created-flow", 0,
false, 10L,
"description",
47 private final Flow reverseCreatedFlow =
new Flow(
"created-flow", 0,
false, 10L,
"description",
54 resourceCache.
clear();
58 public void setUp() throws Exception {
72 assertEquals(5, first);
75 assertEquals(6, second);
78 assertEquals(7, third);
82 assertEquals(8, fourth);
87 assertEquals(9, fifth);
95 assertEquals(6, first);
98 assertEquals(7, second);
101 assertEquals(8, third);
105 assertEquals(9, fourth);
110 assertEquals(10, fifth);
119 assertEquals(m1, first);
122 assertEquals(m1 + 1, second);
125 assertEquals(m1 + 2, third);
129 assertEquals(m1 + 3, fourth);
134 assertEquals(m1 + 4, fifth);
140 @Test(expected = ArrayIndexOutOfBoundsException.class)
161 @Test(expected = ArrayIndexOutOfBoundsException.class)
175 Set<Integer> allocatedCookies = resourceCache.
getAllCookies();
176 Set<Integer> allocatedMeterIds =
new HashSet<>();
183 Set<Integer> expectedCookies =
new HashSet<>(Arrays.asList(
184 (
int) forwardCreatedFlow.getCookie(),
185 (int) reverseCreatedFlow.getCookie()));
187 Set<Integer> expectedVlanIds =
new HashSet<>(Arrays.asList(
188 forwardCreatedFlow.getTransitVlan(),
189 reverseCreatedFlow.getTransitVlan()));
191 Set<Integer> expectedMeterIds =
new HashSet<>(Arrays.asList(
192 forwardCreatedFlow.getMeterId(),
193 reverseCreatedFlow.getMeterId()));
195 Set<Integer> allocatedVlanIds = resourceCache.
getAllVlanIds();
196 assertEquals(expectedCookies, allocatedCookies);
197 assertEquals(expectedVlanIds, allocatedVlanIds);
198 assertEquals(expectedMeterIds, allocatedMeterIds);
207 Set<Integer> allocatedCookies = resourceCache.
getAllCookies();
208 Set<Integer> allocatedVlanIds = resourceCache.
getAllVlanIds();
212 assertEquals(Collections.emptySet(), allocatedCookies);
213 assertEquals(Collections.emptySet(), allocatedVlanIds);
214 assertEquals(Collections.emptySet(), allocatedMeterIds);
220 Random random =
new Random();
230 Random random =
new Random();
234 assertNull(resourceCache.
deallocateMeterId(switchId, forwardCreatedFlow.getMeterId()));
254 Map<SwitchId, Set<Integer>> allMeterIds = resourceCache.
getAllMeterIds();
255 assertEquals(2, allMeterIds.size());
256 assertEquals(3, allMeterIds.get(SWITCH_ID).size());
257 assertEquals(2, allMeterIds.get(SWITCH_ID_2).size());
268 assertEquals(m1, first);
272 assertTrue(resourceCache.
getAllMeterIds(SWITCH_ID).contains(m1 - 1));
280 assertEquals(m1 + 1, first);
void deallocateFlow(ImmutablePair< Flow, Flow > flow)
Integer deallocateCookie(Integer cookie)
void allocateFlow(ImmutablePair< Flow, Flow > flow)
synchronized Integer allocateMeterId(SwitchId switchId)
Set< Integer > getAllMeterIds(SwitchId switchId)
Set< Integer > getAllVlanIds()
synchronized Integer deallocateMeterId(SwitchId switchId, Integer meterId)
void meterIdPoolFullTest()
static final SwitchInfoData sw4
Set< Integer > getAllCookies()
static final SwitchInfoData sw3
void shouldSkipDellocateMeterPoolIfSwitchNotFound()
Integer deallocateVlanId(Integer vlanId)
void shouldSkipDellocateMeterIdIfSwitchNotFound()