[ONOS-3164] UT on SFC Manager
Change-Id: I857b402e449ad0cbcea5656c3e8574b3185ad114
Showing
1 changed file
with
269 additions
and
0 deletions
1 | +/* | ||
2 | + * Copyright 2015 Open Networking Laboratory | ||
3 | + * | ||
4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
5 | + * you may not use this file except in compliance with the License. | ||
6 | + * You may obtain a copy of the License at | ||
7 | + * | ||
8 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
9 | + * | ||
10 | + * Unless required by applicable law or agreed to in writing, software | ||
11 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
13 | + * See the License for the specific language governing permissions and | ||
14 | + * limitations under the License. | ||
15 | + */ | ||
16 | +package org.onosproject.sfc.manager.impl; | ||
17 | + | ||
18 | +import org.junit.Test; | ||
19 | + | ||
20 | +import java.util.List; | ||
21 | +import java.util.LinkedList; | ||
22 | + | ||
23 | +import org.onlab.packet.IpPrefix; | ||
24 | +import org.onosproject.sfc.manager.SfcService; | ||
25 | +import org.onosproject.vtnrsc.DefaultPortChain; | ||
26 | +import org.onosproject.vtnrsc.DefaultPortPair; | ||
27 | +import org.onosproject.vtnrsc.DefaultPortPairGroup; | ||
28 | +import org.onosproject.vtnrsc.PortChain; | ||
29 | +import org.onosproject.vtnrsc.PortChainId; | ||
30 | +import org.onosproject.vtnrsc.PortPair; | ||
31 | +import org.onosproject.vtnrsc.PortPairGroup; | ||
32 | +import org.onosproject.vtnrsc.PortPairGroupId; | ||
33 | +import org.onosproject.vtnrsc.PortPairId; | ||
34 | +import org.onosproject.vtnrsc.TenantId; | ||
35 | +import org.onosproject.vtnrsc.DefaultFlowClassifier; | ||
36 | +import org.onosproject.vtnrsc.FlowClassifierId; | ||
37 | +import org.onosproject.vtnrsc.VirtualPortId; | ||
38 | +import org.onosproject.vtnrsc.FlowClassifier; | ||
39 | + | ||
40 | +/** | ||
41 | + * Unit tests for SfcManager class. | ||
42 | + */ | ||
43 | +public class SfcManagerTest { | ||
44 | + /** | ||
45 | + * Checks the operation of onPortPairCreated() method. | ||
46 | + */ | ||
47 | + @Test | ||
48 | + public void testOnPortPairCreated() { | ||
49 | + final PortPairId portPairId = PortPairId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
50 | + final TenantId tenantId = TenantId.tenantId("1"); | ||
51 | + final String name = "PortPair"; | ||
52 | + final String description = "PortPair"; | ||
53 | + final String ingress = "d3333333-24fc-4fae-af4b-321c5e2eb3d1"; | ||
54 | + final String egress = "a4444444-4a56-2a6e-cd3a-9dee4e2ec345"; | ||
55 | + DefaultPortPair.Builder portPairBuilder = new DefaultPortPair.Builder(); | ||
56 | + PortPair portPair = null; | ||
57 | + SfcService sfcService = new SfcManager(); | ||
58 | + | ||
59 | + // create port pair | ||
60 | + portPair = portPairBuilder.setId(portPairId).setTenantId(tenantId).setName(name).setDescription(description) | ||
61 | + .setIngress(ingress).setEgress(egress).build(); | ||
62 | + sfcService.onPortPairCreated(portPair); | ||
63 | + } | ||
64 | + | ||
65 | + /** | ||
66 | + * Checks the operation of onPortPairDeleted() method. | ||
67 | + */ | ||
68 | + @Test | ||
69 | + public void testOnPortPairDeleted() { | ||
70 | + final PortPairId portPairId = PortPairId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
71 | + final TenantId tenantId = TenantId.tenantId("1"); | ||
72 | + final String name = "PortPair"; | ||
73 | + final String description = "PortPair"; | ||
74 | + final String ingress = "d3333333-24fc-4fae-af4b-321c5e2eb3d1"; | ||
75 | + final String egress = "a4444444-4a56-2a6e-cd3a-9dee4e2ec345"; | ||
76 | + DefaultPortPair.Builder portPairBuilder = new DefaultPortPair.Builder(); | ||
77 | + PortPair portPair = null; | ||
78 | + SfcService sfcService = new SfcManager(); | ||
79 | + | ||
80 | + // create port pair | ||
81 | + portPair = portPairBuilder.setId(portPairId).setTenantId(tenantId).setName(name).setDescription(description) | ||
82 | + .setIngress(ingress).setEgress(egress).build(); | ||
83 | + sfcService.onPortPairDeleted(portPair); | ||
84 | + } | ||
85 | + | ||
86 | + /** | ||
87 | + * Checks the operation of onPortPairGroupCreated() method. | ||
88 | + */ | ||
89 | + @Test | ||
90 | + public void testOnPortPairGroupCreated() { | ||
91 | + final PortPairGroupId portPairGroupId = PortPairGroupId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
92 | + final TenantId tenantId = TenantId.tenantId("1"); | ||
93 | + final String name = "PortPairGroup"; | ||
94 | + final String description = "PortPairGroup"; | ||
95 | + final List<PortPairId> portPairIdList = new LinkedList<PortPairId>(); | ||
96 | + DefaultPortPairGroup.Builder portPairGroupBuilder = new DefaultPortPairGroup.Builder(); | ||
97 | + PortPairGroup portPairGroup = null; | ||
98 | + SfcService sfcService = new SfcManager(); | ||
99 | + | ||
100 | + // create port-pair-id list | ||
101 | + PortPairId portPairId = PortPairId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
102 | + portPairIdList.add(portPairId); | ||
103 | + portPairId = PortPairId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
104 | + portPairIdList.add(portPairId); | ||
105 | + | ||
106 | + // create port pair | ||
107 | + portPairGroup = portPairGroupBuilder.setId(portPairGroupId).setTenantId(tenantId).setName(name) | ||
108 | + .setDescription(description).setPortPairs(portPairIdList).build(); | ||
109 | + sfcService.onPortPairGroupCreated(portPairGroup); | ||
110 | + } | ||
111 | + | ||
112 | + /** | ||
113 | + * Checks the operation of onPortPairGroupDeleted() method. | ||
114 | + */ | ||
115 | + @Test | ||
116 | + public void testOnPortPairGroupDeleted() { | ||
117 | + final PortPairGroupId portPairGroupId = PortPairGroupId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
118 | + final TenantId tenantId = TenantId.tenantId("1"); | ||
119 | + final String name = "PortPairGroup"; | ||
120 | + final String description = "PortPairGroup"; | ||
121 | + final List<PortPairId> portPairIdList = new LinkedList<PortPairId>(); | ||
122 | + DefaultPortPairGroup.Builder portPairGroupBuilder = new DefaultPortPairGroup.Builder(); | ||
123 | + PortPairGroup portPairGroup = null; | ||
124 | + SfcService sfcService = new SfcManager(); | ||
125 | + | ||
126 | + // create port-pair-id list | ||
127 | + PortPairId portPairId = PortPairId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
128 | + portPairIdList.add(portPairId); | ||
129 | + portPairId = PortPairId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
130 | + portPairIdList.add(portPairId); | ||
131 | + | ||
132 | + // create port pair | ||
133 | + portPairGroup = portPairGroupBuilder.setId(portPairGroupId).setTenantId(tenantId).setName(name) | ||
134 | + .setDescription(description).setPortPairs(portPairIdList).build(); | ||
135 | + sfcService.onPortPairGroupDeleted(portPairGroup); | ||
136 | + } | ||
137 | + | ||
138 | + /** | ||
139 | + * Checks the operation of onFlowClassifierCreated() method. | ||
140 | + */ | ||
141 | + @Test | ||
142 | + public void testOnFlowClassifierCreated() { | ||
143 | + final String name = "FlowClassifier"; | ||
144 | + final String description = "FlowClassifier"; | ||
145 | + final String ethType = "IPv4"; | ||
146 | + final String protocol = "udp"; | ||
147 | + final int minSrcPortRange = 1024; | ||
148 | + final int maxSrcPortRange = 5000; | ||
149 | + final int minDstPortRange = 1024; | ||
150 | + final int maxDstPortRange = 5000; | ||
151 | + final FlowClassifierId flowClassifierId = FlowClassifierId.of("71111111-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
152 | + final TenantId tenantId = TenantId.tenantId("8"); | ||
153 | + final IpPrefix srcIpPrefix = IpPrefix.valueOf("0.0.0.0/0"); | ||
154 | + final IpPrefix dstIpPrefix = IpPrefix.valueOf("100.100.100.100/0"); | ||
155 | + final VirtualPortId virtualSrcPort = VirtualPortId.portId("100"); | ||
156 | + final VirtualPortId virtualDstPort = VirtualPortId.portId("200"); | ||
157 | + DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder(); | ||
158 | + FlowClassifier flowClassifier = null; | ||
159 | + SfcService sfcService = new SfcManager(); | ||
160 | + | ||
161 | + // create flow classifier | ||
162 | + flowClassifier = flowClassifierBuilder.setFlowClassifierId(flowClassifierId).setTenantId(tenantId) | ||
163 | + .setName(name).setDescription(description).setEtherType(ethType).setProtocol(protocol) | ||
164 | + .setMinSrcPortRange(minSrcPortRange).setMaxSrcPortRange(maxSrcPortRange) | ||
165 | + .setMinDstPortRange(minDstPortRange).setMaxDstPortRange(maxDstPortRange).setSrcIpPrefix(srcIpPrefix) | ||
166 | + .setDstIpPrefix(dstIpPrefix).setSrcPort(virtualSrcPort).setDstPort(virtualDstPort).build(); | ||
167 | + sfcService.onFlowClassifierCreated(flowClassifier); | ||
168 | + } | ||
169 | + | ||
170 | + /** | ||
171 | + * Checks the operation of onFlowClassifierDeleted() method. | ||
172 | + */ | ||
173 | + @Test | ||
174 | + public void testOnFlowClassifierDeleted() { | ||
175 | + final String name = "FlowClassifier"; | ||
176 | + final String description = "FlowClassifier"; | ||
177 | + final String ethType = "IPv4"; | ||
178 | + final String protocol = "udp"; | ||
179 | + final int minSrcPortRange = 1024; | ||
180 | + final int maxSrcPortRange = 5000; | ||
181 | + final int minDstPortRange = 1024; | ||
182 | + final int maxDstPortRange = 5000; | ||
183 | + final FlowClassifierId flowClassifierId = FlowClassifierId.of("71111111-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
184 | + final TenantId tenantId = TenantId.tenantId("8"); | ||
185 | + final IpPrefix srcIpPrefix = IpPrefix.valueOf("0.0.0.0/0"); | ||
186 | + final IpPrefix dstIpPrefix = IpPrefix.valueOf("100.100.100.100/0"); | ||
187 | + final VirtualPortId virtualSrcPort = VirtualPortId.portId("100"); | ||
188 | + final VirtualPortId virtualDstPort = VirtualPortId.portId("200"); | ||
189 | + DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder(); | ||
190 | + FlowClassifier flowClassifier = null; | ||
191 | + SfcService sfcService = new SfcManager(); | ||
192 | + | ||
193 | + // create flow classifier | ||
194 | + flowClassifier = flowClassifierBuilder.setFlowClassifierId(flowClassifierId).setTenantId(tenantId) | ||
195 | + .setName(name).setDescription(description).setEtherType(ethType).setProtocol(protocol) | ||
196 | + .setMinSrcPortRange(minSrcPortRange).setMaxSrcPortRange(maxSrcPortRange) | ||
197 | + .setMinDstPortRange(minDstPortRange).setMaxDstPortRange(maxDstPortRange).setSrcIpPrefix(srcIpPrefix) | ||
198 | + .setDstIpPrefix(dstIpPrefix).setSrcPort(virtualSrcPort).setDstPort(virtualDstPort).build(); | ||
199 | + sfcService.onFlowClassifierDeleted(flowClassifier); | ||
200 | + } | ||
201 | + | ||
202 | + /** | ||
203 | + * Checks the operation of onPortChainCreated() method. | ||
204 | + */ | ||
205 | + @Test | ||
206 | + public void testOnPortChainCreated() { | ||
207 | + final PortChainId portChainId = PortChainId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
208 | + final TenantId tenantId = TenantId.tenantId("1"); | ||
209 | + final String name = "PortChain"; | ||
210 | + final String description = "PortChain"; | ||
211 | + final List<PortPairGroupId> portPairGroupList = new LinkedList<PortPairGroupId>(); | ||
212 | + final List<FlowClassifierId> flowClassifierList = new LinkedList<FlowClassifierId>(); | ||
213 | + DefaultPortChain.Builder portChainBuilder = new DefaultPortChain.Builder(); | ||
214 | + DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder(); | ||
215 | + PortChain portChain = null; | ||
216 | + SfcService sfcService = new SfcManager(); | ||
217 | + | ||
218 | + // create list of Port Pair Groups. | ||
219 | + PortPairGroupId portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
220 | + portPairGroupList.add(portPairGroupId); | ||
221 | + portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3af"); | ||
222 | + portPairGroupList.add(portPairGroupId); | ||
223 | + | ||
224 | + // create list of Flow classifiers. | ||
225 | + FlowClassifierId flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
226 | + flowClassifierList.add(flowClassifierId); | ||
227 | + flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3af"); | ||
228 | + flowClassifierList.add(flowClassifierId); | ||
229 | + | ||
230 | + // create port chain | ||
231 | + portChain = portChainBuilder.setId(portChainId).setTenantId(tenantId).setName(name).setDescription(description) | ||
232 | + .setPortPairGroups(portPairGroupList).setFlowClassifiers(flowClassifierList).build(); | ||
233 | + sfcService.onPortChainCreated(portChain); | ||
234 | + } | ||
235 | + | ||
236 | + /** | ||
237 | + * Checks the operation of onPortChainDeleted() method. | ||
238 | + */ | ||
239 | + @Test | ||
240 | + public void testOnPortChainDeleted() { | ||
241 | + final PortChainId portChainId = PortChainId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
242 | + final TenantId tenantId = TenantId.tenantId("1"); | ||
243 | + final String name = "PortChain"; | ||
244 | + final String description = "PortChain"; | ||
245 | + final List<PortPairGroupId> portPairGroupList = new LinkedList<PortPairGroupId>(); | ||
246 | + final List<FlowClassifierId> flowClassifierList = new LinkedList<FlowClassifierId>(); | ||
247 | + DefaultPortChain.Builder portChainBuilder = new DefaultPortChain.Builder(); | ||
248 | + DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder(); | ||
249 | + PortChain portChain = null; | ||
250 | + SfcService sfcService = new SfcManager(); | ||
251 | + | ||
252 | + // create list of Port Pair Groups. | ||
253 | + PortPairGroupId portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
254 | + portPairGroupList.add(portPairGroupId); | ||
255 | + portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3af"); | ||
256 | + portPairGroupList.add(portPairGroupId); | ||
257 | + | ||
258 | + // create list of Flow classifiers. | ||
259 | + FlowClassifierId flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae"); | ||
260 | + flowClassifierList.add(flowClassifierId); | ||
261 | + flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3af"); | ||
262 | + flowClassifierList.add(flowClassifierId); | ||
263 | + | ||
264 | + // create port chain | ||
265 | + portChain = portChainBuilder.setId(portChainId).setTenantId(tenantId).setName(name).setDescription(description) | ||
266 | + .setPortPairGroups(portPairGroupList).setFlowClassifiers(flowClassifierList).build(); | ||
267 | + sfcService.onPortChainDeleted(portChain); | ||
268 | + } | ||
269 | +} |
-
Please register or login to post a comment