New iaas unit tests
[appc.git] / appc-adapters / appc-iaas-adapter / appc-iaas-adapter-bundle / src / test / java / org / onap / appc / adapter / iaas / provider / operation / impl / TestRebuildServer.java
1 package org.onap.appc.adapter.iaas.provider.operation.impl;
2
3 import org.junit.Assert;
4 import org.junit.Test;
5 import static org.mockito.Mockito.verify;
6 import static org.mockito.Mockito.inOrder;
7 import org.mockito.InOrder;
8 import com.att.cdp.zones.model.Server;
9 import com.att.cdp.zones.model.Server.Status;
10 import com.att.cdp.exceptions.ZoneException;
11 import org.onap.appc.adapter.iaas.provider.operation.impl.RebuildServer;
12 import org.onap.appc.exceptions.APPCException;
13 import org.onap.appc.configuration.Configuration;
14 import org.onap.appc.configuration.ConfigurationFactory;
15
16
17 public class TestRebuildServer {
18     protected static final Configuration configuration = ConfigurationFactory.getConfiguration();
19
20     @Test
21     public void rebuildServerRunning() throws ZoneException {
22         MockGenerator mg = new MockGenerator(Status.RUNNING);
23         Server server = mg.getServer();
24         RebuildServer rbs = new RebuildServer();
25         rbs.setProviderCache(mg.getProviderCacheMap());
26         rbs.setRebuildSleepTime(0);
27         try {
28             rbs.executeProviderOperation(mg.getParams(), mg.getSvcLogicContext());
29         } catch (APPCException e) {
30             Assert.fail("Exception during RebuildServer.executeProviderOperation");
31         }
32         InOrder inOrderTest = inOrder(server);
33         inOrderTest.verify(server).stop();
34         inOrderTest.verify(server).rebuild("linuxBase");
35         inOrderTest.verify(server).start();
36
37     }
38
39     @Test
40     public void rebuildServerReady() throws ZoneException {
41         MockGenerator mg = new MockGenerator(Status.READY);
42         Server server = mg.getServer();
43         RebuildServer rbs = new RebuildServer();
44         rbs.setProviderCache(mg.getProviderCacheMap());
45         rbs.setRebuildSleepTime(0);
46         try {
47             rbs.executeProviderOperation(mg.getParams(), mg.getSvcLogicContext());
48         } catch (APPCException e) {
49             Assert.fail("Exception during RebuildServer.executeProviderOperation");
50         }
51         InOrder inOrderTest = inOrder(server);
52         inOrderTest.verify(server).rebuild("linuxBase");
53         inOrderTest.verify(server).start();
54     }
55
56     @Test
57     public void rebuildServerPause() throws ZoneException {
58         MockGenerator mg = new MockGenerator(Status.PAUSED);
59         Server server = mg.getServer();
60         RebuildServer rbs = new RebuildServer();
61         rbs.setProviderCache(mg.getProviderCacheMap());
62         rbs.setRebuildSleepTime(0);
63         try {
64             rbs.executeProviderOperation(mg.getParams(), mg.getSvcLogicContext());
65         } catch (APPCException e) {
66             Assert.fail("Exception during RebuildServer.executeProviderOperation");
67         }
68         InOrder inOrderTest = inOrder(server);
69         inOrderTest.verify(server).unpause();
70         inOrderTest.verify(server).stop();
71         inOrderTest.verify(server).rebuild("linuxBase");
72         inOrderTest.verify(server).start();
73     }
74
75     @Test
76     public void rebuildServerError() {
77         MockGenerator mg = new MockGenerator(Status.ERROR);
78         Server server = mg.getServer();
79         RebuildServer rbs = new RebuildServer();
80         rbs.setProviderCache(mg.getProviderCacheMap());
81         try {
82             rbs.executeProviderOperation(mg.getParams(), mg.getSvcLogicContext());
83         } catch (APPCException e) {
84             Assert.fail("Exception during RebuildServer.executeProviderOperation");
85         }
86         verify(mg.getSvcLogicContext()).setAttribute(org.onap.appc.Constants.ATTRIBUTE_ERROR_CODE,
87                 "405");
88     }
89
90     @Test
91     public void rebuildServerSuspended() throws ZoneException {
92         MockGenerator mg = new MockGenerator(Status.SUSPENDED);
93         Server server = mg.getServer();
94         RebuildServer rbs = new RebuildServer();
95         rbs.setProviderCache(mg.getProviderCacheMap());
96         rbs.setRebuildSleepTime(0);
97         try {
98             rbs.executeProviderOperation(mg.getParams(), mg.getSvcLogicContext());
99         } catch (APPCException e) {
100             Assert.fail("Exception during RebuildServer.executeProviderOperation");
101         }
102         InOrder inOrderTest = inOrder(server);
103         inOrderTest.verify(server).resume();
104         inOrderTest.verify(server).stop();
105         inOrderTest.verify(server).rebuild("linuxBase");
106         inOrderTest.verify(server).start();
107     }
108
109 }