41f96cbea33005145e369ff5873d874f15dda454
[usecase-ui/intent-analysis.git] /
1 package org.onap.usecaseui.intentanalysis.service;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import org.junit.Assert;
6 import org.junit.jupiter.api.BeforeEach;
7 import org.junit.jupiter.api.Test;
8 import org.junit.runner.RunWith;
9 import org.onap.usecaseui.intentanalysis.bean.enums.ObjectType;
10 import org.onap.usecaseui.intentanalysis.bean.models.Context;
11 import org.onap.usecaseui.intentanalysis.bean.models.ExpectationObject;
12 import org.onap.usecaseui.intentanalysis.exception.DataBaseException;
13 import org.onap.usecaseui.intentanalysis.IntentAnalysisApplicationTests;
14 import org.onap.usecaseui.intentanalysis.util.SpringContextUtil;
15 import org.springframework.beans.factory.annotation.Autowired;
16 import org.springframework.boot.test.context.SpringBootTest;
17 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
18 import org.springframework.test.context.junit4.SpringRunner;
19
20 @SpringBootTest(classes = IntentAnalysisApplicationTests.class)
21 @RunWith(SpringRunner.class)
22 class ExpectationObjectServiceTest extends AbstractJUnit4SpringContextTests {
23
24     private static final String TEST_EXPECTATION_ID_1 = "expectationId1";
25
26     private static final String TEST_EXPECTATION_ID_2 = "expectation without affiliate";
27
28     private static final String TEST_EXPECTATION_ID_3 = "expectationId3";
29
30     @Autowired
31     private ExpectationObjectService expectationObjectService;
32
33     public ExpectationObject createTestObject(String testName) {
34         ExpectationObject expectationObject = new ExpectationObject();
35         expectationObject.setObjectType(ObjectType.SLICING);
36         expectationObject.setObjectInstance("true");
37
38         List<Context> contextList = new ArrayList<>();
39         Context context = new Context();
40         context.setContextId(testName + "-contextId");
41         context.setContextName(testName + "-contextName");
42         contextList.add(context);
43         expectationObject.setObjectContexts(contextList);
44
45         return expectationObject;
46     }
47
48     @BeforeEach
49     void setUp() {
50         SpringContextUtil.setApplicationContext(applicationContext);
51     }
52
53     @Test
54     void testCreateExpectationObjectFalse() {
55         ExpectationObject expectationObject = createTestObject("testCreateExpectationObjectFalse");
56
57         try {
58             expectationObjectService.createExpectationObject(expectationObject, TEST_EXPECTATION_ID_1);
59         } catch (DataBaseException exception) {
60             exception.printStackTrace();
61             String msg = String.format("It already exists an object for the expectation %s, update might work.", TEST_EXPECTATION_ID_1);
62             Assert.assertEquals(msg, exception.getMessage());
63         }
64     }
65
66     @Test
67     void testCreateExpectationObjectSuccess() {
68         ExpectationObject expectationObject = createTestObject("testCreateExpectationObjectSuccess");
69
70         try {
71             expectationObjectService.createExpectationObject(expectationObject, TEST_EXPECTATION_ID_2);
72         } catch (DataBaseException exception) {
73             exception.printStackTrace();
74         }
75         Assert.assertNotNull(expectationObjectService.getExpectationObject(TEST_EXPECTATION_ID_2));
76     }
77
78     @Test
79     void testGetExpectationObjectSuccess() {
80         ExpectationObject expectationObject = expectationObjectService.getExpectationObject(TEST_EXPECTATION_ID_1);
81         Assert.assertNotNull(expectationObject);
82     }
83
84     @Test
85     void testUpdateExpectationObjectSuccess() {
86         String testName = "testUpdateExpectationObjectSuccess_1";
87         ExpectationObject expectationObject = createTestObject(testName);
88
89         try {
90             expectationObjectService.updateExpectationObject(expectationObject, TEST_EXPECTATION_ID_1);
91         } catch (DataBaseException exception) {
92             exception.printStackTrace();
93         }
94
95         ExpectationObject expectationObjectTmp = expectationObjectService.getExpectationObject(TEST_EXPECTATION_ID_1);
96         Assert.assertEquals(expectationObjectTmp.getObjectContexts().get(0).getContextName(), testName + "-contextName");
97     }
98
99     @Test
100     void testUpdateExpectationObjectToNullSuccess() {
101         ExpectationObject expectationObject = new ExpectationObject();
102         expectationObject.setObjectType(ObjectType.CCVPN);
103
104         try {
105             expectationObjectService.updateExpectationObject(expectationObject, TEST_EXPECTATION_ID_2);
106         } catch (DataBaseException exception) {
107             exception.printStackTrace();
108         }
109
110         ExpectationObject expectationObjectUpdated = expectationObjectService.getExpectationObject(TEST_EXPECTATION_ID_2);
111         Assert.assertNotNull(expectationObjectUpdated);
112     }
113
114     @Test
115     void  testDeleteExpectationObjectSuccess() {
116         try {
117             expectationObjectService.deleteExpectationObject(TEST_EXPECTATION_ID_3);
118         } catch (DataBaseException exception) {
119             exception.printStackTrace();
120         }
121
122         ExpectationObject expectationObject = expectationObjectService.getExpectationObject(TEST_EXPECTATION_ID_3);
123         Assert.assertNull(expectationObject);
124     }
125 }