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