tapaas: tapaas support
[neutron.git] / integration / test / src / test / java / org / opendaylight / neutron / e2etest / NeutronTapFlowTests.java
1 /*
2  * Copyright (C) 2017 Intel, Corp.
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
9 package org.opendaylight.neutron.e2etest;
10
11 public class NeutronTapFlowTests {
12     String base;
13
14     public NeutronTapFlowTests(String base) {
15         this.base = base;
16     }
17
18     public void tap_flow_collection_get_test() {
19         String url = base + "/tap/flows";
20         ITNeutronE2E.test_fetch(url, "Tap Flow collection GET failed");
21     }
22
23     public String singleton_tap_flow_create_test() {
24         String url = base + "/tap/flows/b6440bbb-35f3-48ab-8eae-69c60aef3546/flows";
25         String content = "{\"tap_flow\": {\"id\": \"f6220bbb-35f3-48ab-8eae-69c60aef3546\","
26                 + "\"tenant_id\": \"aa902936679e4ea29bfe1158e3450a13\","
27                 + "\"name\": \"tap-flow-test\","
28                 + "\"tap_service_id\": \"b6440bbb-35f3-48ab-8eae-69c60aef3546\","
29                 + "\"source_port\": \"411d75c3-4da8-4267-8aed-6dbb19a3dcfe\","
30                 + "\"direction\": \"BOTH\" }}";
31         ITNeutronE2E.test_create(url, content, "Tap Flow Singleton POST Failed");
32         return content;
33     }
34
35     public void singleton_tap_flow_get_with_query_item_test(String createJsonString) {
36         String url = base + "/tap/flows/b6440bbb-35f3-48ab-8eae-69c60aef3546";
37         ITNeutronE2E.test_fetch_with_one_query_item(url, createJsonString, "flows");
38     }
39
40     public void tap_flow_modify_test() {
41         String url = base + "/tap/flows/b6440bbb-35f3-48ab-8eae-69c60aef3546"
42                           + "/flows/f6220bbb-35f3-48ab-8eae-69c60aef3546";
43         String content = "{\"tap-flow\": {\"id\": \"f6220bbb-35f3-48ab-8eae-69c60aef3546\","
44                 + "\"tenant_id\": \"aa902936679e4ea29bfe1158e3450a13\","
45                 + "\"name\": \"tap-flow-test2\","
46                 + "\"tap_service_id\": \"b6440bbb-35f3-48ab-8eae-69c60aef3546\","
47                 + "\"source_port\": \"611d75c3-4da8-4267-8aed-6dbb19a3dcfe\","
48                 + "\"direction\": \"IN\" }}";
49         ITNeutronE2E.test_modify(url, content, "Tap Flow Singleton PUT failed");
50     }
51
52     public void tap_flow_element_get_test() {
53         String url = base + "/tap/flows/b6440bbb-35f3-48ab-8eae-69c60aef3546"
54                           + "/flows/f6220bbb-35f3-48ab-8eae-69c60aef3546";
55         ITNeutronE2E.test_fetch(url, true, "Tap Flow Element Get failed");
56     }
57
58     public void tap_flow_element_get_with_query_test() {
59         String url = base + "/tap/flows/b6440bbb-35f3-48ab-8eae-69c60aef3546"
60                 + "/flows/f6220bbb-35f3-48ab-8eae-69c60aef3546"
61                 + "?fields=tenant_id&fields=id&fields=name&fields=tap_service_id"
62                 + "?fields=source_port&fields=direction"
63                 + "&fields=limits&fields=marker&fields=page_reverse";
64         ITNeutronE2E.test_fetch(url, true, "Tap Flow Element Get with Query Failed");
65     }
66
67     public void tap_flow_delete_test() {
68         String url = base + "/tap/flows/b6440bbb-35f3-48ab-8eae-69c60aef3546"
69                           + "/flows/f6220bbb-35f3-48ab-8eae-69c60aef3546";
70         ITNeutronE2E.test_delete(url, "Tap Flow Delete Failed");
71     }
72
73     public void tap_flow_element_negative_get_test() {
74         String url = base + "/tap/flows/b6440bbb-35f3-48ab-8eae-69c60aef3546"
75                           + "/flows/f6220bbb-35f3-48ab-8eae-69c60aef3546";
76         ITNeutronE2E.test_fetch(url, false, "Tap Flow Element Negative Get Failed");
77     }
78
79     public static void runTests(String base) {
80         NeutronTapFlowTests tapFlowTester = new NeutronTapFlowTests(base);
81         String createJsonString = tapFlowTester.singleton_tap_flow_create_test();
82         tapFlowTester.singleton_tap_flow_get_with_query_item_test(createJsonString);
83         tapFlowTester.tap_flow_element_get_test();
84         tapFlowTester.tap_flow_element_get_with_query_test();
85         tapFlowTester.tap_flow_collection_get_test();
86         tapFlowTester.tap_flow_modify_test();
87         tapFlowTester.tap_flow_delete_test();
88         tapFlowTester.tap_flow_element_negative_get_test();
89     }
90 }