6fee081225c15630154f5cd968dba06af1ff1468
[neutron.git] / integration / test / src / test / java / org / opendaylight / neutron / e2etest / NeutronRouterTests.java
1 /*
2  * Copyright (C) 2015 IBM, Inc.
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 import java.io.BufferedReader;
12 import java.io.InputStreamReader;
13 import java.io.OutputStreamWriter;
14
15 import java.lang.Thread;
16
17 import java.net.HttpURLConnection;
18 import java.net.URL;
19
20 import org.junit.Assert;
21
22 public class NeutronRouterTests {
23     String base;
24
25     public NeutronRouterTests(String base) {
26         this.base = base;
27     }
28
29     public void router_collection_get_test() {
30         String url = base + "/routers";
31         ITNeutronE2E.test_fetch(url, "Router Collection GET failed");
32     }
33
34     //TODO handle SB check
35     public void singleton_router_create_test() {
36         String url = base + "/routers";
37         String content = "{ \"router\": { " +
38             "\"status\": \"ACTIVE\", " +
39             "\"external_gateway_info\": { " +
40                 "\"network_id\": \"8ca37218-28ff-41cb-9b10-039601ea7e6b\" }, " +
41             "\"name\": \"another_router\", " +
42             "\"admin_state_up\": true, " +
43             "\"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", " +
44             "\"id\": \"8604a0de-7f6b-409a-a47c-a1cc7bc77b2e\" } } ";
45         ITNeutronE2E.test_create(url, content, "Singleton Router Post Failed NB");
46     }
47
48     //TODO handle SB check
49     public void create_router() {
50         String url = base + "/routers";
51         String content = "{ \"router\": { " +
52             "\"status\": \"ACTIVE\", " +
53             "\"external_gateway_info\": { " +
54                 "\"network_id\": \"8ca37218-28ff-41cb-9b10-039601ea7e6b\" }, " +
55             "\"name\": \"another_router\", " +
56             "\"admin_state_up\": true, " +
57             "\"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", " +
58             "\"id\": \"8604a0de-7f6b-409a-a47c-a1cc7bc77b2f\" } } ";
59         ITNeutronE2E.test_create(url, content, "Singleton Router Post Failed NB");
60     }
61
62     //TODO handle SB check
63     public void update_router_test() {
64         String url = base + "/routers/8604a0de-7f6b-409a-a47c-a1cc7bc77b2e";
65         String content = "{ \"router\": { " +
66             "\"status\": \"ACTIVE\", " +
67             "\"external_gateway_info\": { " +
68                 "\"network_id\": \"8ca37218-28ff-41cb-9b10-039601ea7e6b\" }, " +
69             "\"name\": \"new_name\", " +
70             "\"admin_state_up\": true, " +
71             "\"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", " +
72             "\"id\": \"8604a0de-7f6b-409a-a47c-a1cc7bc77b2e\" } } ";
73         ITNeutronE2E.test_modify(url, content, "Singleton Router Put Failed NB");
74     }
75
76     //TODO handle SB check
77     public void router_add_interface_test() {
78         String url = base + "/routers/8604a0de-7f6b-409a-a47c-a1cc7bc77b2e/add_router_interface";
79         String content = "{ " +
80             "\"subnet_id\": \"3b80198d-4f7b-4f77-9ef5-774d54e17126\", " +
81             "\"port_id\": \"d8a4cc85-ad78-46ac-b5a1-8e04f16fa51e\", " +
82             "\"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", " +
83             "\"id\": \"8604a0de-7f6b-409a-a47c-a1cc7bc77b2e\"}";
84         ITNeutronE2E.test_modify(url, content, "Add Interface to Router Put Failed NB");
85     }
86
87     //TODO handle SB check
88     public void router_add_interface() {
89         String url = base + "/routers/8604a0de-7f6b-409a-a47c-a1cc7bc77b2f/add_router_interface";
90         String content = "{ " +
91             "\"subnet_id\": \"3b80198d-4f7b-4f77-9ef5-774d54e17126\", " +
92             "\"port_id\": \"d8a4cc85-ad78-46ac-b5a1-8e04f16fa51f\", " +
93             "\"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", " +
94             "\"id\": \"8604a0de-7f6b-409a-a47c-a1cc7bc77b2f\"}";
95         ITNeutronE2E.test_modify(url, content, "Router Prep Interface Add Failed");
96     }
97
98     //TODO handle SB check
99     public void router_remove_interface_test() {
100         String url = base + "/routers/8604a0de-7f6b-409a-a47c-a1cc7bc77b2f/remove_router_interface";
101         String content = "{ " +
102             "\"subnet_id\": \"3b80198d-4f7b-4f77-9ef5-774d54e17126\", " +
103             "\"port_id\": \"d8a4cc85-ad78-46ac-b5a1-8e04f16fa51f\", " +
104             "\"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", " +
105             "\"id\": \"8604a0de-7f6b-409a-a47c-a1cc7bc77b2f\"}";
106         ITNeutronE2E.test_modify(url, content, "Remove Interface to Router Put Failed NB");
107     }
108
109     public void router_element_get_test() {
110         String url = base + "/routers/8604a0de-7f6b-409a-a47c-a1cc7bc77b2f";
111         ITNeutronE2E.test_fetch(url, true, "Router Element Get Test");
112     }
113
114     public void router_delete_test() {
115         String url = base + "/routers/8604a0de-7f6b-409a-a47c-a1cc7bc77b2f";
116         ITNeutronE2E.test_delete(url, "Router Delete Test");
117     }
118
119     public void router_element_negative_get_test() {
120         String url = base + "/routers/8604a0de-7f6b-409a-a47c-a1cc7bc77b2f";
121         ITNeutronE2E.test_fetch(url, false, "Router Element Negative Get Test");
122     }
123
124     public static void runTests(String base) {
125         NeutronRouterTests router_tester = new NeutronRouterTests(base);
126         router_tester.router_collection_get_test();
127         router_tester.singleton_router_create_test();
128         router_tester.router_add_interface_test();
129         router_tester.update_router_test();
130         router_tester.create_router(); // needed for following tests
131         router_tester.router_add_interface();
132         router_tester.router_element_get_test();
133         router_tester.router_remove_interface_test();
134         router_tester.router_delete_test();
135         router_tester.router_element_negative_get_test();
136     }
137 }
138