8b426b9e578f8857fa4690d20261d7fe4b27fc86
[appc.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : APPC
4  * ================================================================================
5  * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Copyright (C) 2017 Amdocs
8  * =============================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * ============LICENSE_END=========================================================
22  */
23 package org.onap.appc.adapter.iaas.provider.operation.impl;
24
25 import org.junit.Assert;
26 import org.junit.Test;
27 import static org.mockito.Mockito.verify;
28 import static org.mockito.Mockito.inOrder;
29 import org.mockito.InOrder;
30 import com.att.cdp.zones.model.Server;
31 import com.att.cdp.zones.model.Server.Status;
32 import com.att.cdp.exceptions.ZoneException;
33 import org.onap.appc.adapter.iaas.provider.operation.impl.RebuildServer;
34 import org.onap.appc.exceptions.APPCException;
35 import org.onap.appc.configuration.Configuration;
36 import org.onap.appc.configuration.ConfigurationFactory;
37
38
39 public class TestRebuildServer {
40     protected static final Configuration configuration = ConfigurationFactory.getConfiguration();
41
42     @Test
43     public void rebuildServerRunning() throws ZoneException {
44         MockGenerator mg = new MockGenerator(Status.RUNNING);
45         Server server = mg.getServer();
46         RebuildServer rbs = new RebuildServer();
47         rbs.setProviderCache(mg.getProviderCacheMap());
48         rbs.setRebuildSleepTime(0);
49         try {
50             rbs.executeProviderOperation(mg.getParams(), mg.getSvcLogicContext());
51         } catch (APPCException e) {
52             Assert.fail("Exception during RebuildServer.executeProviderOperation");
53         }
54         InOrder inOrderTest = inOrder(server);
55         inOrderTest.verify(server).stop();
56         inOrderTest.verify(server).rebuild("linuxBase");
57         inOrderTest.verify(server).start();
58
59     }
60
61     @Test
62     public void rebuildServerReady() throws ZoneException {
63         MockGenerator mg = new MockGenerator(Status.READY);
64         Server server = mg.getServer();
65         RebuildServer rbs = new RebuildServer();
66         rbs.setProviderCache(mg.getProviderCacheMap());
67         rbs.setRebuildSleepTime(0);
68         try {
69             rbs.executeProviderOperation(mg.getParams(), mg.getSvcLogicContext());
70         } catch (APPCException e) {
71             Assert.fail("Exception during RebuildServer.executeProviderOperation");
72         }
73         InOrder inOrderTest = inOrder(server);
74         inOrderTest.verify(server).rebuild("linuxBase");
75         inOrderTest.verify(server).start();
76     }
77
78     @Test
79     public void rebuildServerPause() throws ZoneException {
80         MockGenerator mg = new MockGenerator(Status.PAUSED);
81         Server server = mg.getServer();
82         RebuildServer rbs = new RebuildServer();
83         rbs.setProviderCache(mg.getProviderCacheMap());
84         rbs.setRebuildSleepTime(0);
85         try {
86             rbs.executeProviderOperation(mg.getParams(), mg.getSvcLogicContext());
87         } catch (APPCException e) {
88             Assert.fail("Exception during RebuildServer.executeProviderOperation");
89         }
90         InOrder inOrderTest = inOrder(server);
91         inOrderTest.verify(server).unpause();
92         inOrderTest.verify(server).stop();
93         inOrderTest.verify(server).rebuild("linuxBase");
94         inOrderTest.verify(server).start();
95     }
96
97     @Test
98     public void rebuildServerError() {
99         MockGenerator mg = new MockGenerator(Status.ERROR);
100         Server server = mg.getServer();
101         RebuildServer rbs = new RebuildServer();
102         rbs.setProviderCache(mg.getProviderCacheMap());
103         try {
104             rbs.executeProviderOperation(mg.getParams(), mg.getSvcLogicContext());
105         } catch (APPCException e) {
106             Assert.fail("Exception during RebuildServer.executeProviderOperation");
107         }
108         verify(mg.getSvcLogicContext()).setAttribute(org.onap.appc.Constants.ATTRIBUTE_ERROR_CODE,
109                 "405");
110     }
111
112     @Test
113     public void rebuildServerSuspended() throws ZoneException {
114         MockGenerator mg = new MockGenerator(Status.SUSPENDED);
115         Server server = mg.getServer();
116         RebuildServer rbs = new RebuildServer();
117         rbs.setProviderCache(mg.getProviderCacheMap());
118         rbs.setRebuildSleepTime(0);
119         try {
120             rbs.executeProviderOperation(mg.getParams(), mg.getSvcLogicContext());
121         } catch (APPCException e) {
122             Assert.fail("Exception during RebuildServer.executeProviderOperation");
123         }
124         InOrder inOrderTest = inOrder(server);
125         inOrderTest.verify(server).resume();
126         inOrderTest.verify(server).stop();
127         inOrderTest.verify(server).rebuild("linuxBase");
128         inOrderTest.verify(server).start();
129     }
130
131 }