3 * * Copyright (C) 2022 CMCC, Inc. and others. All rights reserved.
5 * * Licensed under the Apache License, Version 2.0 (the "License");
6 * * you may not use this file except in compliance with the License.
7 * * You may obtain a copy of the License at
9 * * http://www.apache.org/licenses/LICENSE-2.0
11 * * Unless required by applicable law or agreed to in writing, software
12 * * distributed under the License is distributed on an "AS IS" BASIS,
13 * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * * See the License for the specific language governing permissions and
15 * * limitations under the License.
19 package org.onap.usecaseui.intentanalysis.service;
21 import java.util.ArrayList;
22 import java.util.List;
23 import org.junit.Assert;
24 import org.junit.jupiter.api.BeforeEach;
25 import org.junit.jupiter.api.Test;
26 import org.junit.runner.RunWith;
27 import org.onap.usecaseui.intentanalysis.bean.enums.ObjectType;
28 import org.onap.usecaseui.intentanalysis.bean.models.Context;
29 import org.onap.usecaseui.intentanalysis.bean.models.ExpectationObject;
30 import org.onap.usecaseui.intentanalysis.exception.DataBaseException;
31 import org.onap.usecaseui.intentanalysis.IntentAnalysisApplicationTests;
32 import org.onap.usecaseui.intentanalysis.util.SpringContextUtil;
33 import org.springframework.beans.factory.annotation.Autowired;
34 import org.springframework.boot.test.context.SpringBootTest;
35 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
36 import org.springframework.test.context.junit4.SpringRunner;
38 @SpringBootTest(classes = IntentAnalysisApplicationTests.class)
39 @RunWith(SpringRunner.class)
40 class ExpectationObjectServiceTest extends AbstractJUnit4SpringContextTests {
42 private static final String TEST_EXPECTATION_ID_1 = "expectationId1";
44 private static final String TEST_EXPECTATION_ID_2 = "expectation without affiliate";
46 private static final String TEST_EXPECTATION_ID_3 = "expectationId3";
49 private ExpectationObjectService expectationObjectService;
51 public ExpectationObject createTestObject(String testName) {
52 ExpectationObject expectationObject = new ExpectationObject();
53 expectationObject.setObjectType(ObjectType.SLICING);
54 expectationObject.setObjectInstance("true");
56 List<Context> contextList = new ArrayList<>();
57 Context context = new Context();
58 context.setContextId(testName + "-contextId");
59 context.setContextName(testName + "-contextName");
60 contextList.add(context);
61 expectationObject.setObjectContexts(contextList);
63 return expectationObject;
68 SpringContextUtil.setApplicationContext(applicationContext);
72 void testCreateExpectationObjectFalse() {
73 ExpectationObject expectationObject = createTestObject("testCreateExpectationObjectFalse");
76 expectationObjectService.createExpectationObject(expectationObject, TEST_EXPECTATION_ID_1);
77 } catch (DataBaseException exception) {
78 exception.printStackTrace();
79 String msg = String.format("It already exists an object for the expectation %s, update might work.", TEST_EXPECTATION_ID_1);
80 Assert.assertEquals(msg, exception.getMessage());
85 void testCreateExpectationObjectSuccess() {
86 ExpectationObject expectationObject = createTestObject("testCreateExpectationObjectSuccess");
89 expectationObjectService.createExpectationObject(expectationObject, TEST_EXPECTATION_ID_2);
90 } catch (DataBaseException exception) {
91 exception.printStackTrace();
93 Assert.assertNotNull(expectationObjectService.getExpectationObject(TEST_EXPECTATION_ID_2));
97 void testGetExpectationObjectSuccess() {
98 ExpectationObject expectationObject = expectationObjectService.getExpectationObject(TEST_EXPECTATION_ID_1);
99 Assert.assertNotNull(expectationObject);
103 void testUpdateExpectationObjectSuccess() {
104 String testName = "testUpdateExpectationObjectSuccess_1";
105 ExpectationObject expectationObject = createTestObject(testName);
108 expectationObjectService.updateExpectationObject(expectationObject, TEST_EXPECTATION_ID_1);
109 } catch (DataBaseException exception) {
110 exception.printStackTrace();
113 ExpectationObject expectationObjectTmp = expectationObjectService.getExpectationObject(TEST_EXPECTATION_ID_1);
114 Assert.assertEquals(expectationObjectTmp.getObjectContexts().get(0).getContextName(), testName + "-contextName");
118 void testUpdateExpectationObjectToNullSuccess() {
119 ExpectationObject expectationObject = new ExpectationObject();
120 expectationObject.setObjectType(ObjectType.CCVPN);
123 expectationObjectService.updateExpectationObject(expectationObject, TEST_EXPECTATION_ID_2);
124 } catch (DataBaseException exception) {
125 exception.printStackTrace();
128 ExpectationObject expectationObjectUpdated = expectationObjectService.getExpectationObject(TEST_EXPECTATION_ID_2);
129 Assert.assertNotNull(expectationObjectUpdated);
133 void testDeleteExpectationObjectSuccess() {
135 expectationObjectService.deleteExpectationObject(TEST_EXPECTATION_ID_3);
136 } catch (DataBaseException exception) {
137 exception.printStackTrace();
140 ExpectationObject expectationObject = expectationObjectService.getExpectationObject(TEST_EXPECTATION_ID_3);
141 Assert.assertNull(expectationObject);