2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.openflowplugin.impl.common;
11 import org.junit.Assert;
12 import org.junit.Before;
13 import org.junit.Ignore;
14 import org.junit.Test;
15 import org.opendaylight.openflowplugin.api.OFConstants;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInput;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.MultipartRequestBody;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregateCase;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregateCaseBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDescCase;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDescCaseBuilder;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCase;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCaseBuilder;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowCase;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowCaseBuilder;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupCase;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupCaseBuilder;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupDescCase;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupDescCaseBuilder;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupFeaturesCase;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupFeaturesCaseBuilder;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterCase;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterCaseBuilder;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfigCase;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfigCaseBuilder;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterFeaturesCase;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterFeaturesCaseBuilder;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortDescCase;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortDescCaseBuilder;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsCase;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsCaseBuilder;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueCase;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueCaseBuilder;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableCase;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableCaseBuilder;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeaturesCase;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeaturesCaseBuilder;
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.queue._case.MultipartRequestQueueBuilder;
53 * org.opendaylight.openflowplugin.impl.common
55 * Test class for testing {@link org.opendaylight.openflowplugin.impl.common.MultipartRequestInputFactory}
56 * static methods and validations for {@link org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType}.
58 * @author <a href="mailto:vdemcak@cisco.com">Vaclav Demcak</a>
60 * Created: Mar 28, 2015
62 public class MultipartRequestInputFactoryTest {
64 private short ofVersion;
67 public void initialization() {
72 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
73 * Validation for null input type expect IllegalArgumentException
75 @Test(expected = IllegalArgumentException.class)
76 public void testMakeMultipartRequestInputLongShortMultipartTypeNullType() {
78 MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, null);
82 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
83 * {@link MultipartType.OFPMPDESC}
86 public void testMakeMultipartRequestInputLongShortMultipartTypeDesc() {
88 final MultipartType type = MultipartType.OFPMPDESC;
89 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
90 final MultipartRequestDescCase defaultBodyForComparison = new MultipartRequestDescCaseBuilder().build();
91 validation(multipartReqInput, xid, type, defaultBodyForComparison);
95 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
96 * {@link MultipartType.OFPMPFLOW}
100 public void testMakeMultipartRequestInputLongShortMultipartTypeFlow() {
102 final MultipartType type = MultipartType.OFPMPFLOW;
103 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
104 final MultipartRequestFlowCase defaultBodyForComparison = new MultipartRequestFlowCaseBuilder().build();
105 validation(multipartReqInput, xid, type, defaultBodyForComparison);
109 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
110 * {@link MultipartType.OFPMPAGGREGATE}
113 public void testMakeMultipartRequestInputLongShortMultipartTypeAggr() {
115 final MultipartType type = MultipartType.OFPMPAGGREGATE;
116 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
117 final MultipartRequestAggregateCase defaultBodyForComparison = new MultipartRequestAggregateCaseBuilder().build();
118 validation(multipartReqInput, xid, type, defaultBodyForComparison);
122 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
123 * {@link MultipartType.OFPMPTABLE}
126 public void testMakeMultipartRequestInputLongShortMultipartTypeTable() {
128 final MultipartType type = MultipartType.OFPMPTABLE;
129 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
130 final MultipartRequestTableCase defaultBodyForComparison = new MultipartRequestTableCaseBuilder().build();
131 validation(multipartReqInput, xid, type, defaultBodyForComparison);
135 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
136 * {@link MultipartType.OFPMPPORTSTATS}
139 public void testMakeMultipartRequestInputLongShortMultipartTypePortStat() {
141 final MultipartType type = MultipartType.OFPMPPORTSTATS;
142 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
143 final MultipartRequestPortStatsCase defaultBodyForComparison = new MultipartRequestPortStatsCaseBuilder().build();
144 validation(multipartReqInput, xid, type, defaultBodyForComparison);
148 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
149 * {@link MultipartType.OFPMPQUEUE}
152 public void testMakeMultipartRequestInputLongShortMultipartTypeQueue() {
154 final MultipartType type = MultipartType.OFPMPQUEUE;
155 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
157 MultipartRequestQueueCaseBuilder multipartRequestQueueCaseBuilder = new MultipartRequestQueueCaseBuilder();
158 MultipartRequestQueueBuilder multipartRequestQueueBuilder = new MultipartRequestQueueBuilder();
159 multipartRequestQueueBuilder.setPortNo(OFConstants.OFPP_ANY);
160 multipartRequestQueueBuilder.setQueueId(OFConstants.OFPQ_ANY);
161 multipartRequestQueueCaseBuilder.setMultipartRequestQueue(multipartRequestQueueBuilder.build());
163 validation(multipartReqInput, xid, type, multipartRequestQueueCaseBuilder.build());
167 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
168 * {@link MultipartType.OFPMPGROUP}
171 public void testMakeMultipartRequestInputLongShortMultipartTypeGroup() {
173 final MultipartType type = MultipartType.OFPMPGROUP;
174 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
175 final MultipartRequestGroupCase defaultBodyForComparison = new MultipartRequestGroupCaseBuilder().build();
176 validation(multipartReqInput, xid, type, defaultBodyForComparison);
180 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
181 * {@link MultipartType.OFPMPGROUPDESC}
184 public void testMakeMultipartRequestInputLongShortMultipartTypeGrupDesc() {
186 final MultipartType type = MultipartType.OFPMPGROUPDESC;
187 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
188 final MultipartRequestGroupDescCase defaultBodyForComparison = new MultipartRequestGroupDescCaseBuilder().build();
189 validation(multipartReqInput, xid, type, defaultBodyForComparison);
193 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
194 * {@link MultipartType.OFPMPGROUPFEATURES}
197 public void testMakeMultipartRequestInputLongShortMultipartTypeGroupFeaturs() {
199 final MultipartType type = MultipartType.OFPMPGROUPFEATURES;
200 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
201 final MultipartRequestGroupFeaturesCase defaultBodyForComparison = new MultipartRequestGroupFeaturesCaseBuilder().build();
202 validation(multipartReqInput, xid, type, defaultBodyForComparison);
206 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
207 * {@link MultipartType.OFPMPMETER}
210 public void testMakeMultipartRequestInputLongShortMultipartTypeMeter() {
212 final MultipartType type = MultipartType.OFPMPMETER;
213 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
214 final MultipartRequestMeterCase defaultBodyForComparison = new MultipartRequestMeterCaseBuilder().build();
215 validation(multipartReqInput, xid, type, defaultBodyForComparison);
219 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
220 * {@link MultipartType.OFPMPMETERCONFIG}
223 public void testMakeMultipartRequestInputLongShortMultipartTypeMeterConf() {
225 final MultipartType type = MultipartType.OFPMPMETERCONFIG;
226 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
227 final MultipartRequestMeterConfigCase defaultBodyForComparison = new MultipartRequestMeterConfigCaseBuilder().build();
228 validation(multipartReqInput, xid, type, defaultBodyForComparison);
232 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
233 * {@link MultipartType.OFPMPMETERFEATURES}
236 public void testMakeMultipartRequestInputLongShortMultipartTypeMeterFeatures() {
238 final MultipartType type = MultipartType.OFPMPMETERFEATURES;
239 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
240 final MultipartRequestMeterFeaturesCase defaultBodyForComparison = new MultipartRequestMeterFeaturesCaseBuilder().build();
241 validation(multipartReqInput, xid, type, defaultBodyForComparison);
245 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
246 * {@link MultipartType.OFPMPMETERFEATURES}
249 @Ignore // table features are not working correctly in OVS so we have workaround
250 public void testMakeMultipartRequestInputLongShortMultipartTypeTableFeatures() {
252 final MultipartType type = MultipartType.OFPMPTABLEFEATURES;
253 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
254 final MultipartRequestTableFeaturesCase defaultBodyForComparison = new MultipartRequestTableFeaturesCaseBuilder().build();
255 validation(multipartReqInput, xid, type, defaultBodyForComparison);
259 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
260 * {@link MultipartType.OFPMPPORTDESC}
263 public void testMakeMultipartRequestInputLongShortMultipartTypePortDesc() {
265 final MultipartType type = MultipartType.OFPMPPORTDESC;
266 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
267 final MultipartRequestPortDescCase defaultBodyForComparison = new MultipartRequestPortDescCaseBuilder().build();
268 validation(multipartReqInput, xid, type, defaultBodyForComparison);
272 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
273 * {@link MultipartType.OFPMPEXPERIMENTER}
276 public void testMakeMultipartRequestInputLongShortMultipartTypeExperimenter() {
278 final MultipartType type = MultipartType.OFPMPEXPERIMENTER;
279 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
280 final MultipartRequestExperimenterCase defaultBodyForComparison = new MultipartRequestExperimenterCaseBuilder().build();
281 validation(multipartReqInput, xid, type, defaultBodyForComparison);
285 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
286 * {@link MultipartType.OFPMPDESC}
289 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyDesc() {
291 final MultipartType type = MultipartType.OFPMPDESC;
292 final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
293 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
294 validation(multipartReqInput, xid, type, body);
298 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
299 * {@link MultipartType.OFPMPFLOW}
302 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyFlow() {
304 final MultipartType type = MultipartType.OFPMPFLOW;
305 final MultipartRequestFlowCase body = new MultipartRequestFlowCaseBuilder().build();
306 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
307 validation(multipartReqInput, xid, type, body);
311 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
312 * {@link MultipartType.OFPMPAGGREGATE}
315 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyAggr() {
317 final MultipartType type = MultipartType.OFPMPAGGREGATE;
318 final MultipartRequestAggregateCase body = new MultipartRequestAggregateCaseBuilder().build();
319 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
320 validation(multipartReqInput, xid, type, body);
324 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
325 * {@link MultipartType.OFPMPTABLE}
328 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyTable() {
330 final MultipartType type = MultipartType.OFPMPTABLE;
331 final MultipartRequestTableCase body = new MultipartRequestTableCaseBuilder().build();
332 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
333 validation(multipartReqInput, xid, type, body);
337 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
338 * {@link MultipartType.OFPMPPORTSTATS}
341 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyPortStat() {
343 final MultipartType type = MultipartType.OFPMPPORTSTATS;
344 final MultipartRequestPortStatsCase body = new MultipartRequestPortStatsCaseBuilder().build();
345 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
346 validation(multipartReqInput, xid, type, body);
350 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
351 * {@link MultipartType.OFPMPQUEUE}
354 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyQueue() {
356 final MultipartType type = MultipartType.OFPMPQUEUE;
357 final MultipartRequestQueueCase body = new MultipartRequestQueueCaseBuilder().build();
358 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
359 validation(multipartReqInput, xid, type, body);
363 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
364 * {@link MultipartType.OFPMPGROUP}
367 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyGroup() {
369 final MultipartType type = MultipartType.OFPMPGROUP;
370 final MultipartRequestGroupCase body = new MultipartRequestGroupCaseBuilder().build();
371 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
372 validation(multipartReqInput, xid, type, body);
376 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
377 * {@link MultipartType.OFPMPGROUPDESC}
380 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyGrupDesc() {
382 final MultipartType type = MultipartType.OFPMPGROUPDESC;
383 final MultipartRequestGroupDescCase body = new MultipartRequestGroupDescCaseBuilder().build();
384 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
385 validation(multipartReqInput, xid, type, body);
389 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
390 * {@link MultipartType.OFPMPGROUPFEATURES}
393 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyGroupFeaturs() {
395 final MultipartType type = MultipartType.OFPMPGROUPFEATURES;
396 final MultipartRequestGroupFeaturesCase body = new MultipartRequestGroupFeaturesCaseBuilder().build();
397 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
398 validation(multipartReqInput, xid, type, body);
402 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
403 * {@link MultipartType.OFPMPMETER}
406 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyMeter() {
408 final MultipartType type = MultipartType.OFPMPMETER;
409 final MultipartRequestMeterCase body = new MultipartRequestMeterCaseBuilder().build();
410 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
411 validation(multipartReqInput, xid, type, body);
415 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
416 * {@link MultipartType.OFPMPMETERCONFIG}
419 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyMeterConf() {
421 final MultipartType type = MultipartType.OFPMPMETERCONFIG;
422 final MultipartRequestMeterConfigCase body = new MultipartRequestMeterConfigCaseBuilder().build();
423 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
424 validation(multipartReqInput, xid, type, body);
428 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
429 * {@link MultipartType.OFPMPMETERFEATURES}
432 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyMeterFeatures() {
434 final MultipartType type = MultipartType.OFPMPMETERFEATURES;
435 final MultipartRequestMeterFeaturesCase body = new MultipartRequestMeterFeaturesCaseBuilder().build();
436 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
437 validation(multipartReqInput, xid, type, body);
441 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
442 * {@link MultipartType.OFPMPMETERFEATURES}
445 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyTableFeatures() {
447 final MultipartType type = MultipartType.OFPMPTABLEFEATURES;
448 final MultipartRequestTableFeaturesCase body = new MultipartRequestTableFeaturesCaseBuilder().build();
449 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
450 validation(multipartReqInput, xid, type, body);
454 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
455 * {@link MultipartType.OFPMPPORTDESC}
458 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyPortDesc() {
460 final MultipartType type = MultipartType.OFPMPPORTDESC;
461 final MultipartRequestPortDescCase body = new MultipartRequestPortDescCaseBuilder().build();
462 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
463 validation(multipartReqInput, xid, type, body);
467 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
468 * {@link MultipartType.OFPMPEXPERIMENTER}
471 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyExperimenter() {
473 final MultipartType type = MultipartType.OFPMPEXPERIMENTER;
474 final MultipartRequestExperimenterCase body = new MultipartRequestExperimenterCaseBuilder().build();
475 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
476 validation(multipartReqInput, xid, type, body);
480 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
481 * Validation for null input type expect IllegalArgumentException
483 @Test(expected = IllegalArgumentException.class)
484 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyNullType() {
486 final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
487 MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, null, body);
491 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
492 * Validation for null input body expect IllegalArgumentException
494 @Test(expected = IllegalArgumentException.class)
495 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyNullBody() {
497 final MultipartType type = MultipartType.OFPMPDESC;
498 MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, null);
502 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
503 * Validation for bad input body Class expect IllegalArgumentException
505 @Test(expected = IllegalArgumentException.class)
506 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyBadType() {
508 final MultipartType type = MultipartType.OFPMPEXPERIMENTER;
509 final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
510 MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
514 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, boolean)}.
515 * {@link MultipartType.OFPMPDESC}
516 * note: we are able to add next test suite for all MultipartType but I guess it is same as suite before
519 public void testMakeMultipartRequestInputLongShortMultipartTypeBoolean() {
521 final MultipartType type = MultipartType.OFPMPDESC;
522 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, true);
523 final MultipartRequestDescCase defaultBodyForComparison = new MultipartRequestDescCaseBuilder().build();
524 validation(multipartReqInput, xid, type, defaultBodyForComparison);
525 Assert.assertTrue(multipartReqInput.getFlags().isOFPMPFREQMORE());
529 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, boolean, MultipartRequestBody)}.
530 * {@link MultipartType.OFPMPDESC}
531 * note: we are able to add next test suite for all MultipartType but I guess it is same as suite before
534 public void testMakeMultipartRequestInputLongShortMultipartTypeBooleanMultipartRequestBody() {
536 final MultipartType type = MultipartType.OFPMPDESC;
537 final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
538 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, true, body);
539 validation(multipartReqInput, xid, type, body);
540 Assert.assertTrue(multipartReqInput.getFlags().isOFPMPFREQMORE());
543 private void validation(final MultipartRequestInput multipartReqInput, final long xid, final MultipartType type, final MultipartRequestBody body) {
544 Assert.assertNotNull(multipartReqInput);
545 Assert.assertEquals(xid, multipartReqInput.getXid().longValue());
546 Assert.assertEquals(ofVersion, multipartReqInput.getVersion().shortValue());
547 Assert.assertNotNull(multipartReqInput.getType());
548 Assert.assertEquals(type, multipartReqInput.getType());
549 Assert.assertNotNull(multipartReqInput.getMultipartRequestBody());
550 Assert.assertEquals(body.getClass(), multipartReqInput.getMultipartRequestBody().getClass());
551 Assert.assertEquals(body, multipartReqInput.getMultipartRequestBody());