ea7a09785d8e1dace71ff9521c21cf67dd83ccb5
[integration.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * PNF-REGISTRATION-HANDLER
4  * ================================================================================
5  * Copyright (C) 2018 NOKIA 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.onap.pnfsimulator.simulator;
22
23 import static org.junit.jupiter.api.Assertions.assertNotNull;
24 import static org.junit.jupiter.api.Assertions.assertThrows;
25 import static org.onap.pnfsimulator.simulator.TestMessages.INVALID_NOTIFICATION_PARAMS;
26 import static org.onap.pnfsimulator.simulator.TestMessages.INVALID_PNF_REGISTRATION_PARAMS_1;
27 import static org.onap.pnfsimulator.simulator.TestMessages.INVALID_PNF_REGISTRATION_PARAMS_2;
28 import static org.onap.pnfsimulator.simulator.TestMessages.INVALID_PNF_REGISTRATION_PARAMS_3;
29 import static org.onap.pnfsimulator.simulator.TestMessages.INVALID_SIMULATOR_PARAMS;
30 import static org.onap.pnfsimulator.simulator.TestMessages.VALID_COMMON_EVENT_HEADER_PARAMS;
31 import static org.onap.pnfsimulator.simulator.TestMessages.VALID_NOTIFICATION_PARAMS;
32 import static org.onap.pnfsimulator.simulator.TestMessages.VALID_PNF_REGISTRATION_PARAMS;
33 import static org.onap.pnfsimulator.simulator.TestMessages.VALID_SIMULATOR_PARAMS;
34
35 import com.github.fge.jsonschema.core.exceptions.ProcessingException;
36 import java.io.IOException;
37 import java.util.Optional;
38 import org.json.JSONException;
39 import org.junit.jupiter.api.BeforeEach;
40 import org.junit.jupiter.api.Test;
41 import org.onap.pnfsimulator.message.MessageProvider;
42 import org.onap.pnfsimulator.simulator.validation.JSONValidator;
43 import org.onap.pnfsimulator.simulator.validation.ValidationException;
44
45 class SimulatorFactoryTest {
46
47
48     private SimulatorFactory simulatorFactory;
49
50     @BeforeEach
51     void setUp() {
52         simulatorFactory = new SimulatorFactory(new MessageProvider(), new JSONValidator());
53     }
54
55     @Test
56     void should_successfully_create_simulator_given_valid_pnf_registration_params_and_valid_output_message()
57         throws ValidationException, IOException, ProcessingException {
58         assertNotNull(simulatorFactory.create(VALID_SIMULATOR_PARAMS,VALID_COMMON_EVENT_HEADER_PARAMS,
59             VALID_PNF_REGISTRATION_PARAMS,Optional.empty()));
60     }
61
62     @Test
63     void should_successfully_create_simulator_given_valid_notification_params_and_valid_output_message()
64         throws ValidationException, IOException, ProcessingException {
65         assertNotNull(simulatorFactory.create(VALID_SIMULATOR_PARAMS, VALID_COMMON_EVENT_HEADER_PARAMS,
66             Optional.empty(), VALID_NOTIFICATION_PARAMS));
67     }
68
69     @Test
70     void should_throw_given_invalid_params() {
71         assertThrows(
72             JSONException.class,
73             () -> simulatorFactory.create(INVALID_SIMULATOR_PARAMS,VALID_COMMON_EVENT_HEADER_PARAMS,
74                 VALID_PNF_REGISTRATION_PARAMS,Optional.empty()));
75     }
76
77     @Test
78     void should_throw_given_valid_params_and_invalid_output_message() {
79
80         assertThrows(
81             ValidationException.class,
82             () -> simulatorFactory.create(VALID_SIMULATOR_PARAMS, VALID_COMMON_EVENT_HEADER_PARAMS,
83                 INVALID_PNF_REGISTRATION_PARAMS_1, Optional.empty()));
84
85         assertThrows(
86             ValidationException.class,
87             () -> simulatorFactory.create(VALID_SIMULATOR_PARAMS, VALID_COMMON_EVENT_HEADER_PARAMS,
88                 INVALID_PNF_REGISTRATION_PARAMS_2, Optional.empty()));
89
90         assertThrows(
91             ValidationException.class,
92             () -> simulatorFactory.create(VALID_SIMULATOR_PARAMS, VALID_COMMON_EVENT_HEADER_PARAMS,
93                 INVALID_PNF_REGISTRATION_PARAMS_3, Optional.empty()));
94
95         assertThrows(
96             ValidationException.class,
97             () -> simulatorFactory.create(VALID_SIMULATOR_PARAMS, VALID_COMMON_EVENT_HEADER_PARAMS,
98                 VALID_PNF_REGISTRATION_PARAMS, INVALID_NOTIFICATION_PARAMS));
99     }
100 }