82c668c2a4f8321d9c74e0583da67ec931b99d6b
[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 testValidateActionFromDelete() {
150         CldsModel cldsModel = new CldsModel();
151         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_DELETE);
152         cldsModel.validateAction(CldsEvent.ACTION_SUBMIT);
153         try {
154             cldsModel.validateAction(CldsEvent.ACTION_CREATE);
155             fail("Exception should have been sent");
156         } catch (IllegalArgumentException e) {
157             System.out.println("Exception caught IllegalArgumentException as expected");
158         }
159         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_DELETE);
160         cldsModel.getEvent().setActionStateCd(CldsEvent.ACTION_STATE_SENT);
161         cldsModel.validateAction(CldsEvent.ACTION_SUBMIT);
162         fail("Exception should have been sent");
163     }
164
165     @Test(expected = IllegalArgumentException.class)
166     public void testValidateActionFromStop() {
167         CldsModel cldsModel = new CldsModel();
168         cldsModel.getEvent().setActionCd(CldsEvent.ACTION_STOP);
169         cldsModel.validateAction(CldsEvent.ACTION_UPDATE);
170         cldsModel.validateAction(CldsEvent.ACTION_RESTART);
171         cldsModel.validateAction(CldsEvent.ACTION_UNDEPLOY);
172         cldsModel.validateAction(CldsEvent.ACTION_CREATE);
173         fail("Exception should have been sent");
174     }
175
176     /**
177      * Utility Method to create model from controlname and uuid.
178      */
179     public void utilCreateUsingControlName(String controlNamePrefix, String controlNameUuid) {
180         CldsModel model = CldsModel.createUsingControlName(controlNamePrefix + controlNameUuid);
181         assertEquals(controlNamePrefix, model.getControlNamePrefix());
182         assertEquals(controlNameUuid, model.getControlNameUuid());
183     }
184 }