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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 * SPDX-License-Identifier: Apache-2.0
19 * ============LICENSE_END=========================================================
21 package org.oran.smo.yangtools.parser.model.statements.yang.test;
23 import static org.junit.Assert.assertTrue;
25 import java.util.Arrays;
27 import org.junit.Test;
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;
33 public class StatusTest extends YangTestCommon {
36 public void test_status_module1() {
38 parseRelativeImplementsYangModels(Arrays.asList("status-test/status-test-module1.yang"));
40 final YModule module = getModule("status-test-module1");
44 // -------------------- simple stuff --------------------
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));
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));
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));
58 // -------------------- simple, using groupings --------------------
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));
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));
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));
74 public void test_status_module2() {
76 parseRelativeImplementsYangModels(Arrays.asList("status-test/status-test-module2.yang"));
78 final YModule module = getModule("status-test-module2");
82 // -------------------- status under uses --------------------
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));
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));
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));
96 // -------------------- status under grouping --------------------
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));
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));
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));
112 public void test_status_module3() {
114 parseRelativeImplementsYangModels(Arrays.asList("status-test/status-test-module3.yang"));
116 final YModule module = getModule("status-test-module3");
120 // -------------------- status under both grouping and uses --------------------
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));
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));
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));