Merge "Reorder modifiers"
[so.git] / mso-api-handlers / mso-requests-db / src / test / java / org / openecomp / mso / requestsdb / OperationalEnvServiceModelStatusDbTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
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=========================================================
19  */
20
21 package org.openecomp.mso.requestsdb;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.mockito.Matchers.any;
25 import static org.mockito.Mockito.mock;
26 import static org.mockito.Mockito.when;
27
28 import java.util.Arrays;
29
30 import org.hibernate.Query;
31 import org.hibernate.Session;
32 import org.hibernate.SessionFactory;
33 import org.junit.Before;
34 import org.junit.Rule;
35 import org.junit.Test;
36 import org.junit.rules.ExpectedException;
37 import org.mockito.Mock;
38 import org.mockito.MockitoAnnotations;
39 import org.openecomp.mso.db.AbstractSessionFactoryManager;
40
41 public class OperationalEnvServiceModelStatusDbTest {
42
43         @Mock
44         private AbstractSessionFactoryManager sessionFactoryRequest;
45         @Mock
46         private SessionFactory sessionFactory;
47         @Mock
48         private Session session;
49
50         @Rule
51         public ExpectedException thrown = ExpectedException.none();
52
53         @Before
54         public void setUp() {
55                 MockitoAnnotations.initMocks(this);
56                 when(sessionFactory.openSession()).thenReturn(session);
57                 when(sessionFactoryRequest.getSessionFactory()).thenReturn(sessionFactory);
58
59         }
60
61         @Test
62         public void insertFailure() {
63                 OperationalEnvServiceModelStatusDb omsDB = new OperationalEnvServiceModelStatusDb(this.sessionFactoryRequest);
64                 Query mockQuery = mock(Query.class);
65                 when(session.createQuery(any(String.class))).thenReturn(mockQuery);
66                 when(mockQuery.uniqueResult()).thenReturn(null);
67                 when(session.isOpen()).thenReturn(true);
68                 when(session.getTransaction()).thenThrow(Exception.class);
69                 thrown.expect(Exception.class);
70
71                 omsDB.insertOperationalEnvServiceModelStatus("myRequestId", "myOperationalEnvId", "myServiceModelVersionId", "myVal", "myRecoveryAction", 1, "myWorkloadContext");
72         }
73
74         @Test
75         public void updateFailureRetryCount() {
76                 OperationalEnvServiceModelStatusDb omsDB = new OperationalEnvServiceModelStatusDb(this.sessionFactoryRequest);
77                 Query mockQuery = mock(Query.class);
78                 when(session.createQuery(any(String.class))).thenReturn(mockQuery);
79                 when(session.isOpen()).thenReturn(true);
80                 when(session.getTransaction()).thenThrow(Exception.class);
81                 thrown.expect(Exception.class);
82                 
83                 omsDB.updateOperationalEnvRetryCountStatus("myOperationalEnvId", "myServiceModelVersionId", "status", 1);
84         }
85         
86         @Test
87         public void updateFailureRetryCountPerReqId() {
88                 OperationalEnvServiceModelStatusDb omsDB = new OperationalEnvServiceModelStatusDb(this.sessionFactoryRequest);
89                 Query mockQuery = mock(Query.class);
90                 when(session.createQuery(any(String.class))).thenReturn(mockQuery);
91                 when(session.isOpen()).thenReturn(true);
92                 when(session.getTransaction()).thenThrow(Exception.class);
93                 thrown.expect(Exception.class);
94                 
95                 omsDB.updateOperationalEnvRetryCountStatusPerReqId("myOperationalEnvId", "myServiceModelVersionId", "status", 1, "myReqId");
96         }
97         
98         
99         @Test
100         public void getOperationalEnvIdStatusTest() {
101                 OperationalEnvServiceModelStatusDb omsDB = new OperationalEnvServiceModelStatusDb(this.sessionFactoryRequest);
102                 Query mockQuery = mock(Query.class);
103                 OperationalEnvServiceModelStatus status = new OperationalEnvServiceModelStatus();
104                 when(session.createQuery(any(String.class))).thenReturn(mockQuery);
105                 when(mockQuery.list()).thenReturn(Arrays.asList(status));
106                 when(session.isOpen()).thenReturn(true);
107                 assertEquals(status, omsDB.getOperationalEnvIdStatus("myEnvId", "myReqId").get(0));
108         }
109         
110         @Test
111         public void getOperationalEnvServiceModelStatusTest() {
112                 OperationalEnvServiceModelStatusDb omsDB = new OperationalEnvServiceModelStatusDb(this.sessionFactoryRequest);
113                 OperationalEnvServiceModelStatus status = new OperationalEnvServiceModelStatus();
114                 Query mockQuery = mock(Query.class);
115                 when(session.createQuery(any(String.class))).thenReturn(mockQuery);
116                 when(mockQuery.uniqueResult()).thenReturn(status);
117                 when(session.isOpen()).thenReturn(true);
118                 assertEquals(status, omsDB.getOperationalEnvServiceModelStatus("myEnvId", "myModelId"));
119         }
120 }