2 * Copyright (C) 2015 IBM, Inc.
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
9 package org.opendaylight.neutron.e2etest;
11 import java.io.OutputStreamWriter;
13 import java.lang.Thread;
15 import java.net.HttpURLConnection;
18 import org.junit.Assert;
20 public class NeutronLBListenerTests {
23 public NeutronLBListenerTests(String base) {
27 public void listener_collection_get_test() {
28 String url = base + "/lbaas/listeners";
29 ITNeutronE2E.test_fetch(url, "LB Listener Collection GET failed");
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");
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");
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");
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");
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");
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");
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");
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();