2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.mso.adapter_utils.tests;
23 import java.util.HashMap;
25 import org.junit.BeforeClass;
26 import org.junit.Test;
27 import org.openecomp.mso.cloud.CloudConfigFactory;
28 import org.openecomp.mso.openstack.exceptions.MsoCloudIdentityNotFound;
29 import org.openecomp.mso.openstack.exceptions.MsoCloudSiteNotFound;
30 import org.openecomp.mso.openstack.exceptions.MsoException;
31 import org.openecomp.mso.openstack.exceptions.MsoIOException;
32 import org.openecomp.mso.openstack.exceptions.MsoStackAlreadyExists;
33 import org.openecomp.mso.openstack.exceptions.MsoTenantNotFound;
34 import org.openecomp.mso.openstack.utils.MsoCommonUtils;
35 import org.openecomp.mso.openstack.utils.MsoHeatUtils;
36 import org.openecomp.mso.properties.MsoPropertiesFactory;
38 import com.woorea.openstack.heat.model.CreateStackParam;
41 * This class implements test methods of the MsoHeatUtils
45 public class MsoHeatUtilsTest extends MsoCommonUtils {
46 public static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();
47 public static CloudConfigFactory cloudConfigFactory = new CloudConfigFactory();
48 public static MsoHeatUtils msoHeatUtils;
51 public static final void loadClasses() throws MsoCloudIdentityNotFound {
52 ClassLoader classLoader = CloudConfigTest.class.getClassLoader();
53 String config = classLoader.getResource("cloud_config.json").toString().substring(5);
54 cloudConfigFactory.initializeCloudConfig(config, 1);
55 msoHeatUtils = new MsoHeatUtils("NO_PROP", msoPropertiesFactory, cloudConfigFactory);
59 public final void testCreateStackBadCloudConfig()
60 throws MsoStackAlreadyExists, MsoTenantNotFound, MsoException, MsoCloudSiteNotFound {
62 msoHeatUtils.createStack("DOESNOTEXIST", "test", "stackName", "test", new HashMap<String, Object>(),
64 } catch (MsoCloudSiteNotFound e) {
66 } catch (java.lang.NullPointerException npe) {
73 public final void testCreateStackFailedConnectionHeatClient()
74 throws MsoStackAlreadyExists, MsoTenantNotFound, MsoException, MsoCloudSiteNotFound {
76 msoHeatUtils.createStack("MT", "test", "stackName", "test", new HashMap<String, Object>(), Boolean.TRUE,
78 } catch (MsoIOException e) {
85 public final void testCreateStackFailedConnection()
86 throws MsoStackAlreadyExists, MsoTenantNotFound, MsoException, MsoCloudSiteNotFound {
88 msoHeatUtils.createStack("MT", "test", "stackName", "test", new HashMap<String, Object>(), Boolean.TRUE,
90 } catch (MsoIOException e) {
97 public final void createStackSuccessWithEnvironment() throws MsoException {
99 msoHeatUtils.createStack("MT", "test", "stackName", "test", new HashMap<String, Object>(), Boolean.TRUE, 10,
101 } catch (MsoIOException e) {
108 public final void createStackSuccessWithFiles() throws MsoException {
110 msoHeatUtils.createStack("MT", "test", "stackName", "test", new HashMap<String, Object>(), Boolean.TRUE, 10,
111 "environment", new HashMap<String, Object>());
112 } catch (MsoIOException e) {
119 public final void createStackSuccessWithHeatFiles() throws MsoException {
121 msoHeatUtils.createStack("MT", "test", "stackName", "test", new HashMap<String, Object>(), Boolean.TRUE, 10,
122 "environment", new HashMap<String, Object>(), new HashMap<String, Object>());
123 } catch (MsoIOException e) {
129 public final void requestToStringBuilderTest() {
130 CreateStackParam param = new CreateStackParam();
131 param.setDisableRollback(false);
132 param.setEnvironment("environment");
133 param.setFiles(new HashMap<String, Object>());
134 param.setParameters(new HashMap<>());
135 param.setStackName("stackName");
136 param.setTemplate("template");
137 param.setTemplateUrl("http://templateUrl");
138 param.setTimeoutMinutes(1);
140 msoHeatUtils.requestToStringBuilder(param);
144 public final void heatCacheResetTest() {
145 msoHeatUtils.heatCacheReset();
149 public final void expireHeatClientTest() {
150 msoHeatUtils.expireHeatClient("tenantId", "cloudId");
154 public final void heatCacheCleanupTest() {
155 msoHeatUtils.heatCacheCleanup();