6ebdc4bbfe17e2fa9f4397fde5ed5abfb1176cc9
[clamp.git] / src / test / java / org / onap / clamp / clds / model / CldsModelTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
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.onap.clamp.clds.model;
25
26 import static org.junit.Assert.assertEquals;
27 import static org.junit.Assert.fail;
28
29 import com.att.eelf.configuration.EELFLogger;
30 import com.att.eelf.configuration.EELFManager;
31
32 import javax.ws.rs.BadRequestException;
33
34 import org.junit.Test;
35
36 /**
37  * Test org.onap.clamp.ClampDesigner.model.Model
38  */
39 public class CldsModelTest {
40     protected static final EELFLogger logger = EELFManager.getInstance().getLogger(CldsModelTest.class);
41
42     @Test
43     public void testCreateUsingControlName() {
44         utilCreateUsingControlName("abc-", "7c42aceb-2350-11e6-8131-fa163ea8d2da");
45         utilCreateUsingControlName("", "7c42aceb-2350-11e6-8131-fa163ea8d2da");
46     }
47
48     @Test(expected = BadRequestException.class)
49     public void testExceptionCreateUsingControlName() {
50         utilCreateUsingControlName("", "c42aceb-2350-11e6-8131-fa163ea8d2da");
51     }
52
53     @Test(expected = IllegalArgumentException.class)
54     public void testValidateActionEmptyEvent() {
55         CldsModel cldsModel = new CldsModel();
56         cldsModel.validateAction(CldsEvent.ACTION_CREATE);
57     }
58
59     @Test(expected = IllegalArgumentException.class)
60     public void testValidateActionNotExist() {
61         CldsModel cldsModel = new CldsModel();
62         cldsModel.validateAction("unknown");
63     }
64
65     @Test(expected = IllegalArgumentException.class)
66     public void testValidateActionFromCreate() {
67         CldsModel cldsModel = new CldsModel();
68         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_CREATE);
69         cldsModel.validateAction(CldsEvent.ACTION_SUBMIT);
70         cldsModel.validateAction(CldsEvent.ACTION_TEST);
71         cldsModel.validateAction(CldsEvent.ACTION_DEPLOY);
72         fail("Exception should have been sent");
73     }
74
75     @Test(expected = IllegalArgumentException.class)
76     public void testValidateActionFromSubmitOrReSubmit() {
77         CldsModel cldsModel = new CldsModel();
78         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_SUBMIT);
79         cldsModel.validateAction(CldsEvent.ACTION_RESUBMIT);
80         try {
81             cldsModel.validateAction(CldsEvent.ACTION_DEPLOY);
82             fail("Exception should have been sent");
83         } catch (IllegalArgumentException e) {
84             logger.error("Exception caught IllegalArgumentException as expected", e);
85         }
86         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_RESUBMIT);
87         cldsModel.validateAction(CldsEvent.ACTION_RESUBMIT);
88         cldsModel.validateAction(CldsEvent.ACTION_DEPLOY);
89         fail("Exception should have been sent");
90     }
91
92     @Test(expected = IllegalArgumentException.class)
93     public void testValidateActionFromDistribute() {
94         CldsModel cldsModel = new CldsModel();
95         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_DISTRIBUTE);
96         cldsModel.validateAction(CldsEvent.ACTION_RESUBMIT);
97         cldsModel.validateAction(CldsEvent.ACTION_DEPLOY);
98         cldsModel.validateAction(CldsEvent.ACTION_CREATE);
99         fail("Exception should have been sent");
100     }
101
102     @Test(expected = IllegalArgumentException.class)
103     public void testValidateActionFromUndeploy() {
104         CldsModel cldsModel = new CldsModel();
105         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_UNDEPLOY);
106         cldsModel.validateAction(CldsEvent.ACTION_UPDATE);
107         cldsModel.validateAction(CldsEvent.ACTION_DEPLOY);
108         cldsModel.validateAction(CldsEvent.ACTION_RESUBMIT);
109         cldsModel.validateAction(CldsEvent.ACTION_CREATE);
110         fail("Exception should have been sent");
111     }
112
113     @Test(expected = IllegalArgumentException.class)
114     public void testValidateActionFromDeploy() {
115         CldsModel cldsModel = new CldsModel();
116         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_DEPLOY);
117         cldsModel.validateAction(CldsEvent.ACTION_DEPLOY);
118         cldsModel.validateAction(CldsEvent.ACTION_UNDEPLOY);
119         cldsModel.validateAction(CldsEvent.ACTION_UPDATE);
120         cldsModel.validateAction(CldsEvent.ACTION_STOP);
121         cldsModel.validateAction(CldsEvent.ACTION_CREATE);
122         fail("Exception should have been sent");
123     }
124
125     @Test(expected = IllegalArgumentException.class)
126     public void testValidateActionFromRestartOrUpdate() {
127         CldsModel cldsModel = new CldsModel();
128         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_RESTART);
129         cldsModel.validateAction(CldsEvent.ACTION_DEPLOY);
130         cldsModel.validateAction(CldsEvent.ACTION_UPDATE);
131         cldsModel.validateAction(CldsEvent.ACTION_STOP);
132         cldsModel.validateAction(CldsEvent.ACTION_UNDEPLOY);
133         try {
134             cldsModel.validateAction(CldsEvent.ACTION_CREATE);
135             fail("Exception should have been sent");
136         } catch (IllegalArgumentException e) {
137             System.out.println("Exception caught IllegalArgumentException as expected");
138         }
139         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_UPDATE);
140         cldsModel.validateAction(CldsEvent.ACTION_DEPLOY);
141         cldsModel.validateAction(CldsEvent.ACTION_UPDATE);
142         cldsModel.validateAction(CldsEvent.ACTION_STOP);
143         cldsModel.validateAction(CldsEvent.ACTION_UNDEPLOY);
144         cldsModel.validateAction(CldsEvent.ACTION_CREATE);
145         fail("Exception should have been sent");
146     }
147
148     @Test(expected = IllegalArgumentException.class)
149     public void testValidateActionFromStop() {
150         CldsModel cldsModel = new CldsModel();
151         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_STOP);
152         cldsModel.validateAction(CldsEvent.ACTION_UPDATE);
153         cldsModel.validateAction(CldsEvent.ACTION_RESTART);
154         cldsModel.validateAction(CldsEvent.ACTION_UNDEPLOY);
155         cldsModel.validateAction(CldsEvent.ACTION_CREATE);
156         fail("Exception should have been sent");
157     }
158
159     /**
160      * Utility Method to create model from controlname and uuid.
161      */
162     public void utilCreateUsingControlName(String controlNamePrefix, String controlNameUuid) {
163         CldsModel model = CldsModel.createUsingControlName(controlNamePrefix + controlNameUuid);
164         assertEquals(controlNamePrefix, model.getControlNamePrefix());
165         assertEquals(controlNameUuid, model.getControlNameUuid());
166     }
167 }