Bug 1588 - OFConstants.java moved to openflowplugin-api module
[openflowplugin.git] / openflowplugin / src / test / java / org / opendaylight / openflowplugin / openflow / md / core / sal / convertor / match / MatchReactorTest.java
1 /**
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match;
9
10 import java.math.BigInteger;
11
12 import org.junit.Assert;
13 import org.junit.Before;
14 import org.junit.Test;
15 import org.opendaylight.openflowplugin.api.OFConstants;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetTypeBuilder;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.OxmFieldsActionBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FlowModInputBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.aggregate._case.MultipartRequestAggregateBuilder;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.flow._case.MultipartRequestFlowBuilder;
24
25 /**
26  * match conversion and injection test 
27  */
28 public class MatchReactorTest {
29
30     private MatchBuilder matchBuilder;
31     
32     /**
33      * prepare input match
34      */
35     @Before
36     public void setUp() {
37         matchBuilder = new MatchBuilder();
38         EthernetMatchBuilder ethernetMatchBuilder = new EthernetMatchBuilder();
39         EthernetTypeBuilder ethernetTypeBuilder = new EthernetTypeBuilder();
40         ethernetTypeBuilder.setType(new EtherType(42L));
41         ethernetMatchBuilder.setEthernetType(ethernetTypeBuilder.build());
42         matchBuilder.setEthernetMatch(ethernetMatchBuilder.build());
43     }
44
45     /**
46      * convert for OF-1.3, inject into {@link FlowModInputBuilder}
47      */
48     @Test
49     public void testMatchConvertorV13_flow() {
50         FlowModInputBuilder target = new FlowModInputBuilder();
51         MatchReactor.getInstance().convert(matchBuilder.build(), 
52                 OFConstants.OFP_VERSION_1_3, target,BigInteger.valueOf(1));
53         Assert.assertNotNull(target.getMatch());
54     }
55     
56     /**
57      * convert for OF-1.0, inject into {@link FlowModInputBuilder}
58      */
59     @Test
60     public void testMatchConvertorV10_flow() {
61         FlowModInputBuilder target = new FlowModInputBuilder();
62         MatchReactor.getInstance().convert(matchBuilder.build(), 
63                 OFConstants.OFP_VERSION_1_0, target,BigInteger.valueOf(1));
64         Assert.assertNotNull(target.getMatchV10());
65     }
66
67     /**
68      * convert for OF-1.3, inject into {@link OxmFieldsActionBuilder}
69      */
70     @Test
71     public void testMatchConvertorV13_action() {
72         OxmFieldsActionBuilder target = new OxmFieldsActionBuilder();
73         MatchReactor.getInstance().convert(matchBuilder.build(), 
74                 OFConstants.OFP_VERSION_1_3, target,BigInteger.valueOf(1));
75         Assert.assertNotNull(target.getMatchEntries());
76     }
77     
78     /**
79      * convert for OF-1.3, inject into {@link MultipartRequestFlowBuilder}
80      */
81     @Test
82     public void testMatchConvertorV13_mpRequestFlow() {
83         MultipartRequestFlowBuilder target = new MultipartRequestFlowBuilder();
84         MatchReactor.getInstance().convert(matchBuilder.build(), 
85                 OFConstants.OFP_VERSION_1_3, target,BigInteger.valueOf(1));
86         Assert.assertNotNull(target.getMatch());
87     }
88     
89     /**
90      * convert for OF-1.0, inject into {@link MultipartRequestFlowBuilder}
91      */
92     @Test
93     public void testMatchConvertorV10_mpRequestFlow() {
94         MultipartRequestFlowBuilder target = new MultipartRequestFlowBuilder();
95         MatchReactor.getInstance().convert(matchBuilder.build(), 
96                 OFConstants.OFP_VERSION_1_0, target,BigInteger.valueOf(1));
97         Assert.assertNotNull(target.getMatchV10());
98     }
99
100     @Test
101     public void testMatchConvertorV10_null() {
102         MultipartRequestAggregateBuilder target = new MultipartRequestAggregateBuilder();
103         MatchReactor.getInstance().convert(null, 
104                 OFConstants.OFP_VERSION_1_0, target,BigInteger.valueOf(1));
105         Assert.assertNotNull(target.getMatchV10());
106     }
107
108     /**
109      * convert for OF-1.3, inject into {@link MultipartRequestAggregateBuilder}
110      */
111     @Test
112     public void testMatchConvertorV13_mpRequestAggregate() {
113         MultipartRequestAggregateBuilder target = new MultipartRequestAggregateBuilder();
114         MatchReactor.getInstance().convert(matchBuilder.build(), 
115                 OFConstants.OFP_VERSION_1_3, target,BigInteger.valueOf(1));
116         Assert.assertNotNull(target.getMatch());
117     }
118     
119     @Test
120     public void testMatchConvertorV13_null() {
121         MultipartRequestAggregateBuilder target = new MultipartRequestAggregateBuilder();
122         MatchReactor.getInstance().convert(null, 
123                 OFConstants.OFP_VERSION_1_3, target,BigInteger.valueOf(1));
124         Assert.assertNotNull(target.getMatch());
125         Assert.assertEquals(0, target.getMatch().getMatchEntries().size());
126     }
127
128     /**
129      * convert for OF-1.0, inject into {@link MultipartRequestAggregateBuilder}
130      */
131     @Test
132     public void testMatchConvertorV10_mpRequestAggregate() {
133         MultipartRequestAggregateBuilder target = new MultipartRequestAggregateBuilder();
134         MatchReactor.getInstance().convert(matchBuilder.build(), 
135                 OFConstants.OFP_VERSION_1_0, target,BigInteger.valueOf(1));
136         Assert.assertNotNull(target.getMatchV10());
137     }
138     
139     
140     
141 }