blob: 4377c8cf0b7f16404e57842a6914b9bfd297469a [file] [log] [blame]
Jonathan Hart23701d12014-04-03 10:45:48 -07001package net.onrc.onos.core.util;
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +09002
3import static org.junit.Assert.assertEquals;
Ray Milkey269ffb92014-04-03 14:43:30 -07004
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +09005import net.floodlightcontroller.util.MACAddress;
Jonathan Hart23701d12014-04-03 10:45:48 -07006import net.onrc.onos.core.util.FlowEntryAction.ActionEnqueue;
7import net.onrc.onos.core.util.FlowEntryAction.ActionOutput;
8import net.onrc.onos.core.util.FlowEntryAction.ActionSetEthernetAddr;
9import net.onrc.onos.core.util.FlowEntryAction.ActionSetIPv4Addr;
10import net.onrc.onos.core.util.FlowEntryAction.ActionSetIpToS;
11import net.onrc.onos.core.util.FlowEntryAction.ActionSetTcpUdpPort;
12import net.onrc.onos.core.util.FlowEntryAction.ActionSetVlanId;
13import net.onrc.onos.core.util.FlowEntryAction.ActionSetVlanPriority;
14import net.onrc.onos.core.util.FlowEntryAction.ActionStripVlan;
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090015
16import org.junit.Test;
17
18public class FlowEntryActionTest {
19
Ray Milkey269ffb92014-04-03 14:43:30 -070020 @Test
21 public void testSetActionOutputActionOutput() {
22 FlowEntryAction act = new FlowEntryAction();
23 ActionOutput actout = new FlowEntryAction.ActionOutput(new Port((short) 42));
24 act.setActionOutput(actout);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090025
Ray Milkey269ffb92014-04-03 14:43:30 -070026 assertEquals("action output", FlowEntryAction.ActionValues.ACTION_OUTPUT, act.actionType());
27 assertEquals("actionOutput port should be the same", actout.port(), act.actionOutput().port());
28 assertEquals("actionOutput maxlen should be the same", actout.maxLen(), act.actionOutput().maxLen());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090029
Ray Milkey269ffb92014-04-03 14:43:30 -070030 FlowEntryAction act_copy = new FlowEntryAction(act);
31 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090032
Ray Milkey269ffb92014-04-03 14:43:30 -070033 assertEquals("toString must match between copies", act.toString(),
34 act_copy.toString());
35 assertEquals("toString must match between copies", act.toString(),
36 act_copy2.toString());
37 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090038
Ray Milkey269ffb92014-04-03 14:43:30 -070039 @Test
40 public void testSetActionOutputPort() {
41 FlowEntryAction act = new FlowEntryAction();
42 act.setActionOutput(new Port((short) 42));
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090043
Ray Milkey269ffb92014-04-03 14:43:30 -070044 FlowEntryAction act_copy = new FlowEntryAction(act);
45 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090046
Ray Milkey269ffb92014-04-03 14:43:30 -070047 assertEquals("toString must match between copies", act.toString(),
48 act_copy.toString());
49 assertEquals("toString must match between copies", act.toString(),
50 act_copy2.toString());
51 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090052
Ray Milkey269ffb92014-04-03 14:43:30 -070053 @Test
54 public void testSetActionOutputToController() {
55 FlowEntryAction act = new FlowEntryAction();
56 act.setActionOutputToController((short) 0);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090057
Ray Milkey269ffb92014-04-03 14:43:30 -070058 FlowEntryAction act_copy = new FlowEntryAction();
59 act_copy.setActionOutput(new Port(Port.PortValues.PORT_CONTROLLER));
60 ;
61 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090062
Ray Milkey269ffb92014-04-03 14:43:30 -070063 assertEquals("toString must match between copies", act.toString(),
64 act_copy.toString());
65 assertEquals("toString must match between copies", act.toString(),
66 act_copy2.toString());
67 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090068
Ray Milkey269ffb92014-04-03 14:43:30 -070069 @Test
70 public void testSetActionSetVlanIdActionSetVlanId() {
71 FlowEntryAction act = new FlowEntryAction();
72 ActionSetVlanId actVlan = new FlowEntryAction.ActionSetVlanId((short) 42);
73 act.setActionSetVlanId(actVlan);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090074
Ray Milkey269ffb92014-04-03 14:43:30 -070075 assertEquals("action type", FlowEntryAction.ActionValues.ACTION_SET_VLAN_VID, act.actionType());
76 assertEquals("vlanid should be the same", actVlan.vlanId(), act.actionSetVlanId().vlanId());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090077
Ray Milkey269ffb92014-04-03 14:43:30 -070078 FlowEntryAction act_copy = new FlowEntryAction(act);
79 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090080
Ray Milkey269ffb92014-04-03 14:43:30 -070081 assertEquals("toString must match between copies", act.toString(),
82 act_copy.toString());
83 assertEquals("toString must match between copies", act.toString(),
84 act_copy2.toString());
85 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090086
Ray Milkey269ffb92014-04-03 14:43:30 -070087 @Test
88 public void testSetActionSetVlanIdShort() {
89 FlowEntryAction act = new FlowEntryAction();
90 act.setActionSetVlanId((short) 42);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090091
Ray Milkey269ffb92014-04-03 14:43:30 -070092 FlowEntryAction act_copy = new FlowEntryAction(act);
93 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +090094
Ray Milkey269ffb92014-04-03 14:43:30 -070095 assertEquals("toString must match between copies", act.toString(),
96 act_copy.toString());
97 assertEquals("toString must match between copies", act.toString(),
98 act_copy2.toString());
99 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900100
Ray Milkey269ffb92014-04-03 14:43:30 -0700101 @Test
102 public void testSetActionSetVlanPriorityActionSetVlanPriority() {
103 FlowEntryAction act = new FlowEntryAction();
104 ActionSetVlanPriority actVlan = new FlowEntryAction.ActionSetVlanPriority((byte) 42);
105 act.setActionSetVlanPriority(actVlan);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900106
Ray Milkey269ffb92014-04-03 14:43:30 -0700107 assertEquals("action type", FlowEntryAction.ActionValues.ACTION_SET_VLAN_PCP, act.actionType());
108 assertEquals("vlan priority should be the same", actVlan.vlanPriority(), act.actionSetVlanPriority().vlanPriority());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900109
Ray Milkey269ffb92014-04-03 14:43:30 -0700110 FlowEntryAction act_copy = new FlowEntryAction(act);
111 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900112
Ray Milkey269ffb92014-04-03 14:43:30 -0700113 assertEquals("toString must match between copies", act.toString(),
114 act_copy.toString());
115 assertEquals("toString must match between copies", act.toString(),
116 act_copy2.toString());
117 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900118
Ray Milkey269ffb92014-04-03 14:43:30 -0700119 @Test
120 public void testSetActionSetVlanPriorityByte() {
121 FlowEntryAction act = new FlowEntryAction();
122 act.setActionSetVlanPriority((byte) 42);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900123
Ray Milkey269ffb92014-04-03 14:43:30 -0700124 FlowEntryAction act_copy = new FlowEntryAction(act);
125 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900126
Ray Milkey269ffb92014-04-03 14:43:30 -0700127 assertEquals("toString must match between copies", act.toString(),
128 act_copy.toString());
129 assertEquals("toString must match between copies", act.toString(),
130 act_copy2.toString());
131 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900132
Ray Milkey269ffb92014-04-03 14:43:30 -0700133 @Test
134 public void testSetActionStripVlanActionStripVlan() {
135 FlowEntryAction act = new FlowEntryAction();
136 ActionStripVlan actVlan = new FlowEntryAction.ActionStripVlan();
137 act.setActionStripVlan(actVlan);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900138
Ray Milkey269ffb92014-04-03 14:43:30 -0700139 assertEquals("action type", FlowEntryAction.ActionValues.ACTION_STRIP_VLAN, act.actionType());
140 assertEquals("vlanid should be the same", actVlan.stripVlan(), act.actionStripVlan().stripVlan());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900141
Ray Milkey269ffb92014-04-03 14:43:30 -0700142 FlowEntryAction act_copy = new FlowEntryAction(act);
143 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900144
Ray Milkey269ffb92014-04-03 14:43:30 -0700145 assertEquals("toString must match between copies", act.toString(),
146 act_copy.toString());
147 assertEquals("toString must match between copies", act.toString(),
148 act_copy2.toString());
149 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900150
Ray Milkey269ffb92014-04-03 14:43:30 -0700151 @Test
152 public void testSetActionStripVlanBoolean() {
153 FlowEntryAction act = new FlowEntryAction();
154 act.setActionStripVlan(true);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900155
Ray Milkey269ffb92014-04-03 14:43:30 -0700156 FlowEntryAction act_copy = new FlowEntryAction(act);
157 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900158
Ray Milkey269ffb92014-04-03 14:43:30 -0700159 assertEquals("toString must match between copies", act.toString(),
160 act_copy.toString());
161 assertEquals("toString must match between copies", act.toString(),
162 act_copy2.toString());
163 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900164
Ray Milkey269ffb92014-04-03 14:43:30 -0700165 @Test
166 public void testSetActionSetEthernetSrcAddrActionSetEthernetAddr() {
167 FlowEntryAction act = new FlowEntryAction();
168 byte[] mac = {1, 2, 3, 4, 5, 6};
169 ActionSetEthernetAddr setEth = new FlowEntryAction.ActionSetEthernetAddr(new MACAddress(mac));
170 act.setActionSetEthernetSrcAddr(setEth);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900171
Ray Milkey269ffb92014-04-03 14:43:30 -0700172 assertEquals("action type", FlowEntryAction.ActionValues.ACTION_SET_DL_SRC, act.actionType());
173 assertEquals("addr should be the same", setEth.addr(), act.actionSetEthernetSrcAddr().addr());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900174
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900175
Ray Milkey269ffb92014-04-03 14:43:30 -0700176 FlowEntryAction act_copy = new FlowEntryAction(act);
177 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900178
Ray Milkey269ffb92014-04-03 14:43:30 -0700179 assertEquals("toString must match between copies", act.toString(),
180 act_copy.toString());
181 assertEquals("toString must match between copies", act.toString(),
182 act_copy2.toString());
183 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900184
Ray Milkey269ffb92014-04-03 14:43:30 -0700185 @Test
186 public void testSetActionSetEthernetSrcAddrMACAddress() {
187 FlowEntryAction act = new FlowEntryAction();
188 byte[] mac = {1, 2, 3, 4, 5, 6};
189 act.setActionSetEthernetSrcAddr(new MACAddress(mac));
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900190
Ray Milkey269ffb92014-04-03 14:43:30 -0700191 FlowEntryAction act_copy = new FlowEntryAction(act);
192 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900193
Ray Milkey269ffb92014-04-03 14:43:30 -0700194 assertEquals("toString must match between copies", act.toString(),
195 act_copy.toString());
196 assertEquals("toString must match between copies", act.toString(),
197 act_copy2.toString());
198 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900199
Ray Milkey269ffb92014-04-03 14:43:30 -0700200 @Test
201 public void testSetActionSetEthernetDstAddrActionSetEthernetAddr() {
202 FlowEntryAction act = new FlowEntryAction();
203 byte[] mac = {1, 2, 3, 4, 5, 6};
204 ActionSetEthernetAddr setEth = new FlowEntryAction.ActionSetEthernetAddr(new MACAddress(mac));
205 act.setActionSetEthernetDstAddr(setEth);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900206
Ray Milkey269ffb92014-04-03 14:43:30 -0700207 assertEquals("action type", FlowEntryAction.ActionValues.ACTION_SET_DL_DST, act.actionType());
208 assertEquals("addr should be the same", setEth.addr(), act.actionSetEthernetDstAddr().addr());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900209
Ray Milkey269ffb92014-04-03 14:43:30 -0700210 FlowEntryAction act_copy = new FlowEntryAction(act);
211 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900212
Ray Milkey269ffb92014-04-03 14:43:30 -0700213 assertEquals("toString must match between copies", act.toString(),
214 act_copy.toString());
215 assertEquals("toString must match between copies", act.toString(),
216 act_copy2.toString());
217 }
218
219 @Test
220 public void testSetActionSetEthernetDstAddrMACAddress() {
221 FlowEntryAction act = new FlowEntryAction();
222 byte[] mac = {1, 2, 3, 4, 5, 6};
223 act.setActionSetEthernetDstAddr(new MACAddress(mac));
224
225 FlowEntryAction act_copy = new FlowEntryAction(act);
226 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900227
Ray Milkey269ffb92014-04-03 14:43:30 -0700228 assertEquals("toString must match between copies", act.toString(),
229 act_copy.toString());
230 assertEquals("toString must match between copies", act.toString(),
231 act_copy2.toString());
232 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900233
Ray Milkey269ffb92014-04-03 14:43:30 -0700234 @Test
235 public void testSetActionSetIPv4SrcAddrActionSetIPv4Addr() {
236 FlowEntryAction act = new FlowEntryAction();
237 ActionSetIPv4Addr setIp = new FlowEntryAction.ActionSetIPv4Addr(new IPv4("127.0.0.1"));
238 act.setActionSetIPv4SrcAddr(setIp);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900239
Ray Milkey269ffb92014-04-03 14:43:30 -0700240 assertEquals("action type", FlowEntryAction.ActionValues.ACTION_SET_NW_SRC, act.actionType());
241 assertEquals("addr should be the same", setIp.addr(), act.actionSetIPv4SrcAddr().addr());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900242
Ray Milkey269ffb92014-04-03 14:43:30 -0700243 FlowEntryAction act_copy = new FlowEntryAction(act);
244 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900245
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900246
Ray Milkey269ffb92014-04-03 14:43:30 -0700247 assertEquals("toString must match between copies", act.toString(),
248 act_copy.toString());
249 assertEquals("toString must match between copies", act.toString(),
250 act_copy2.toString());
251 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900252
Ray Milkey269ffb92014-04-03 14:43:30 -0700253 @Test
254 public void testSetActionSetIPv4SrcAddrIPv4() {
255 FlowEntryAction act = new FlowEntryAction();
256 act.setActionSetIPv4SrcAddr(new IPv4("127.0.0.1"));
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900257
Ray Milkey269ffb92014-04-03 14:43:30 -0700258 FlowEntryAction act_copy = new FlowEntryAction(act);
259 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900260
Ray Milkey269ffb92014-04-03 14:43:30 -0700261 assertEquals("toString must match between copies", act.toString(),
262 act_copy.toString());
263 assertEquals("toString must match between copies", act.toString(),
264 act_copy2.toString());
265 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900266
Ray Milkey269ffb92014-04-03 14:43:30 -0700267 @Test
268 public void testSetActionSetIPv4DstAddrActionSetIPv4Addr() {
269 FlowEntryAction act = new FlowEntryAction();
270 ActionSetIPv4Addr setIp = new FlowEntryAction.ActionSetIPv4Addr(new IPv4("127.0.0.1"));
271 act.setActionSetIPv4DstAddr(setIp);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900272
Ray Milkey269ffb92014-04-03 14:43:30 -0700273 assertEquals("action type", FlowEntryAction.ActionValues.ACTION_SET_NW_DST, act.actionType());
274 assertEquals("addr should be the same", setIp.addr(), act.actionSetIPv4DstAddr().addr());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900275
Ray Milkey269ffb92014-04-03 14:43:30 -0700276 FlowEntryAction act_copy = new FlowEntryAction(act);
277 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900278
Ray Milkey269ffb92014-04-03 14:43:30 -0700279 assertEquals("toString must match between copies", act.toString(),
280 act_copy.toString());
281 assertEquals("toString must match between copies", act.toString(),
282 act_copy2.toString());
283 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900284
Ray Milkey269ffb92014-04-03 14:43:30 -0700285 @Test
286 public void testSetActionSetIPv4DstAddrIPv4() {
287 FlowEntryAction act = new FlowEntryAction();
288 act.setActionSetIPv4DstAddr(new IPv4("127.0.0.1"));
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900289
Ray Milkey269ffb92014-04-03 14:43:30 -0700290 FlowEntryAction act_copy = new FlowEntryAction(act);
291 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900292
Ray Milkey269ffb92014-04-03 14:43:30 -0700293 assertEquals("toString must match between copies", act.toString(),
294 act_copy.toString());
295 assertEquals("toString must match between copies", act.toString(),
296 act_copy2.toString());
297 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900298
Ray Milkey269ffb92014-04-03 14:43:30 -0700299 @Test
300 public void testSetActionSetIpToSActionSetIpToS() {
301 FlowEntryAction act = new FlowEntryAction();
302 ActionSetIpToS setIpTos = new FlowEntryAction.ActionSetIpToS((byte) 42);
303 act.setActionSetIpToS(setIpTos);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900304
Ray Milkey269ffb92014-04-03 14:43:30 -0700305 assertEquals("action type", FlowEntryAction.ActionValues.ACTION_SET_NW_TOS, act.actionType());
306 assertEquals("tos should be the same", setIpTos.ipToS(), act.actionSetIpToS().ipToS());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900307
Ray Milkey269ffb92014-04-03 14:43:30 -0700308 FlowEntryAction act_copy = new FlowEntryAction(act);
309 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900310
Ray Milkey269ffb92014-04-03 14:43:30 -0700311 assertEquals("toString must match between copies", act.toString(),
312 act_copy.toString());
313 assertEquals("toString must match between copies", act.toString(),
314 act_copy2.toString());
315 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900316
Ray Milkey269ffb92014-04-03 14:43:30 -0700317 @Test
318 public void testSetActionSetIpToSByte() {
319 FlowEntryAction act = new FlowEntryAction();
320 act.setActionSetIpToS((byte) 1);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900321
Ray Milkey269ffb92014-04-03 14:43:30 -0700322 FlowEntryAction act_copy = new FlowEntryAction(act);
323 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900324
Ray Milkey269ffb92014-04-03 14:43:30 -0700325 assertEquals("toString must match between copies", act.toString(),
326 act_copy.toString());
327 assertEquals("toString must match between copies", act.toString(),
328 act_copy2.toString());
329 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900330
Ray Milkey269ffb92014-04-03 14:43:30 -0700331 @Test
332 public void testSetActionSetTcpUdpSrcPortActionSetTcpUdpPort() {
333 FlowEntryAction act = new FlowEntryAction();
334 ActionSetTcpUdpPort setPorts = new FlowEntryAction.ActionSetTcpUdpPort((short) 42);
335 act.setActionSetTcpUdpSrcPort(setPorts);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900336
Ray Milkey269ffb92014-04-03 14:43:30 -0700337 assertEquals("action type", FlowEntryAction.ActionValues.ACTION_SET_TP_SRC, act.actionType());
338 assertEquals("port should be the same", setPorts.port(), act.actionSetTcpUdpSrcPort().port());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900339
Ray Milkey269ffb92014-04-03 14:43:30 -0700340 FlowEntryAction act_copy = new FlowEntryAction(act);
341 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900342
Ray Milkey269ffb92014-04-03 14:43:30 -0700343 assertEquals("toString must match between copies", act.toString(),
344 act_copy.toString());
345 assertEquals("toString must match between copies", act.toString(),
346 act_copy2.toString());
347 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900348
Ray Milkey269ffb92014-04-03 14:43:30 -0700349 @Test
350 public void testSetActionSetTcpUdpSrcPortShort() {
351 FlowEntryAction act = new FlowEntryAction();
352 act.setActionSetTcpUdpSrcPort((short) 1);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900353
Ray Milkey269ffb92014-04-03 14:43:30 -0700354 FlowEntryAction act_copy = new FlowEntryAction(act);
355 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900356
Ray Milkey269ffb92014-04-03 14:43:30 -0700357 assertEquals("toString must match between copies", act.toString(),
358 act_copy.toString());
359 assertEquals("toString must match between copies", act.toString(),
360 act_copy2.toString());
361 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900362
Ray Milkey269ffb92014-04-03 14:43:30 -0700363 @Test
364 public void testSetActionSetTcpUdpDstPortActionSetTcpUdpPort() {
365 FlowEntryAction act = new FlowEntryAction();
366 ActionSetTcpUdpPort setPorts = new FlowEntryAction.ActionSetTcpUdpPort((short) 42);
367 act.setActionSetTcpUdpDstPort(setPorts);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900368
Ray Milkey269ffb92014-04-03 14:43:30 -0700369 assertEquals("action type", FlowEntryAction.ActionValues.ACTION_SET_TP_DST, act.actionType());
370 assertEquals("port should be the same", setPorts.port(), act.actionSetTcpUdpDstPort().port());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900371
Ray Milkey269ffb92014-04-03 14:43:30 -0700372 FlowEntryAction act_copy = new FlowEntryAction(act);
373 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900374
Ray Milkey269ffb92014-04-03 14:43:30 -0700375 assertEquals("toString must match between copies", act.toString(),
376 act_copy.toString());
377 assertEquals("toString must match between copies", act.toString(),
378 act_copy2.toString());
379 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900380
Ray Milkey269ffb92014-04-03 14:43:30 -0700381 @Test
382 public void testSetActionSetTcpUdpDstPortShort() {
383 FlowEntryAction act = new FlowEntryAction();
384 act.setActionSetTcpUdpDstPort((short) 1);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900385
Ray Milkey269ffb92014-04-03 14:43:30 -0700386 FlowEntryAction act_copy = new FlowEntryAction(act);
387 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900388
Ray Milkey269ffb92014-04-03 14:43:30 -0700389 assertEquals("toString must match between copies", act.toString(),
390 act_copy.toString());
391 assertEquals("toString must match between copies", act.toString(),
392 act_copy2.toString());
393 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900394
Ray Milkey269ffb92014-04-03 14:43:30 -0700395 @Test
396 public void testSetActionEnqueueActionEnqueue() {
397 FlowEntryAction act = new FlowEntryAction();
398 ActionEnqueue enq = new FlowEntryAction.ActionEnqueue(new Port((short) 42), 1);
399 act.setActionEnqueue(enq);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900400
Ray Milkey269ffb92014-04-03 14:43:30 -0700401 assertEquals("action type", FlowEntryAction.ActionValues.ACTION_ENQUEUE, act.actionType());
402 assertEquals("port should be the same", enq.port(), act.actionEnqueue().port());
403 assertEquals("queue id should be the same", enq.queueId(), act.actionEnqueue().queueId());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900404
Ray Milkey269ffb92014-04-03 14:43:30 -0700405 FlowEntryAction act_copy = new FlowEntryAction(act);
406 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900407
Ray Milkey269ffb92014-04-03 14:43:30 -0700408 assertEquals("toString must match between copies", act.toString(),
409 act_copy.toString());
410 assertEquals("toString must match between copies", act.toString(),
411 act_copy2.toString());
412 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900413
Ray Milkey269ffb92014-04-03 14:43:30 -0700414 @Test
415 public void testSetActionEnqueuePortInt() {
416 FlowEntryAction act = new FlowEntryAction();
417 act.setActionEnqueue(new Port((short) 42), 1);
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900418
Ray Milkey269ffb92014-04-03 14:43:30 -0700419 FlowEntryAction act_copy = new FlowEntryAction(act);
420 FlowEntryAction act_copy2 = new FlowEntryAction(act.toString());
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900421
Ray Milkey269ffb92014-04-03 14:43:30 -0700422 assertEquals("toString must match between copies", act.toString(),
423 act_copy.toString());
424 assertEquals("toString must match between copies", act.toString(),
425 act_copy2.toString());
426 }
HIGUCHI Yutad8dc9c02013-08-04 06:16:30 +0900427
428}