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.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInput;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.MultipartRequestBody;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregateCase;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregateCaseBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDescCase;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDescCaseBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCase;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCaseBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowCase;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowCaseBuilder;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupCase;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupCaseBuilder;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupDescCase;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupDescCaseBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupFeaturesCase;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupFeaturesCaseBuilder;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterCase;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterCaseBuilder;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfigCase;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfigCaseBuilder;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterFeaturesCase;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterFeaturesCaseBuilder;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortDescCase;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortDescCaseBuilder;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsCase;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsCaseBuilder;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueCase;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueCaseBuilder;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableCase;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableCaseBuilder;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeaturesCase;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeaturesCaseBuilder;
51 * org.opendaylight.openflowplugin.impl.common
53 * Test class for testing {@link org.opendaylight.openflowplugin.impl.common.MultipartRequestInputFactory}
54 * static methods and validations for {@link org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType}.
56 * @author <a href="mailto:vdemcak@cisco.com">Vaclav Demcak</a>
58 * Created: Mar 28, 2015
60 public class MultipartRequestInputFactoryTest {
62 private short ofVersion;
65 public void initialization() {
70 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
71 * Validation for null input type expect IllegalArgumentException
73 @Test(expected=IllegalArgumentException.class)
74 public void testMakeMultipartRequestInputLongShortMultipartTypeNullType(){
76 MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, null);
80 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
81 * {@link MultipartType.OFPMPDESC}
84 public void testMakeMultipartRequestInputLongShortMultipartTypeDesc(){
86 final MultipartType type = MultipartType.OFPMPDESC;
87 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
88 final MultipartRequestDescCase defaultBodyForComparison = new MultipartRequestDescCaseBuilder().build();
89 validation(multipartReqInput, xid, type, defaultBodyForComparison);
93 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
94 * {@link MultipartType.OFPMPFLOW}
97 public void testMakeMultipartRequestInputLongShortMultipartTypeFlow(){
99 final MultipartType type = MultipartType.OFPMPFLOW;
100 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
101 final MultipartRequestFlowCase defaultBodyForComparison = new MultipartRequestFlowCaseBuilder().build();
102 validation(multipartReqInput, xid, type, defaultBodyForComparison);
106 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
107 * {@link MultipartType.OFPMPAGGREGATE}
110 public void testMakeMultipartRequestInputLongShortMultipartTypeAggr(){
112 final MultipartType type = MultipartType.OFPMPAGGREGATE;
113 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
114 final MultipartRequestAggregateCase defaultBodyForComparison = new MultipartRequestAggregateCaseBuilder().build();
115 validation(multipartReqInput, xid, type, defaultBodyForComparison);
119 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
120 * {@link MultipartType.OFPMPTABLE}
123 public void testMakeMultipartRequestInputLongShortMultipartTypeTable(){
125 final MultipartType type = MultipartType.OFPMPTABLE;
126 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
127 final MultipartRequestTableCase defaultBodyForComparison = new MultipartRequestTableCaseBuilder().build();
128 validation(multipartReqInput, xid, type, defaultBodyForComparison);
132 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
133 * {@link MultipartType.OFPMPPORTSTATS}
136 public void testMakeMultipartRequestInputLongShortMultipartTypePortStat(){
138 final MultipartType type = MultipartType.OFPMPPORTSTATS;
139 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
140 final MultipartRequestPortStatsCase defaultBodyForComparison = new MultipartRequestPortStatsCaseBuilder().build();
141 validation(multipartReqInput, xid, type, defaultBodyForComparison);
145 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
146 * {@link MultipartType.OFPMPQUEUE}
149 public void testMakeMultipartRequestInputLongShortMultipartTypeQueue(){
151 final MultipartType type = MultipartType.OFPMPQUEUE;
152 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
153 final MultipartRequestQueueCase defaultBodyForComparison = new MultipartRequestQueueCaseBuilder().build();
154 validation(multipartReqInput, xid, type, defaultBodyForComparison);
158 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
159 * {@link MultipartType.OFPMPGROUP}
162 public void testMakeMultipartRequestInputLongShortMultipartTypeGroup(){
164 final MultipartType type = MultipartType.OFPMPGROUP;
165 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
166 final MultipartRequestGroupCase defaultBodyForComparison = new MultipartRequestGroupCaseBuilder().build();
167 validation(multipartReqInput, xid, type, defaultBodyForComparison);
171 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
172 * {@link MultipartType.OFPMPGROUPDESC}
175 public void testMakeMultipartRequestInputLongShortMultipartTypeGrupDesc(){
177 final MultipartType type = MultipartType.OFPMPGROUPDESC;
178 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
179 final MultipartRequestGroupDescCase defaultBodyForComparison = new MultipartRequestGroupDescCaseBuilder().build();
180 validation(multipartReqInput, xid, type, defaultBodyForComparison);
184 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
185 * {@link MultipartType.OFPMPGROUPFEATURES}
188 public void testMakeMultipartRequestInputLongShortMultipartTypeGroupFeaturs(){
190 final MultipartType type = MultipartType.OFPMPGROUPFEATURES;
191 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
192 final MultipartRequestGroupFeaturesCase defaultBodyForComparison = new MultipartRequestGroupFeaturesCaseBuilder().build();
193 validation(multipartReqInput, xid, type, defaultBodyForComparison);
197 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
198 * {@link MultipartType.OFPMPMETER}
201 public void testMakeMultipartRequestInputLongShortMultipartTypeMeter(){
203 final MultipartType type = MultipartType.OFPMPMETER;
204 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
205 final MultipartRequestMeterCase defaultBodyForComparison = new MultipartRequestMeterCaseBuilder().build();
206 validation(multipartReqInput, xid, type, defaultBodyForComparison);
210 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
211 * {@link MultipartType.OFPMPMETERCONFIG}
214 public void testMakeMultipartRequestInputLongShortMultipartTypeMeterConf(){
216 final MultipartType type = MultipartType.OFPMPMETERCONFIG;
217 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
218 final MultipartRequestMeterConfigCase defaultBodyForComparison = new MultipartRequestMeterConfigCaseBuilder().build();
219 validation(multipartReqInput, xid, type, defaultBodyForComparison);
223 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
224 * {@link MultipartType.OFPMPMETERFEATURES}
227 public void testMakeMultipartRequestInputLongShortMultipartTypeMeterFeatures(){
229 final MultipartType type = MultipartType.OFPMPMETERFEATURES;
230 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
231 final MultipartRequestMeterFeaturesCase defaultBodyForComparison = new MultipartRequestMeterFeaturesCaseBuilder().build();
232 validation(multipartReqInput, xid, type, defaultBodyForComparison);
236 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
237 * {@link MultipartType.OFPMPMETERFEATURES}
240 @Ignore // table features are not working correctly in OVS so we have workaround
241 public void testMakeMultipartRequestInputLongShortMultipartTypeTableFeatures(){
243 final MultipartType type = MultipartType.OFPMPTABLEFEATURES;
244 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
245 final MultipartRequestTableFeaturesCase defaultBodyForComparison = new MultipartRequestTableFeaturesCaseBuilder().build();
246 validation(multipartReqInput, xid, type, defaultBodyForComparison);
250 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
251 * {@link MultipartType.OFPMPPORTDESC}
254 public void testMakeMultipartRequestInputLongShortMultipartTypePortDesc(){
256 final MultipartType type = MultipartType.OFPMPPORTDESC;
257 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
258 final MultipartRequestPortDescCase defaultBodyForComparison = new MultipartRequestPortDescCaseBuilder().build();
259 validation(multipartReqInput, xid, type, defaultBodyForComparison);
263 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType)}.
264 * {@link MultipartType.OFPMPEXPERIMENTER}
267 public void testMakeMultipartRequestInputLongShortMultipartTypeExperimenter(){
269 final MultipartType type = MultipartType.OFPMPEXPERIMENTER;
270 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type);
271 final MultipartRequestExperimenterCase defaultBodyForComparison = new MultipartRequestExperimenterCaseBuilder().build();
272 validation(multipartReqInput, xid, type, defaultBodyForComparison);
276 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
277 * {@link MultipartType.OFPMPDESC}
280 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyDesc(){
282 final MultipartType type = MultipartType.OFPMPDESC;
283 final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
284 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
285 validation(multipartReqInput, xid, type, body);
289 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
290 * {@link MultipartType.OFPMPFLOW}
293 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyFlow(){
295 final MultipartType type = MultipartType.OFPMPFLOW;
296 final MultipartRequestFlowCase body = new MultipartRequestFlowCaseBuilder().build();
297 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
298 validation(multipartReqInput, xid, type, body);
302 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
303 * {@link MultipartType.OFPMPAGGREGATE}
306 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyAggr(){
308 final MultipartType type = MultipartType.OFPMPAGGREGATE;
309 final MultipartRequestAggregateCase body = new MultipartRequestAggregateCaseBuilder().build();
310 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
311 validation(multipartReqInput, xid, type, body);
315 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
316 * {@link MultipartType.OFPMPTABLE}
319 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyTable(){
321 final MultipartType type = MultipartType.OFPMPTABLE;
322 final MultipartRequestTableCase body = new MultipartRequestTableCaseBuilder().build();
323 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
324 validation(multipartReqInput, xid, type, body);
328 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
329 * {@link MultipartType.OFPMPPORTSTATS}
332 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyPortStat(){
334 final MultipartType type = MultipartType.OFPMPPORTSTATS;
335 final MultipartRequestPortStatsCase body = new MultipartRequestPortStatsCaseBuilder().build();
336 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
337 validation(multipartReqInput, xid, type, body);
341 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
342 * {@link MultipartType.OFPMPQUEUE}
345 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyQueue(){
347 final MultipartType type = MultipartType.OFPMPQUEUE;
348 final MultipartRequestQueueCase body = new MultipartRequestQueueCaseBuilder().build();
349 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
350 validation(multipartReqInput, xid, type, body);
354 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
355 * {@link MultipartType.OFPMPGROUP}
358 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyGroup(){
360 final MultipartType type = MultipartType.OFPMPGROUP;
361 final MultipartRequestGroupCase body = new MultipartRequestGroupCaseBuilder().build();
362 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
363 validation(multipartReqInput, xid, type, body);
367 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
368 * {@link MultipartType.OFPMPGROUPDESC}
371 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyGrupDesc(){
373 final MultipartType type = MultipartType.OFPMPGROUPDESC;
374 final MultipartRequestGroupDescCase body = new MultipartRequestGroupDescCaseBuilder().build();
375 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
376 validation(multipartReqInput, xid, type, body);
380 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
381 * {@link MultipartType.OFPMPGROUPFEATURES}
384 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyGroupFeaturs(){
386 final MultipartType type = MultipartType.OFPMPGROUPFEATURES;
387 final MultipartRequestGroupFeaturesCase body = new MultipartRequestGroupFeaturesCaseBuilder().build();
388 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
389 validation(multipartReqInput, xid, type, body);
393 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
394 * {@link MultipartType.OFPMPMETER}
397 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyMeter(){
399 final MultipartType type = MultipartType.OFPMPMETER;
400 final MultipartRequestMeterCase body = new MultipartRequestMeterCaseBuilder().build();
401 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
402 validation(multipartReqInput, xid, type, body);
406 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
407 * {@link MultipartType.OFPMPMETERCONFIG}
410 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyMeterConf(){
412 final MultipartType type = MultipartType.OFPMPMETERCONFIG;
413 final MultipartRequestMeterConfigCase body = new MultipartRequestMeterConfigCaseBuilder().build();
414 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
415 validation(multipartReqInput, xid, type, body);
419 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
420 * {@link MultipartType.OFPMPMETERFEATURES}
423 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyMeterFeatures(){
425 final MultipartType type = MultipartType.OFPMPMETERFEATURES;
426 final MultipartRequestMeterFeaturesCase body = new MultipartRequestMeterFeaturesCaseBuilder().build();
427 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
428 validation(multipartReqInput, xid, type, body);
432 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
433 * {@link MultipartType.OFPMPMETERFEATURES}
436 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyTableFeatures(){
438 final MultipartType type = MultipartType.OFPMPTABLEFEATURES;
439 final MultipartRequestTableFeaturesCase body = new MultipartRequestTableFeaturesCaseBuilder().build();
440 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
441 validation(multipartReqInput, xid, type, body);
445 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
446 * {@link MultipartType.OFPMPPORTDESC}
449 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyPortDesc(){
451 final MultipartType type = MultipartType.OFPMPPORTDESC;
452 final MultipartRequestPortDescCase body = new MultipartRequestPortDescCaseBuilder().build();
453 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
454 validation(multipartReqInput, xid, type, body);
458 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
459 * {@link MultipartType.OFPMPEXPERIMENTER}
462 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyExperimenter(){
464 final MultipartType type = MultipartType.OFPMPEXPERIMENTER;
465 final MultipartRequestExperimenterCase body = new MultipartRequestExperimenterCaseBuilder().build();
466 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
467 validation(multipartReqInput, xid, type, body);
471 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
472 * Validation for null input type expect IllegalArgumentException
474 @Test(expected=IllegalArgumentException.class)
475 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyNullType(){
477 final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
478 MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, null, body);
482 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
483 * Validation for null input body expect IllegalArgumentException
485 @Test(expected=IllegalArgumentException.class)
486 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyNullBody(){
488 final MultipartType type = MultipartType.OFPMPDESC;
489 MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, null);
493 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, MultipartRequestBody)}.
494 * Validation for bad input body Class expect IllegalArgumentException
496 @Test(expected=IllegalArgumentException.class)
497 public void testMakeMultipartRequestInputLongShortMultipartTypeMultipartRequestBodyBadType(){
499 final MultipartType type = MultipartType.OFPMPEXPERIMENTER;
500 final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
501 MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, body);
505 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short, MultipartType, boolean)}.
506 * {@link MultipartType.OFPMPDESC}
507 * note: we are able to add next test suite for all MultipartType but I guess it is same as suite before
510 public void testMakeMultipartRequestInputLongShortMultipartTypeBoolean(){
512 final MultipartType type = MultipartType.OFPMPDESC;
513 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, true);
514 final MultipartRequestDescCase defaultBodyForComparison = new MultipartRequestDescCaseBuilder().build();
515 validation(multipartReqInput, xid, type, defaultBodyForComparison);
516 Assert.assertTrue(multipartReqInput.getFlags().isOFPMPFREQMORE());
520 * Test method for {@link MultipartRequestInputFactory#makeMultipartRequestInput(long, short,MultipartType, boolean, MultipartRequestBody)}.
521 * {@link MultipartType.OFPMPDESC}
522 * note: we are able to add next test suite for all MultipartType but I guess it is same as suite before
525 public void testMakeMultipartRequestInputLongShortMultipartTypeBooleanMultipartRequestBody(){
527 final MultipartType type = MultipartType.OFPMPDESC;
528 final MultipartRequestDescCase body = new MultipartRequestDescCaseBuilder().build();
529 final MultipartRequestInput multipartReqInput = MultipartRequestInputFactory.makeMultipartRequestInput(xid, ofVersion, type, true, body);
530 validation(multipartReqInput, xid, type, body);
531 Assert.assertTrue(multipartReqInput.getFlags().isOFPMPFREQMORE());
534 private void validation(final MultipartRequestInput multipartReqInput, final long xid, final MultipartType type, final MultipartRequestBody body) {
535 Assert.assertNotNull(multipartReqInput);
536 Assert.assertEquals(xid, multipartReqInput.getXid().longValue());
537 Assert.assertEquals(ofVersion, multipartReqInput.getVersion().shortValue());
538 Assert.assertNotNull(multipartReqInput.getType());
539 Assert.assertEquals(type, multipartReqInput.getType());
540 Assert.assertNotNull(multipartReqInput.getMultipartRequestBody());
541 Assert.assertEquals(body.getClass(), multipartReqInput.getMultipartRequestBody().getClass());
542 Assert.assertEquals(body, multipartReqInput.getMultipartRequestBody());