Moving all files to root directory
[appc.git] / appc-adapters / appc-iaas-adapter / appc-iaas-adapter-bundle / src / test / java / org / openecomp / appc / adapter / iaas / impl / TestVMURL.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * openECOMP : APP-C
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                                              reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22
23
24 package org.openecomp.appc.adapter.iaas.impl;
25
26 import static org.junit.Assert.assertEquals;
27 import static org.junit.Assert.assertNull;
28
29 import java.util.Properties;
30
31 import org.junit.BeforeClass;
32 import org.junit.Test;
33 import org.openecomp.appc.adapter.iaas.impl.VMURL;
34 import org.openecomp.appc.configuration.ConfigurationFactory;
35
36 public class TestVMURL {
37
38     private static String IP;
39     private static String PORT;
40     private static String TENANTID;
41     private static String VMID;
42     private static String URL;
43
44     @BeforeClass
45     public static void before() {
46         Properties props = ConfigurationFactory.getConfiguration().getProperties();
47         IP = props.getProperty("test.ip");
48         PORT = props.getProperty("test.port");
49         TENANTID = props.getProperty("test.tenantid");
50         VMID = props.getProperty("test.vmid");
51         URL = String.format("http://%s:%s/v2/%s/servers/%s", IP, PORT, TENANTID, VMID);
52     }
53
54     /**
55      * Test that we can parse and interpret valid URLs
56      */
57     @Test
58     public void testValidURLs() {
59         VMURL url = VMURL.parseURL(URL);
60
61         assertEquals("http", url.getScheme());
62         assertEquals(IP, url.getHost());
63         assertEquals(PORT, url.getPort());
64         assertEquals(TENANTID, url.getTenantId());
65         assertEquals(VMID, url.getServerId());
66
67         url = VMURL.parseURL(String.format("http://%s/v2/%s/servers/%s", IP, TENANTID, VMID));
68         assertEquals("http", url.getScheme());
69         assertEquals(IP, url.getHost());
70         assertNull(url.getPort());
71         assertEquals(TENANTID, url.getTenantId());
72         assertEquals(VMID, url.getServerId());
73     }
74
75     /**
76      * Test that we ignore and return null for invalid URLs
77      */
78     @Test
79     public void testInvalidURLs() {
80         VMURL url = VMURL.parseURL(null);
81         assertNull(url);
82
83         url = VMURL.parseURL(String.format("%s:%s/v2/%s/servers/%s", IP, PORT, TENANTID, VMID));
84         assertNull(url);
85
86         url = VMURL.parseURL(String.format("http:/%s:%s/v2/%s/servers/%s", IP, PORT, TENANTID, VMID));
87         assertNull(url);
88
89         url = VMURL.parseURL(String.format("http:///%s:%s/v2/%s/servers/%s", IP, PORT, TENANTID, VMID));
90         assertNull(url);
91
92         url = VMURL.parseURL(String.format("http://v2/%s/servers/%s", TENANTID, VMID));
93         assertNull(url);
94
95         url = VMURL.parseURL(String.format("%s:%s/%s/servers/%s", IP, PORT, TENANTID, VMID));
96         assertNull(url);
97
98         url = VMURL.parseURL(String.format("%s:%s/v2/servers/%s", IP, PORT, VMID));
99         assertNull(url);
100
101         url = VMURL.parseURL(String.format("%s:%s/v2/%s/%s", IP, PORT, TENANTID, VMID));
102         assertNull(url);
103
104         url = VMURL.parseURL(String.format("%s:%s/v2/%s/servers", IP, PORT, TENANTID));
105         assertNull(url);
106     }
107 }