a50e00c0dc324a42b8f7f9db0c746bd844d97ace
[smo/teiv.git] /
1 /*
2  *  ============LICENSE_START=======================================================
3  *  Copyright (C) 2024 Ericsson
4  *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
5  *  ================================================================================
6  *  Licensed under the Apache License, Version 2.0 (the "License");
7  *  you may not use this file except in compliance with the License.
8  *  You may obtain a copy of the License at
9  *
10  *        http://www.apache.org/licenses/LICENSE-2.0
11  *
12  *  Unless required by applicable law or agreed to in writing, software
13  *  distributed under the License is distributed on an "AS IS" BASIS,
14  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  *  See the License for the specific language governing permissions and
16  *  limitations under the License.
17  *
18  *  SPDX-License-Identifier: Apache-2.0
19  *  ============LICENSE_END=========================================================
20  */
21 package org.oran.smo.yangtools.parser.model.statements.yang.test;
22
23 import static org.junit.Assert.assertTrue;
24
25 import java.util.Arrays;
26
27 import org.junit.Test;
28
29 import org.oran.smo.yangtools.parser.model.statements.yang.YModule;
30 import org.oran.smo.yangtools.parser.model.statements.yang.YStatus;
31 import org.oran.smo.yangtools.parser.testutils.YangTestCommon;
32
33 public class StatusTest extends YangTestCommon {
34
35     @Test
36     public void test_status_module1() {
37
38         parseRelativeImplementsYangModels(Arrays.asList("status-test/status-test-module1.yang"));
39
40         final YModule module = getModule("status-test-module1");
41
42         assertNoFindings();
43
44         // -------------------- simple stuff --------------------
45
46         assertTrue(getLeaf(getContainer(module, "cont1"), "leaf11").getEffectiveStatus().equals(YStatus.CURRENT));
47         assertTrue(getLeaf(getContainer(module, "cont1"), "leaf12").getEffectiveStatus().equals(YStatus.DEPRECATED));
48         assertTrue(getLeaf(getContainer(module, "cont1"), "leaf13").getEffectiveStatus().equals(YStatus.OBSOLETE));
49
50         assertTrue(getLeaf(getContainer(module, "cont2"), "leaf21").getEffectiveStatus().equals(YStatus.DEPRECATED));
51         assertTrue(getLeaf(getContainer(module, "cont2"), "leaf22").getEffectiveStatus().equals(YStatus.DEPRECATED));
52         assertTrue(getLeaf(getContainer(module, "cont2"), "leaf23").getEffectiveStatus().equals(YStatus.OBSOLETE));
53
54         assertTrue(getLeaf(getContainer(module, "cont3"), "leaf31").getEffectiveStatus().equals(YStatus.OBSOLETE));
55         assertTrue(getLeaf(getContainer(module, "cont3"), "leaf32").getEffectiveStatus().equals(YStatus.OBSOLETE));
56         assertTrue(getLeaf(getContainer(module, "cont3"), "leaf33").getEffectiveStatus().equals(YStatus.OBSOLETE));
57
58         // -------------------- simple, using groupings --------------------
59
60         assertTrue(getLeaf(getContainer(module, "cont4"), "leaf97").getEffectiveStatus().equals(YStatus.CURRENT));
61         assertTrue(getLeaf(getContainer(module, "cont4"), "leaf98").getEffectiveStatus().equals(YStatus.DEPRECATED));
62         assertTrue(getLeaf(getContainer(module, "cont4"), "leaf99").getEffectiveStatus().equals(YStatus.OBSOLETE));
63
64         assertTrue(getLeaf(getContainer(module, "cont5"), "leaf97").getEffectiveStatus().equals(YStatus.DEPRECATED));
65         assertTrue(getLeaf(getContainer(module, "cont5"), "leaf98").getEffectiveStatus().equals(YStatus.DEPRECATED));
66         assertTrue(getLeaf(getContainer(module, "cont5"), "leaf99").getEffectiveStatus().equals(YStatus.OBSOLETE));
67
68         assertTrue(getLeaf(getContainer(module, "cont6"), "leaf97").getEffectiveStatus().equals(YStatus.OBSOLETE));
69         assertTrue(getLeaf(getContainer(module, "cont6"), "leaf98").getEffectiveStatus().equals(YStatus.OBSOLETE));
70         assertTrue(getLeaf(getContainer(module, "cont6"), "leaf99").getEffectiveStatus().equals(YStatus.OBSOLETE));
71     }
72
73     @Test
74     public void test_status_module2() {
75
76         parseRelativeImplementsYangModels(Arrays.asList("status-test/status-test-module2.yang"));
77
78         final YModule module = getModule("status-test-module2");
79
80         assertNoFindings();
81
82         // -------------------- status under uses --------------------
83
84         assertTrue(getLeaf(getContainer(module, "cont1"), "leaf97").getEffectiveStatus().equals(YStatus.CURRENT));
85         assertTrue(getLeaf(getContainer(module, "cont1"), "leaf98").getEffectiveStatus().equals(YStatus.DEPRECATED));
86         assertTrue(getLeaf(getContainer(module, "cont1"), "leaf99").getEffectiveStatus().equals(YStatus.OBSOLETE));
87
88         assertTrue(getLeaf(getContainer(module, "cont2"), "leaf97").getEffectiveStatus().equals(YStatus.DEPRECATED));
89         assertTrue(getLeaf(getContainer(module, "cont2"), "leaf98").getEffectiveStatus().equals(YStatus.DEPRECATED));
90         assertTrue(getLeaf(getContainer(module, "cont2"), "leaf99").getEffectiveStatus().equals(YStatus.OBSOLETE));
91
92         assertTrue(getLeaf(getContainer(module, "cont3"), "leaf97").getEffectiveStatus().equals(YStatus.OBSOLETE));
93         assertTrue(getLeaf(getContainer(module, "cont3"), "leaf98").getEffectiveStatus().equals(YStatus.OBSOLETE));
94         assertTrue(getLeaf(getContainer(module, "cont3"), "leaf99").getEffectiveStatus().equals(YStatus.OBSOLETE));
95
96         // -------------------- status under grouping --------------------
97
98         assertTrue(getLeaf(getContainer(module, "cont11"), "leaf91").getEffectiveStatus().equals(YStatus.CURRENT));
99         assertTrue(getLeaf(getContainer(module, "cont11"), "leaf92").getEffectiveStatus().equals(YStatus.DEPRECATED));
100         assertTrue(getLeaf(getContainer(module, "cont11"), "leaf93").getEffectiveStatus().equals(YStatus.OBSOLETE));
101
102         assertTrue(getLeaf(getContainer(module, "cont12"), "leaf91").getEffectiveStatus().equals(YStatus.DEPRECATED));
103         assertTrue(getLeaf(getContainer(module, "cont12"), "leaf92").getEffectiveStatus().equals(YStatus.DEPRECATED));
104         assertTrue(getLeaf(getContainer(module, "cont12"), "leaf93").getEffectiveStatus().equals(YStatus.OBSOLETE));
105
106         assertTrue(getLeaf(getContainer(module, "cont13"), "leaf91").getEffectiveStatus().equals(YStatus.OBSOLETE));
107         assertTrue(getLeaf(getContainer(module, "cont13"), "leaf92").getEffectiveStatus().equals(YStatus.OBSOLETE));
108         assertTrue(getLeaf(getContainer(module, "cont13"), "leaf93").getEffectiveStatus().equals(YStatus.OBSOLETE));
109     }
110
111     @Test
112     public void test_status_module3() {
113
114         parseRelativeImplementsYangModels(Arrays.asList("status-test/status-test-module3.yang"));
115
116         final YModule module = getModule("status-test-module3");
117
118         assertNoFindings();
119
120         // -------------------- status under both grouping and uses --------------------
121
122         assertTrue(getLeaf(getContainer(module, "cont31"), "leaf91").getEffectiveStatus().equals(YStatus.CURRENT));
123         assertTrue(getLeaf(getContainer(module, "cont31"), "leaf92").getEffectiveStatus().equals(YStatus.DEPRECATED));
124         assertTrue(getLeaf(getContainer(module, "cont31"), "leaf93").getEffectiveStatus().equals(YStatus.OBSOLETE));
125
126         assertTrue(getLeaf(getContainer(module, "cont32"), "leaf91").getEffectiveStatus().equals(YStatus.DEPRECATED));
127         assertTrue(getLeaf(getContainer(module, "cont32"), "leaf92").getEffectiveStatus().equals(YStatus.DEPRECATED));
128         assertTrue(getLeaf(getContainer(module, "cont32"), "leaf93").getEffectiveStatus().equals(YStatus.OBSOLETE));
129
130         assertTrue(getLeaf(getContainer(module, "cont33"), "leaf91").getEffectiveStatus().equals(YStatus.OBSOLETE));
131         assertTrue(getLeaf(getContainer(module, "cont33"), "leaf92").getEffectiveStatus().equals(YStatus.OBSOLETE));
132         assertTrue(getLeaf(getContainer(module, "cont33"), "leaf93").getEffectiveStatus().equals(YStatus.OBSOLETE));
133
134     }
135
136 }