Enhancing junits of interface-manager - phase1
[genius.git] / interfacemanager / interfacemanager-impl / src / test / java / org / opendaylight / genius / interfacemanager / test / xtend / ExpectedFlowEntries.xtend
1 /*
2  * Copyright (c) 2016 Red Hat, 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.genius.interfacemanager.test.xtend
9
10 import java.math.BigInteger;
11 import java.util.Collections;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowId;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowBuilder;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.FlowCookie;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Instructions;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.InstructionsBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.GoToTableCase;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.GoToTableCaseBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.WriteMetadataCase;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.WriteMetadataCaseBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.go.to.table._case.GoToTable;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.go.to.table._case.GoToTableBuilder;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.write.metadata._case.WriteMetadata;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.write.metadata._case.WriteMetadataBuilder;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
31
32 import static extension org.opendaylight.mdsal.binding.testutils.XtendBuilderExtensions.operator_doubleGreaterThan
33
34 class ExpectedFlowEntries {
35
36     static def newIngressFlow() {
37         new FlowBuilder >> [
38             cookie = new FlowCookie(134217728bi)
39             flowName = "0:1:23701c04-7e58-4c65-9425-78a80d49a218"
40             hardTimeout = 0
41             id = new FlowId("0:1:23701c04-7e58-4c65-9425-78a80d49a218")
42             idleTimeout = 0
43             instructions = new InstructionsBuilder >> [
44                 instruction = #[
45                     new InstructionBuilder >> [
46                         instruction = new GoToTableCaseBuilder >> [
47                             goToTable = new GoToTableBuilder >> [
48                                 tableId = 17 as short
49                             ]
50                         ]
51                         order = 1
52                     ],
53                     new InstructionBuilder >> [
54                         instruction = new WriteMetadataCaseBuilder >> [
55                             writeMetadata = new WriteMetadataBuilder >> [
56                                 metadata = 1099511627776bi
57                                 metadataMask = 18446742974197923841bi
58                             ]
59                         ]
60                         order = 0
61                     ]
62                 ]
63             ]
64             match = new MatchBuilder >> [
65                 inPort = new NodeConnectorId("openflow:1:2")
66             ]
67             priority = 4
68             tableId = 0 as short
69         ]
70     }
71
72 }