2 * Copyright (c) 2017 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
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 com.google.gson.JsonElement;
12 import com.google.gson.JsonObject;
13 import org.junit.Assert;
15 public class NeutronTrunkTests {
18 public NeutronTrunkTests(String base) {
22 public void trunk_collection_get_test() {
23 String url = base + "/trunks";
24 ITNeutronE2E.test_fetch(url, "Trunk collection GET failed");
27 public String singleton_trunk_create_test() {
28 String url = base + "/trunks";
29 String content = "{\"trunk\":{\"status\":\"DOWN\",\"name\":\"trunk0\",\"admin_state_up\":true, "
30 + "\"tenant_id\":\"cc3641789c8a4304abaa841c64f638d9\", "
31 + "\"port_id\":\"60aac28d-1d3a-48d9-99bc-dd4bd62e50f2\", "
32 + "\"sub_ports\":[{\"segmentation_type\":\"vlan\", "
33 + "\"port_id\":\"dca33436-2a7c-415b-aa35-14769e7834e3\",\"segmentation_id\":101}, "
34 + "{\"segmentation_type\":\"vlan\",\"port_id\":\"be28febe-bdff-45cc-8a2d-872d54e62527\", "
35 + "\"segmentation_id\":102}],\"id\":\"c935240e-4aa6-496a-841c-d113c54499b9\", "
36 + "\"description\":\"test trunk0\"} }";
37 ITNeutronE2E.test_create(url, content, "Singleton Trunk Post Failed NB");
41 public void singleton_trunk_get_with_one_query_item_test(String createJsonString) {
42 String url = base + "/trunks";
43 ITNeutronE2E.test_fetch_with_one_query_item(url, createJsonString, "trunks");
46 public String singleton_default_trunk_create_test() {
47 String url = base + "/trunks";
48 String content = "{\"trunk\":{\"name\":\"trunkdefault\", "
49 + "\"tenant_id\":\"cc3641789c8a4304abaa841c64f638d9\", "
50 + "\"port_id\":\"60aac28d-1d3a-48d9-99bc-dd4bd62e50f2\", "
51 + "\"sub_ports\":[{\"segmentation_type\":\"vlan\", "
52 + "\"port_id\":\"dca33436-2a7c-415b-aa35-14769e7834e3\",\"segmentation_id\":101}, "
53 + "{\"segmentation_type\":\"vlan\",\"port_id\":\"be28febe-bdff-45cc-8a2d-872d54e62527\", "
54 + "\"segmentation_id\":102}],\"id\":\"d935240e-4aa6-d96a-d41c-d113c54499b9\", "
55 + "\"description\":\"test trunkdefault\"} }";
56 ITNeutronE2E.test_create(url, content, "Singleton Default Trunk Post Failed NB");
60 public void default_trunk_content_validation_test() {
61 //Validates NeutronTrunk default parmeters are set.
62 //Default parameters: status,admin_state_up
63 String element = "status";
64 String url = base + "/trunks/d935240e-4aa6-d96a-d41c-d113c54499b9?fields=" + element;
65 String expectedContent = "\"DOWN\"";
66 String context = "Trunk details do not match.";
67 JsonObject jsonObjectOutput = ITNeutronE2E.test_fetch_gson(url, context);
68 jsonObjectOutput = jsonObjectOutput.getAsJsonObject("trunk");
69 JsonElement jsonElementValue = jsonObjectOutput.get(element);
70 Assert.assertEquals(context, expectedContent, String.valueOf(jsonElementValue));
71 element = "admin_state_up";
72 url = base + "/trunks/d935240e-4aa6-d96a-d41c-d113c54499b9?fields=" + element;
73 jsonObjectOutput = ITNeutronE2E.test_fetch_gson(url, context);
74 jsonObjectOutput = jsonObjectOutput.getAsJsonObject("trunk");
75 jsonElementValue = jsonObjectOutput.get(element);
76 Assert.assertEquals(context, true, jsonElementValue.getAsBoolean());
79 public void bulk_trunk_create_test() {
80 String url = base + "/trunks";
81 String content = "{\"trunks\":[{\"status\":\"DOWN\",\"name\":\"trunk1\",\"admin_state_up\":true, "
82 + "\"tenant_id\":\"cc3641789c8a4304abaa841c64f638d9\", "
83 + "\"port_id\":\"87927a7a-86ec-4062-946f-40222ec583ca\", "
84 + "\"sub_ports\":[{\"segmentation_type\":\"vlan\", "
85 + "\"port_id\":\"75e366aa-51b6-4ec8-9695-739c465377f7\",\"segmentation_id\":101}, "
86 + "{\"segmentation_type\":\"vlan\",\"port_id\":\"e12f8356-ff66-4948-979f-9dedb63ee299\", "
87 + "\"segmentation_id\":102}],\"id\":\"bc587c4c-de31-42b1-89c3-809add88c9b3\", "
88 + "\"description\":\"test trunk1\"},"
89 + "{\"status\":\"ACTIVE\",\"name\":\"trunk2\",\"admin_state_up\":true, "
90 + "\"tenant_id\":\"cc3641789c8a4304abaa841c64f638d9\","
91 + "\"port_id\":\"f5624c68-eda2-42c1-92a1-53094707dc36\", "
92 + "\"sub_ports\":[{\"segmentation_type\":\"vlan\", "
93 + "\"port_id\":\"2a4897de-d5ba-4bd5-8998-4f86e083e3fd\", \"segmentation_id\":101},"
94 + "{\"segmentation_type\":\"vlan\",\"port_id\":\"9dedb63e-ff66-4948-979f-e12f8356e299\", "
95 + "\"segmentation_id\":102}],"
96 + "\"id\":\"5e97b0a4-b5a3-49fd-b0cb-821bec16acfe\",\"description\":\"test trunk2\"}]}";
97 ITNeutronE2E.test_create(url, content, "Bulk Trunk Post Failed");
100 public void trunk_update_test() {
101 String url = base + "/trunks/c935240e-4aa6-496a-841c-d113c54499b9";
102 String content = "{\"trunk\":{\"status\":\"DOWN\",\"name\":\"trunk0\",\"admin_state_up\":true, "
103 + "\"port_id\":\"60aac28d-1d3a-48d9-99bc-dd4bd62e50f2\", "
104 + "\"sub_ports\":[{\"segmentation_type\":\"vlan\", "
105 + "\"port_id\":\"dca33436-2a7c-415b-aa35-14769e7834e3\",\"segmentation_id\":101}], "
106 + "\"id\":\"c935240e-4aa6-496a-841c-d113c54499b9\", \"description\":\"test trunk0 updated\"} }";
107 ITNeutronE2E.test_modify(url, content, "Trunk Put Failed");
110 public void trunk_bulk_get_test() {
111 String url = base + "/trunks"; // /c935240e-4aa6-496a-841c-d113c54499b9";
112 ITNeutronE2E.test_fetch(url, true, "Trunk Bulk Get Failed");
115 public void trunk_element_get_test() {
116 String url = base + "/trunks/c935240e-4aa6-496a-841c-d113c54499b9";
117 ITNeutronE2E.test_fetch(url, true, "Trunk Element Get Failed");
120 public void trunk_element_get_test_with_added_query() {
121 String url = base + "/trunks/c935240e-4aa6-496a-841c-d113c54499b9"
122 + "?fields=id&fields=tenant_id&fields=name&fields=port_id"
123 + "&fields=status&fields=admin_state_up&fields=sub_ports";
124 ITNeutronE2E.test_fetch(url, true, "Trunk Element Get with query Failed");
127 public void trunk_element_negative_get_test() {
128 String url = base + "/trunks/bc1a76cb-8767-4c3a-bb95-018b822f2130";
129 ITNeutronE2E.test_fetch(url, false, "Trunk Element Negative Get Failed");
132 public void trunk_delete_test() {
133 String url = base + "/trunks/c935240e-4aa6-496a-841c-d113c54499b9";
134 ITNeutronE2E.test_delete(url, "Trunk Element Delete Failed");
137 public static void runTests(String base) {
138 NeutronTrunkTests trunkTester = new NeutronTrunkTests(base);
139 trunkTester.trunk_collection_get_test();
140 String createJsonString = trunkTester.singleton_trunk_create_test();
141 trunkTester.singleton_trunk_get_with_one_query_item_test(createJsonString);
142 trunkTester.singleton_default_trunk_create_test();
143 trunkTester.default_trunk_content_validation_test();
144 trunkTester.bulk_trunk_create_test();
145 trunkTester.trunk_update_test();
146 trunkTester.trunk_bulk_get_test();
147 trunkTester.trunk_element_get_test();
148 trunkTester.trunk_element_get_test_with_added_query();
149 trunkTester.trunk_delete_test();
150 trunkTester.trunk_element_negative_get_test();