NeutronIPSECSiteConnectionTests ipsec_siteConnection_test = new NeutronIPSECSiteConnectionTests(base);
ipsec_siteConnection_test.ipsecSiteConnection_collection_get_test();
+
+ // tests related to bug 3812
+ Neutron_Bug3812_Tests bugTest = new Neutron_Bug3812_Tests(base);
+ bugTest.check_bug3812();
+ }
+
+ static HttpURLConnection HttpURLConnectionFactoryGet(URL url) throws Exception {
+ HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
+ httpConn.setRequestMethod("GET");
+ httpConn.setRequestProperty("Content-Type", "application/json");
+ httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
+ return(httpConn);
+ }
+
+ static HttpURLConnection HttpURLConnectionFactoryDelete(URL url) throws Exception {
+ HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
+ httpConn.setRequestMethod("DELETE");
+ httpConn.setRequestProperty("Content-Type", "application/json");
+ httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
+ return(httpConn);
+ }
+
+ static HttpURLConnection HttpURLConnectionFactoryPost(URL url, String content) throws Exception {
+ HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
+ httpConn.setRequestMethod("POST");
+ httpConn.setRequestProperty("Content-Type", "application/json");
+ httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
+ httpConn.setDoOutput(true);
+ OutputStreamWriter out = new OutputStreamWriter(
+ httpConn.getOutputStream());
+ out.write(content);
+ out.close();
+ return(httpConn);
+ }
+
+ static HttpURLConnection HttpURLConnectionFactoryPut(URL url, String content) throws Exception {
+ HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
+ httpConn.setRequestMethod("PUT");
+ httpConn.setRequestProperty("Content-Type", "application/json");
+ httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
+ httpConn.setDoOutput(true);
+ OutputStreamWriter out = new OutputStreamWriter(
+ httpConn.getOutputStream());
+ out.write(content);
+ out.close();
+ return(httpConn);
+ }
+
+ static void test_create(String url_s, String content, String context) {
+ try {
+ URL url = new URL(url_s);
+ HttpURLConnection httpConn = HttpURLConnectionFactoryPost(url, content);
+ Assert.assertEquals(context, 201, httpConn.getResponseCode());
+ } catch (Exception e) {
+ e.printStackTrace(); // temporary, remove me
+ Assert.assertFalse("E2E Tests Failed", true);
+ }
+ }
+
+ static void test_modify(String url_s, String content, String context) {
+ try {
+ URL url = new URL(url_s);
+ HttpURLConnection httpConn = HttpURLConnectionFactoryPut(url, content);
+ Assert.assertEquals(context, 200, httpConn.getResponseCode());
+ } catch (Exception e) {
+ e.printStackTrace(); // temporary, remove me
+ Assert.assertFalse("E2E Tests Failed", true);
+ }
+ }
+
+ static void test_fetch(String url_s, String context) {
+ try {
+ URL url = new URL(url_s);
+ HttpURLConnection httpConn = HttpURLConnectionFactoryGet(url);
+ Assert.assertEquals(context, 200, httpConn.getResponseCode());
+ } catch (Exception e) {
+ e.printStackTrace(); // temporary, remove me
+ Assert.assertFalse("E2E Tests Failed", true);
+ }
+ }
+
+ static void test_delete(String url_s, String context) {
+ try {
+ URL url = new URL(url_s);
+ HttpURLConnection httpConn = HttpURLConnectionFactoryDelete(url);
+ Assert.assertEquals(context, 204, httpConn.getResponseCode());
+ } catch (Exception e) {
+ e.printStackTrace(); // temporary, remove me
+ Assert.assertFalse("E2E Tests Failed", true);
+ }
}
}
}
public void floatingIP_collection_get_test() {
- String url_s = base + "/floatingips";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("FloatingIP Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/floatingips";
+ ITNeutronE2E.test_fetch(url,"FloatingIP Collection GET failed");
}
}
}
public void ikePolicy_collection_get_test() {
- String url_s = base + "/vpn/ikepolicies";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("IKE Policy GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/vpn/ikepolicies";
+ ITNeutronE2E.test_fetch(url, "IKE Policy GET failed");
}
}
}
public void ipsecPolicy_collection_get_test() {
- String url_s = base + "/vpn/ipsecpolicies";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("IPSEC Policy Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/vpn/ipsecpolicies";
+ ITNeutronE2E.test_fetch(url, "IPSEC Policy Collection GET failed");
}
}
}
public void ipsecSiteConnection_collection_get_test() {
- String url_s = base + "/vpn/ipsecsiteconnections";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("IPSEC Site Connection Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/vpn/ipsecsiteconnections";
+ ITNeutronE2E.test_fetch(url, "IPSEC Site Connection Collection GET failed");
}
}
}
public void healthMonitor_collection_get_test() {
- String url_s = base + "/lbaas/healthmonitors";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("LB Health Monitor Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/lbaas/healthmonitors";
+ ITNeutronE2E.test_fetch(url, "LB Health Monitor Collection GET failed");
}
}
}
public void listener_collection_get_test() {
- String url_s = base + "/lbaas/listeners";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("LB Listener Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/lbaas/listeners";
+ ITNeutronE2E.test_fetch(url, "LB Listener Collection GET failed");
}
//TODO handle SB check
public void singleton_lb_listener_create_test() {
- String url_s = base + "/lbaas/listeners";
+ String url = base + "/lbaas/listeners";
String content = "{ \"listener\": { " +
"\"admin_state_up\": true, " +
"\"connection_limit\": 100, " +
"\"protocol\": \"HTTP\", " +
"\"protocol_port\": 80, " +
"\"tenant_id\": \"b7c1a69e88bf4b21a8148f787aef2081\" } }";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("Singleton LB Listener Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content, "Singleton LB Listener Post Failed NB");
}
}
String url_s = base + "/pools";
try {
URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
+ HttpURLConnection httpConn = ITNeutronE2E.HttpURLConnectionFactoryGet(url);
Assert.assertEquals("LB Pool Collection GET failed",
200, httpConn.getResponseCode());
} catch (Exception e) {
}
public void pool_collection_get_test() {
- String url_s = base + "/lbaas/pools";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("LB Pool Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/lbaas/pools";
+ ITNeutronE2E.test_fetch(url, "LB Pool Collection GET failed");
}
//TODO handle SB check
public void singleton_lb_pool_create_test() {
- String url_s = base + "/lbaas/pools";
+ String url = base + "/lbaas/pools";
String content = "{ \"pool\": { " +
"\"admin_state_up\": true, " +
"\"description\": \"simple pool\", " +
"\"cookie_name\": \"my_cookie\", " +
"\"type\": \"APP_COOKIE\" }, " +
"\"tenant_id\": \"b7c1a69e88bf4b21a8148f787aef2081\" } }";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("Singleton LB Pool Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content, "Singleton LB Pool Post Failed NB");
}
}
}
public void loadBalancer_collection_get_test() {
- String url_s = base + "/lbaas/loadbalancers";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("Load Balancer Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/lbaas/loadbalancers";
+ ITNeutronE2E.test_fetch(url, "Load Balancer Collection GET failed");
}
//TODO handle SB check
public void singleton_loadbalancer_create_test() {
- String url_s = base + "/lbaas/loadbalancers";
+ String url = base + "/lbaas/loadbalancers";
String content = "{ \"loadbalancer\": { " +
"\"admin_state_up\": true, " +
"\"description\": \"simple lb\", " +
"\"tenant_id\": \"b7c1a69e88bf4b21a8148f787aef2081\", " +
"\"vip_address\": \"10.0.0.4\", " +
"\"vip_subnet_id\": \"013d3059-87a4-45a5-91e9-d721068ae0b2\" } }";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("Singleton Load Balancer Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content, "Singleton Load Balancer Post Failed NB");
}
}
}
public void meteringLabel_collection_get_test() {
- String url_s = base + "/metering/metering-labels";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("Metering Label Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/metering/metering-labels";
+ ITNeutronE2E.test_fetch(url, "Metering Label Collection GET failed");
}
//TODO handle SB check
public void singleton_meteringLabel_create_test() {
- String url_s = base + "/metering/metering-labels";
+ String url = base + "/metering/metering-labels";
String content = "{ \"metering_label\": { " +
"\"tenant_id\": \"45345b0ee1ea477fac0f541b2cb79cd4\", " +
"\"description\": \"description of label1\", " +
"\"name\": \"label1\", " +
"\"id\": \"bc91b832-8465-40a7-a5d8-ba87de442266\" } }";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("Singleton Metering Label Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content, "Singleton Metering Label Post Failed NB");
}
}
}
public void meteringRule_collection_get_test() {
- String url_s = base + "/metering/metering-label-rules";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("Metering Rule Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/metering/metering-label-rules";
+ ITNeutronE2E.test_fetch(url, "Metering Rule Collection GET failed");
}
//TODO handle SB check
public void singleton_meteringLabel_create_test() {
- String url_s = base + "/metering/metering-label-rules";
+ String url = base + "/metering/metering-label-rules";
String content = "{ \"metering_label_rule\": { " +
"\"remote_ip_prefix\": \"10.0.1.0/24\", " +
"\"direction\": \"ingress\", " +
"\"metering_label_id\": \"bc91b832-8465-40a7-a5d8-ba87de442266\", " +
"\"id\": \"00e13b58-b4f2-4579-9c9c-7ac94615f9ae\", " +
"\"excluded\": false } }";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("Singleton Metering Rule Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content, "Singleton Metering Rule Post Failed NB");
}
}
int i = 0;
while (i < 60) {
URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
+ HttpURLConnection httpConn = ITNeutronE2E.HttpURLConnectionFactoryGet(url);
if (httpConn.getResponseCode() != 200) {
System.out.println("trial "+Integer.toString(i)+": failed with: " +
Integer.toString(httpConn.getResponseCode()));
//TODO handle SB check
public void singleton_network_create_test() {
- String url_s = base + "/networks";
+ String url = base + "/networks";
String content = "{ \"network\": {" +
" \"status\": \"ACTIVE\", \"subnets\": [], " +
" \"name\": \"net1\", \"admin_state_up\": true, " +
" \"provider:network_type\": \"stt\" } ], " +
" \"shared\": false, \"id\": \"4e8e5957-649f-477b-9e5b-f1f75b21c03c\" " +
" } } ";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("Singleton Network Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content,"Singleton Network Post Failed NB");
}
//TODO handle SB check
public void external_network_create_test() {
- String url_s = base + "/networks";
+ String url = base + "/networks";
String content = "{ \"network\": {" +
" \"status\": \"ACTIVE\", \"subnets\": [], " +
" \"name\": \"external1\", \"admin_state_up\": true, " +
" \"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", " +
" \"router:external\": true, \"shared\": false, " +
" \"id\": \"8ca37218-28ff-41cb-9b10-039601ea7e6b\" } } ";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("External Network Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content,"External Network Post Failed NB");
}
}
}
public void port_collection_get_test() {
- String url_s = base + "/ports";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("Ports Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/ports";
+ ITNeutronE2E.test_fetch(url, "Ports Collection GET failed");
}
//TODO handle SB check
public void singleton_port_create_test() {
- String url_s = base + "/ports";
+ String url = base + "/ports";
String content = "{ \"port\": { \"status\": \"DOWN\","+
"\"binding:host_id\": \"\","+
"\"name\": \"private-port\","+
"\"id\": \"65c0ee9f-d634-4522-8954-51021b570b0d\","+
"\"security_groups\": [ \"f0ac4394-7e4a-4409-9701-ba8be283dbc3\" ],"+
"\"device_id\": \"\" } }";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("Singleton Port Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content,"Singleton Port Post Failed NB");
}
//TODO handle SB check
public void router_interface_port_create_test() {
- String url_s = base + "/ports";
+ String url = base + "/ports";
String content = "{\"port\": {\"status\": \"DOWN\", \"binding:host_id\": \"\", \"allowed_address_pairs\": [], \"device_owner\": \"network:router_gateway\", \"binding:profile\": {}, \"fixed_ips\": [{\"subnet_id\": \"3b80198d-4f7b-4f77-9ef5-774d54e17126\", \"ip_address\": \"10.0.0.1\"}], \"id\": \"d8a4cc85-ad78-46ac-b5a1-8e04f16fa51e\", \"security_groups\": [], \"device_id\": \"8604a0de-7f6b-409a-a47c-a1cc7bc77b2e\", \"name\": \"\", \"admin_state_up\": true, \"network_id\": \"4e8e5957-649f-477b-9e5b-f1f75b21c03c\", \"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", \"binding:vif_details\": {}, \"binding:vnic_type\": \"normal\", \"binding:vif_type\": \"unbound\", \"mac_address\": \"fa:16:3e:dc:1d:8d\"}}";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("Router Interface Port Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content, "Router Interface Port Post Failed NB");
}
}
}
public void router_collection_get_test() {
- String url_s = base + "/routers";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("Router Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/routers";
+ ITNeutronE2E.test_fetch(url, "Router Collection GET failed");
}
//TODO handle SB check
public void singleton_router_create_test() {
- String url_s = base + "/routers";
+ String url = base + "/routers";
String content = "{ \"router\": { " +
"\"status\": \"ACTIVE\", " +
"\"external_gateway_info\": { " +
"\"admin_state_up\": true, " +
"\"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", " +
"\"id\": \"8604a0de-7f6b-409a-a47c-a1cc7bc77b2e\" } } ";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("Singleton Router Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content, "Singleton Router Post Failed NB");
}
//TODO handle SB check
public void router_add_interface_test() {
- String url_s = base + "/routers/8604a0de-7f6b-409a-a47c-a1cc7bc77b2e/add_router_interface";
+ String url = base + "/routers/8604a0de-7f6b-409a-a47c-a1cc7bc77b2e/add_router_interface";
String content = "{ " +
"\"subnet_id\": \"3b80198d-4f7b-4f77-9ef5-774d54e17126\", " +
"\"port_id\": \"d8a4cc85-ad78-46ac-b5a1-8e04f16fa51e\", " +
"\"tenant_id\": \"9bacb3c5d39d41a79512987f338cf177\", " +
"\"id\": \"8604a0de-7f6b-409a-a47c-a1cc7bc77b2e\"}";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("PUT");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("Add Interface to Router Put Failed NB",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_modify(url, content, "Add Interface to Router Put Failed NB");
}
}
}
public void securityGroup_collection_get_test() {
- String url_s = base + "/security-groups";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("Security Group Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/security-groups";
+ ITNeutronE2E.test_fetch(url, "Security Group Collection GET failed");
}
}
}
public void securityRule_collection_get_test() {
- String url_s = base + "/security-group-rules";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("Security Rule Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/security-group-rules";
+ ITNeutronE2E.test_fetch(url, "Security Rule Collection GET failed");
}
}
}
public void subnet_collection_get_test() {
- String url_s = base + "/subnets";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("Subnet Collection GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/subnets";
+ ITNeutronE2E.test_fetch(url, "Subnet Collection GET failed");
}
//TODO handle SB check
public void singleton_subnet_create_test() {
- String url_s = base + "/subnets";
+ String url = base + "/subnets";
String content = " { \"subnet\": { "+
"\"name\": \"\", "+
"\"enable_dhcp\": true, "+
"\"gateway_ip\": \"10.0.0.1\", "+
"\"cidr\": \"10.0.0.0/24\", "+
"\"id\": \"3b80198d-4f7b-4f77-9ef5-774d54e17126\" } } ";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("Singleton Subnet Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content, "Singleton Subnet Post Failed NB");
}
//TODO handle SB check
public void external_subnet_create_test() {
- String url_s = base + "/subnets";
+ String url = base + "/subnets";
String content = " { \"subnet\": { "+
"\"name\": \"\", "+
"\"enable_dhcp\": true, "+
"\"gateway_ip\": \"10.1.0.1\", "+
"\"cidr\": \"10.1.0.0/24\", "+
"\"id\": \"f13b537f-1268-455f-b5fa-1e6817a9c204\" } } ";
-
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("POST");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- httpConn.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(
- httpConn.getOutputStream());
- out.write(content);
- out.close();
- Assert.assertEquals("External Subnet Post Failed NB",
- 201, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ ITNeutronE2E.test_create(url, content, "External Subnet Post Failed NB");
}
}
}
public void vpnService_collection_get_test() {
- String url_s = base + "/vpn/vpnservices";
- try {
- URL url = new URL(url_s);
- HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
- httpConn.setRequestMethod("GET");
- httpConn.setRequestProperty("Content-Type", "application/json");
- httpConn.setRequestProperty("Authorization", "Basic YWRtaW46YWRtaW4=");
- Assert.assertEquals("VPN Services GET failed",
- 200, httpConn.getResponseCode());
- } catch (Exception e) {
- Assert.assertFalse("E2E Tests Failed", true);
- }
+ String url = base + "/vpn/vpnservices";
+ ITNeutronE2E.test_fetch(url, "VPN Services GET failed");
}
}
--- /dev/null
+/*
+ * Copyright (C) 2015 IBM, Inc.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.neutron.e2etest;
+
+import java.io.OutputStreamWriter;
+
+import java.lang.Thread;
+
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+import org.junit.Assert;
+
+public class Neutron_Bug3812_Tests {
+ String base;
+
+ public Neutron_Bug3812_Tests(String base) {
+ this.base = base;
+ }
+
+ public void check_bug3812() {
+ // create network
+ String url_n = base + "/networks";
+ String content_n = "{\"network\": {\"name\": \"test\", \"provider:physical_network\": \"\", \"router:external\": false, \"tenant_id\": \"04684ce029a6415ca8a9293a24f884b9\", \"admin_state_up\": true, \"shared\": false, \"provider:network_type\": \"vxlan\", \"id\": \"ec36ae5a-ff7f-4441-8229-179e5d5207a7\", \"provider:segmentation_id\": 2550}}";
+ ITNeutronE2E.test_create(url_n, content_n, "Bug 3812 Network Post Failed");
+
+ // create first subnet
+ String url_s = base + "/subnets";
+ String content_s1 = "{\"subnet\": {\"name\": \"s1\", \"enable_dhcp\": true, \"network_id\": \"ec36ae5a-ff7f-4441-8229-179e5d5207a7\", \"tenant_id\": \"04684ce029a6415ca8a9293a24f884b9\", \"dns_nameservers\": [], \"gateway_ip\": \"10.0.0.1\", \"ipv6_ra_mode\": \"\", \"allocation_pools\": [{\"start\": \"10.0.0.2\", \"end\": \"10.0.3.254\"}], \"host_routes\": [], \"shared\": false, \"ip_version\": 4, \"ipv6_address_mode\": \"\", \"cidr\": \"10.0.0.0/22\", \"id\": \"64605c41-688d-4548-97da-0f895943f840\", \"subnetpool_id\": \"\"}}";
+ ITNeutronE2E.test_create(url_s, content_s1, "Bug 3812 Subnet 1 Post Failed");
+
+ String url_p = base + "/ports";
+ String content_p1 = "{\"port\": {\"binding:host_id\": \"libra\", \"allowed_address_pairs\": [], \"device_owner\": \"network:dhcp\", \"binding:profile\": {}, \"fixed_ips\": [{\"subnet_id\": \"64605c41-688d-4548-97da-0f895943f840\", \"ip_address\": \"10.0.0.2\"}], \"id\": \"fcd1d7ab-8486-42a0-8f60-9d1a682aa00e\", \"security_groups\": [], \"device_id\": \"dhcp1c8f692f-b8db-5449-80ea-c9243b652e59-ec36ae5a-ff7f-4441-8229-179e5d5207a7\", \"name\": \"\", \"admin_state_up\": true, \"network_id\": \"ec36ae5a-ff7f-4441-8229-179e5d5207a7\", \"tenant_id\": \"04684ce029a6415ca8a9293a24f884b9\", \"binding:vif_details\": {}, \"binding:vnic_type\": \"normal\", \"binding:vif_type\": \"unbound\", \"mac_address\": \"FA:16:3E:02:CB:DE\"}}";
+ ITNeutronE2E.test_create(url_p, content_p1, "Bug 3812 DHCP Port 1 Post Failed");
+
+ String url_p1 = url_p + "/fcd1d7ab-8486-42a0-8f60-9d1a682aa00e";
+ String content_p1m1 = "{\"port\": {\"binding:host_id\": \"libra\", \"allowed_address_pairs\": [], \"extra_dhcp_opts\": [], \"device_owner\": \"network:dhcp\", \"binding:profile\": {}, \"security_groups\": [], \"device_id\": \"dhcp1c8f692f-b8db-5449-80ea-c9243b652e59-ec36ae5a-ff7f-4441-8229-179e5d5207a7\", \"name\": \"\", \"admin_state_up\": true, \"binding:vif_details\": {\"port_filter\": true}, \"binding:vnic_type\": \"normal\", \"binding:vif_type\": \"ovs\"}}";
+ ITNeutronE2E.test_modify(url_p1, content_p1m1, "Bug 3812 DHCP Port 1 Put 1 Failed");
+
+ // subnet 2 create
+ String content_s2 = "{\"subnet\": {\"name\": \"s2\", \"enable_dhcp\": true, \"network_id\": \"ec36ae5a-ff7f-4441-8229-179e5d5207a7\", \"tenant_id\": \"04684ce029a6415ca8a9293a24f884b9\", \"dns_nameservers\": [], \"gateway_ip\": \"20.0.0.1\", \"ipv6_ra_mode\": \"\", \"allocation_pools\": [{\"start\": \"20.0.0.2\", \"end\": \"20.0.3.254\"}], \"host_routes\": [], \"shared\": false, \"ip_version\": 4, \"ipv6_address_mode\": \"\", \"cidr\": \"20.0.0.0/22\", \"id\": \"dd9b62eb-d9a3-42b5-b2f1-bffa43475614\", \"subnetpool_id\": \"\"}}";
+ ITNeutronE2E.test_create(url_s, content_s2, "Bug 3812 Subnet 2 Post Failed");
+
+ String content_p1m2 = "{\"port\": {\"binding:host_id\": \"libra\", \"allowed_address_pairs\": [], \"extra_dhcp_opts\": [], \"device_owner\": \"network:dhcp\", \"binding:profile\": {}, \"security_groups\": [], \"device_id\": \"dhcp1c8f692f-b8db-5449-80ea-c9243b652e59-ec36ae5a-ff7f-4441-8229-179e5d5207a7\", \"name\": \"\", \"admin_state_up\": true, \"binding:vif_details\": {\"port_filter\": true}, \"binding:vnic_type\": \"normal\", \"binding:vif_type\": \"ovs\"}}";
+ ITNeutronE2E.test_modify(url_p1, content_p1m2, "Bug 3812 DHCP Port Put 2 Failed");
+
+ // delete first subnet
+ String content_p1m3 = "{\"port\": {\"binding:host_id\": \"libra\", \"allowed_address_pairs\": [], \"extra_dhcp_opts\": [], \"device_owner\": \"network:dhcp\", \"binding:profile\": {}, \"security_groups\": [], \"device_id\": \"dhcp1c8f692f-b8db-5449-80ea-c9243b652e59-ec36ae5a-ff7f-4441-8229-179e5d5207a7\", \"name\": \"\", \"admin_state_up\": true, \"binding:vif_details\": {\"port_filter\": true}, \"binding:vnic_type\": \"normal\", \"binding:vif_type\": \"ovs\"}}";
+ ITNeutronE2E.test_modify(url_p1, content_p1m3, "Bug 3812 DHCP Port Put 3 Failed");
+
+ String url_s1 = url_s + "/64605c41-688d-4548-97da-0f895943f840";
+ ITNeutronE2E.test_delete(url_s1, "Bug 3812 Subnet 1 Delete Failed");
+ }
+}
return myPorts;
}
+ public List<NeutronPort> getPortsInSubnet(String ignore) {
+ List<NeutronPort> ans = new ArrayList<NeutronPort>();
+ for (NeutronPort port : myPorts) {
+ if (!port.getDeviceOwner().equalsIgnoreCase(ignore)) {
+ ans.add(port);
+ }
+ }
+ return ans;
+ }
+
public void addPort(NeutronPort port) {
myPorts.add(port);
}
return true;
}
NeutronSubnet target = subnetDB.get(subnetUUID);
- return (target.getPortsInSubnet().size() > 0);
+ // note: we want to ignore the DHCP ports, so...
+ return (target.getPortsInSubnet("network:dhcp").size() > 0);
}
protected Subnet toMd(NeutronSubnet subnet) {