Merge "Bug 5431 - Fixing bug & adding new tests for VPN files"
[neutron.git] / integration / test / src / test / java / org / opendaylight / neutron / e2etest / NeutronLBListenerTests.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.OutputStreamWriter;
12
13 import java.lang.Thread;
14
15 import java.net.HttpURLConnection;
16 import java.net.URL;
17
18 import org.junit.Assert;
19
20 public class NeutronLBListenerTests {
21     String base;
22
23     public NeutronLBListenerTests(String base) {
24         this.base = base;
25     }
26
27     public void listener_collection_get_test() {
28         String url = base + "/lbaas/listeners";
29         ITNeutronE2E.test_fetch(url, "LB Listener Collection GET failed");
30     }
31
32     //TODO handle SB check
33     public String singleton_lb_listener_create_test() {
34         String url = base + "/lbaas/listeners";
35         String content = "{ \"listener\": { " +
36             "\"admin_state_up\": true, " +
37             "\"connection_limit\": 100, " +
38             "\"default_pool_id\": null, " +
39             "\"description\": \"listener one\", " +
40             "\"id\": \"39de4d56-d663-46e5-85a1-5b9d5fa17829\", " +
41             "\"loadbalancers\": [ { " +
42                 "\"id\": \"a36c20d0-18e9-42ce-88fd-82a35977ee8c\" } ], " +
43             "\"name\": \"listener1\", " +
44             "\"protocol\": \"HTTP\", " +
45             "\"protocol_port\": 80, " +
46             "\"tenant_id\": \"b7c1a69e88bf4b21a8148f787aef2081\" } }";
47         ITNeutronE2E.test_create(url, content, "Singleton LB Listener Post Failed NB");
48         return content;
49     }
50
51     public void singleton_lb_listener_get_with_one_query_item_test(String createJsonString) {
52         String url = base + "/lbaas/listeners";
53         ITNeutronE2E.test_fetch_with_one_query_item(url, createJsonString, "listeners");
54     }
55
56     public void listener_update_test() {
57         String url = base + "/lbaas/listeners/39de4d56-d663-46e5-85a1-5b9d5fa17829";
58         String content = " { \"listener\": { \"admin_state_up\": false," +
59             "\"connection_limit\": 200," +
60             "\"default_pool_id\": null," +
61             "\"description\": \"listener two\"," +
62             "\"id\": \"39de4d56-d663-46e5-85a1-5b9d5fa17829\"," +
63             "\"loadbalancers\": [ {" +
64                     "\"id\": \"a36c20d0-18e9-42ce-88fd-82a35977ee8c\" } ]," +
65             "\"name\": \"listener2\"," +
66             "\"protocol\": \"HTTP\"," +
67             "\"protocol_port\": 80," +
68             "\"tenant_id\": \"1a3e005cf9ce40308c900bcb08e5320c\" } }";
69         ITNeutronE2E.test_modify(url, content,"LB Listener Put Failed");
70     }
71    
72     public void listener_element_get_test() {
73         String url = base + "/lbaas/listeners/39de4d56-d663-46e5-85a1-5b9d5fa17829";
74         ITNeutronE2E.test_fetch(url, true ,"LB Listener Element Get Failed");
75     }
76
77     public void listener_element_get_with_query_test() {
78         String url = base + "/lbaas/listeners/39de4d56-d663-46e5-85a1-5b9d5fa17829" +
79             "?fields=id&fields=tenant_id&fields=name&fields=description" +
80             "&fields=default_pool_id&fields=protocol&fields=protocol_port" +
81             "&fields=admin_state_up&fields=limit&fields=marker&fields=page_reverse";
82         ITNeutronE2E.test_fetch(url, true ,"LB Listener Element Get With Query Failed");
83     }
84
85     public void listener_element_negative_get_test() {
86         String url = base + "/lbaas/listeners/39de4d56-d663-46e5-85a1-5b9d5fa17829";
87         ITNeutronE2E.test_fetch(url, false ,"LB Listener Element Negative Get Failed");
88     }
89
90     public void listener_delete_test() {
91         String url = base + "/lbaas/listeners/39de4d56-d663-46e5-85a1-5b9d5fa17829";
92         ITNeutronE2E.test_delete(url, "LB Listener Element Delete Failed");
93     }
94
95     public static void runTests(String base) {
96         NeutronLBListenerTests listener_tester = new NeutronLBListenerTests(base);
97         String createJsonString = listener_tester.singleton_lb_listener_create_test();
98         listener_tester.singleton_lb_listener_get_with_one_query_item_test(createJsonString);
99         listener_tester.listener_update_test();
100         listener_tester.listener_element_get_test();
101         listener_tester.listener_element_get_with_query_test();
102         listener_tester.listener_collection_get_test();
103         listener_tester.listener_delete_test();
104         listener_tester.listener_element_negative_get_test();
105     }
106 }