f12ac33d06ade3746c9196718f169f7759ee08a0
[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 lombok.extern.slf4j.Slf4j;
6 import org.junit.Assert;
7 import org.junit.jupiter.api.BeforeEach;
8 import org.junit.jupiter.api.Test;
9 import org.junit.runner.RunWith;
10 import org.onap.usecaseui.intentanalysis.bean.enums.OperatorType;
11 import org.onap.usecaseui.intentanalysis.bean.models.Condition;
12 import org.onap.usecaseui.intentanalysis.bean.models.ExpectationTarget;
13 import org.onap.usecaseui.intentanalysis.exception.DataBaseException;
14 import org.onap.usecaseui.intentanalysis.IntentAnalysisApplicationTests;
15 import org.onap.usecaseui.intentanalysis.util.SpringContextUtil;
16 import org.springframework.beans.factory.annotation.Autowired;
17 import org.springframework.boot.test.context.SpringBootTest;
18 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
19 import org.springframework.test.context.junit4.SpringRunner;
20 import org.springframework.util.CollectionUtils;
21
22 @SpringBootTest(classes = IntentAnalysisApplicationTests.class)
23 @RunWith(SpringRunner.class)
24 @Slf4j
25 class ExpectationTargetServiceTest extends AbstractJUnit4SpringContextTests {
26
27     private static final String TEST_EXPECTATION_ID_1 = "expectation without affiliate";
28
29     private static final String TEST_EXPECTATION_ID_2 = "expectationId2";
30
31     private static final String TEST_EXPECTATION_ID_3 = "expectationId3";
32
33     private static final String TEST_EXPECTATION_ID_4 = "expectationId4";
34
35     private static final String TEST_TARGET_ID_1 = "target1-1";
36
37     private static final String TEST_TARGET_ID_2 = "target2-2";
38
39     @Autowired
40     private ExpectationTargetService expectationTargetService;
41
42     public ExpectationTarget createTestTarget(String testName) {
43         ExpectationTarget target = new ExpectationTarget();
44
45         Condition targetCondition = new Condition();
46         targetCondition.setConditionId(testName + "-conditionId");
47         targetCondition.setConditionName(testName + "conditionName");
48         targetCondition.setOperator(OperatorType.valueOf("EQUALTO"));
49         targetCondition.setConditionValue("conditionValue");
50         List<Condition> targetConditionList = new ArrayList<>();
51         targetConditionList.add(targetCondition);
52
53         target.setTargetId(testName + "-targetId");
54         target.setTargetName(testName + "targetName");
55         target.setTargetConditions(targetConditionList);
56
57         return target;
58     }
59
60     @BeforeEach
61     void setUp() {
62         SpringContextUtil.setApplicationContext(applicationContext);
63     }
64
65     @Test
66     void testCreateExpectationTargetSuccess() {
67         ExpectationTarget expectationTarget = createTestTarget("testCreateExpectationTargetSuccess");
68         try {
69             expectationTargetService.createExpectationTarget(expectationTarget, TEST_EXPECTATION_ID_2);
70         } catch (DataBaseException exception) {
71             exception.printStackTrace();
72         }
73         List<ExpectationTarget> expectationTargetList = expectationTargetService.getExpectationTargetList(
74             TEST_EXPECTATION_ID_2);
75         List<String> targetIdList = new ArrayList<>();
76         for (ExpectationTarget target : expectationTargetList) {
77             targetIdList.add(target.getTargetId());
78         }
79
80         Assert.assertTrue(targetIdList.contains(expectationTarget.getTargetId()));
81     }
82
83     @Test
84     void testCreateExpectationTargetListSuccess() {
85         ExpectationTarget expectationTarget = createTestTarget("testCreateExpectationTargetListSuccess");
86         List<ExpectationTarget> expectationTargetList = new ArrayList<>();
87         expectationTargetList.add(expectationTarget);
88
89         try {
90             expectationTargetService.createExpectationTargetList(expectationTargetList, TEST_EXPECTATION_ID_4);
91         } catch (DataBaseException exception) {
92             exception.printStackTrace();
93         }
94
95         Assert.assertFalse(CollectionUtils.isEmpty(expectationTargetService.getExpectationTargetList(
96             TEST_EXPECTATION_ID_4)));
97     }
98
99     @Test
100     void testGetExpectationTargetListSuccess() {
101         List<ExpectationTarget> expectationTargetList = expectationTargetService.getExpectationTargetList(
102             TEST_EXPECTATION_ID_2);
103         Assert.assertFalse(CollectionUtils.isEmpty(expectationTargetList));
104     }
105
106     @Test
107     void testGetExpectationTargetSuccess() {
108         ExpectationTarget target = expectationTargetService.getExpectationTarget(TEST_TARGET_ID_1);
109         Assert.assertNotNull(target);
110     }
111
112     @Test
113     void testUpdateExpectationTargetListSuccess() {
114         ExpectationTarget expectationTarget = createTestTarget("testUpdateExpectationTargetListSuccess");
115         List<ExpectationTarget> expectationTargetList = new ArrayList<>();
116         expectationTargetList.add(expectationTarget);
117
118         try {
119             expectationTargetService.updateExpectationTargetList(expectationTargetList, TEST_EXPECTATION_ID_3);
120         } catch (DataBaseException exception) {
121             exception.printStackTrace();
122         }
123
124         ExpectationTarget updatedTarget = expectationTargetService.getExpectationTargetList(TEST_EXPECTATION_ID_3).get(0);
125         Assert.assertEquals(expectationTargetList.get(0).getTargetId(), updatedTarget.getTargetId());
126     }
127
128     @Test
129     void testDeleteExpectationTargetSuccess() {
130         try {
131             expectationTargetService.deleteExpectationTarget(TEST_TARGET_ID_2);
132         } catch (DataBaseException exception) {
133             exception.printStackTrace();
134         }
135
136         List<ExpectationTarget> expectationTargetList = expectationTargetService.getExpectationTargetList(
137             TEST_EXPECTATION_ID_2);
138         for (ExpectationTarget target : expectationTargetList) {
139             Assert.assertNotEquals(TEST_TARGET_ID_2, target.getTargetId());
140         }
141     }
142
143     @Test
144     void testDeleteExpectationTargetListSuccess() {
145         try {
146             expectationTargetService.deleteExpectationTargetList(TEST_EXPECTATION_ID_1);
147         } catch (DataBaseException exception) {
148             exception.printStackTrace();
149         }
150
151         List<ExpectationTarget> expectationTargetList = expectationTargetService.getExpectationTargetList(
152             TEST_EXPECTATION_ID_1);
153         Assert.assertTrue(CollectionUtils.isEmpty(expectationTargetList));
154     }
155 }