41126759ef12fc5fab9641f7dc628b883358338f
[so.git] /
1 /*\r
2 * ============LICENSE_START=======================================================\r
3 * ONAP : SO\r
4 * ================================================================================\r
5 * Copyright 2018 TechMahindra\r
6 *=================================================================================\r
7 * Licensed under the Apache License, Version 2.0 (the "License");\r
8 * you may not use this file except in compliance with the License.\r
9 * You may obtain a copy of the License at\r
10 *\r
11 *     http://www.apache.org/licenses/LICENSE-2.0\r
12 *\r
13 * Unless required by applicable law or agreed to in writing, software\r
14 * distributed under the License is distributed on an "AS IS" BASIS,\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16 * See the License for the specific language governing permissions and\r
17 * limitations under the License.\r
18 * ============LICENSE_END=========================================================\r
19 */\r
20 \r
21 package org.openecomp.mso.openstack.utils;\r
22 \r
23 import static org.junit.Assert.assertNotNull;\r
24 import static org.junit.Assert.assertNull;\r
25 import static org.junit.Assert.assertTrue;\r
26 import static org.mockito.Mockito.doReturn;\r
27 import static org.mockito.Mockito.mock;\r
28 \r
29 import java.util.HashMap;\r
30 import java.util.Map;\r
31 import org.junit.Assert;\r
32 import org.junit.Test;\r
33 import org.junit.runner.RunWith;\r
34 import org.mockito.Mock;\r
35 import org.openecomp.mso.cloud.CloudIdentity;\r
36 import org.openecomp.mso.cloud.CloudSite;\r
37 import org.openecomp.mso.openstack.beans.MsoTenant;\r
38 import org.openecomp.mso.openstack.exceptions.MsoException;\r
39 import org.openecomp.mso.properties.MsoJavaProperties;\r
40 import org.powermock.api.mockito.PowerMockito;\r
41 import org.powermock.core.classloader.annotations.PrepareForTest;\r
42 import org.powermock.modules.junit4.PowerMockRunner;\r
43 \r
44 import com.woorea.openstack.keystone.Keystone;\r
45 import com.woorea.openstack.keystone.model.Tenant;\r
46 \r
47 @RunWith(PowerMockRunner.class)\r
48 @PrepareForTest({MsoKeystoneUtils.class,CloudSite.class,CloudIdentity.class,Tenant.class,Keystone.class,MsoTenant.class,MsoJavaProperties.class})\r
49 public class MsoKeystoneUtilsTest {\r
50     \r
51     @Mock\r
52     Tenant tenant;\r
53 \r
54     @Mock\r
55     Keystone adminClient;\r
56     \r
57     @Mock\r
58     MsoTenant mst;\r
59     \r
60     @Mock\r
61     CloudSite cs;\r
62     \r
63     @Mock\r
64     CloudIdentity cloudIdentity;\r
65     \r
66     @Mock\r
67     MsoJavaProperties msoProps;\r
68 \r
69     @Test\r
70      public  void testcreateTenant() throws MsoException{\r
71         MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID"));\r
72         Map<String,String>metadata=new HashMap<>();\r
73         metadata.put("1", "value");\r
74         PowerMockito.when(tenant.getId ()).thenReturn("ID");\r
75        doReturn(tenant.getId ()).when(msk).createTenant("tenantName", "cloudSiteId", metadata, true);\r
76        PowerMockito.spy(tenant.getId ());\r
77        String Id = msk.createTenant("tenantName", "cloudSiteId", metadata, true);\r
78        Assert.assertEquals(tenant.getId (), Id);\r
79        assert(msk.createTenant("tenantName", "cloudSiteId", metadata, true)!=null);\r
80     }\r
81     @Test\r
82     public  void testdeleteTenant() throws MsoException{\r
83         MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID"));\r
84         doReturn(true).when(msk).deleteTenant("tenantId", "cloudSiteId");\r
85        assertTrue(msk.deleteTenant("tenantId", "cloudSiteId"));\r
86     }\r
87     @Test\r
88     public  void testfindTenantByName() throws Exception{\r
89         MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID"));\r
90        doReturn(null).when(msk).findTenantByName(adminClient, "tenantName");\r
91        assertNull(msk.findTenantByName(adminClient, "tenantName"));\r
92     }\r
93     @Test\r
94     public  void testqueryTenant() throws MsoException{\r
95         MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID"));\r
96         Map<String,String>metadata=new HashMap<>();\r
97         metadata.put("1", "value");  \r
98        PowerMockito.when(mst.getTenantId()).thenReturn("tenantId");\r
99        PowerMockito.when(mst.getMetadata()).thenReturn(metadata);\r
100        PowerMockito.when(mst.getTenantName()).thenReturn("name");\r
101        doReturn(mst).when(msk).queryTenant ("tenantId", "cloudSiteId");\r
102         assertNotNull(msk.queryTenant("tenantId", "cloudSiteId"));       \r
103     }\r
104         \r
105     @Test\r
106     public  void testqueryTenantByName()throws MsoException {\r
107         MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID"));\r
108         Map<String,String>metadata=new HashMap<>();\r
109         metadata.put("1", "value");  \r
110         PowerMockito.when(mst.getTenantId()).thenReturn("tenantId");\r
111         PowerMockito.when(mst.getMetadata()).thenReturn(metadata);\r
112         PowerMockito.when(mst.getTenantName()).thenReturn("name");\r
113         doReturn(mst).when(msk).queryTenantByName ("tenantId", "cloudSiteId");\r
114         assertNotNull(msk.queryTenantByName("tenantId", "cloudSiteId"));   \r
115         \r
116     }\r
117     \r
118     @Test\r
119     public void testgetKeystoneAdminClient() throws MsoException{\r
120         Keystone keystone = new Keystone (cloudIdentity.getKeystoneUrl ("region", "msoPropID"));\r
121         MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID"));\r
122         doReturn(keystone).when(msk).getKeystoneAdminClient(cs);\r
123         assertNotNull(msk.getKeystoneAdminClient(cs));\r
124     }\r
125     \r
126     }\r