f1cae3f53912835226160457e3a2283dae7575db
[dcaegen2/services/sdk.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * DCAEGEN2-SERVICES-SDK
4  * ================================================================================
5  * Copyright (C) 2020 Nokia. 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.dcaegen2.services.sdk.services.external.schema.manager.service;
22
23 import com.fasterxml.jackson.databind.JsonNode;
24 import com.fasterxml.jackson.databind.ObjectMapper;
25 import org.junit.jupiter.api.Test;
26
27 import java.io.IOException;
28
29 import static org.junit.jupiter.api.Assertions.assertEquals;
30 import static org.junit.jupiter.api.Assertions.assertThrows;
31
32 class JsonFragmentRetrieverTest {
33
34     public static final String VALID_JSON_CONTENT = "{\n" +
35             "   \"validObject\":{\n" +
36             "      \"someEvent\":{\n" +
37             "         \"someObject\":true\n" +
38             "      }\n" +
39             "   }\n" +
40             "}";
41     private ObjectMapper objectMapper = new ObjectMapper();
42
43     @Test
44     public void shouldReturnJsonFragmentAtValidPath() throws IOException {
45         //given
46         JsonNode jsonContent = objectMapper.readTree(VALID_JSON_CONTENT);
47         JsonNode expectedJsonNode = objectMapper.readTree("true");
48         String validPath = "/validObject/someEvent/someObject";
49
50         //when
51         JsonNode actualJsonNode = JsonFragmentRetriever.getFragment(jsonContent, validPath);
52
53         //then
54         assertEquals(expectedJsonNode, actualJsonNode);
55     }
56
57     @Test
58     public void shouldThrowErrorWhenPathDoesNotExistInJsonContent() throws IOException {
59         //given
60         JsonNode jsonContent = objectMapper.readTree(VALID_JSON_CONTENT);
61         String dummyPath = "dummyPath";
62
63         //when
64         //then
65         assertThrows(IllegalArgumentException.class, () -> JsonFragmentRetriever.getFragment(jsonContent, dummyPath));
66     }
67 }