[ONOS-5763] YSR changes to support decode without module name.
Change-Id: I662e52c2b3971e7a333ec9d887f8747733a0e87e
diff --git a/apps/yms/ut/src/test/java/org/onosproject/yms/app/ydt/MockYangSchemaRegistry.java b/apps/yms/ut/src/test/java/org/onosproject/yms/app/ydt/MockYangSchemaRegistry.java
deleted file mode 100644
index 253332e..0000000
--- a/apps/yms/ut/src/test/java/org/onosproject/yms/app/ydt/MockYangSchemaRegistry.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.yms.app.ydt;
-
-import org.onosproject.yangutils.datamodel.YangSchemaNode;
-import org.onosproject.yms.app.ysr.DefaultYangSchemaRegistry;
-import org.onosproject.yms.app.ysr.TestYangSchemaNodeProvider;
-import org.onosproject.yms.app.ysr.YangSchemaRegistry;
-import org.onosproject.yms.ysr.YangModuleIdentifier;
-import org.onosproject.yms.ysr.YangModuleLibrary;
-
-import static org.junit.Assert.assertEquals;
-
-
-/**
- * Represent Yang schema registry. Yang schema registry provides
- * interface to an application to register its YANG
- * schema with YMS. It provides YANG schema nodes to YDT, YNB and YSB.
- */
-public class MockYangSchemaRegistry implements YangSchemaRegistry {
-
- @Override
- public void registerApplication(Object managerObject, Class<?> serviceClass) {
-
- }
-
- @Override
- public void unRegisterApplication(Object managerObject,
- Class<?> serviceClass) {
- }
-
- @Override
- public Object getRegisteredApplication(YangSchemaNode yangSchemaNode) {
- return null;
- }
-
- @Override
- public YangSchemaNode getYangSchemaNodeUsingAppName(String schemaName) {
- return null;
- }
-
- @Override
- public YangSchemaNode getYangSchemaNodeUsingSchemaName(String appName) {
-
- final String target = "target/TestYangSchemaNodeProvider";
- TestYangSchemaNodeProvider testYangSchemaNodeProvider =
- new TestYangSchemaNodeProvider();
-
- String searchDir = "src/test/resources/ydtTestYangFiles/";
-
- testYangSchemaNodeProvider.processSchemaRegistry(null);
-
- DefaultYangSchemaRegistry registry = testYangSchemaNodeProvider
- .getDefaultYangSchemaRegistry();
- YangSchemaNode yangNode = registry
- .getYangSchemaNodeUsingSchemaName(appName);
- assertEquals(appName, yangNode.getName());
- return yangNode;
- }
-
- @Override
- public YangSchemaNode
- getYangSchemaNodeUsingGeneratedRootNodeInterfaceFileName(
- String rootInterfaceFileName) {
- return null;
- }
-
- @Override
- public YangSchemaNode getYangSchemaNodeUsingGeneratedRootNodeOpPramFileName(
- String rootOpParamFileName) {
- return null;
- }
-
- @Override
- public YangSchemaNode getRootYangSchemaNodeForNotification(
- String eventSubject) {
- return null;
- }
-
- @Override
- public Class<?> getRegisteredClass(YangSchemaNode schemaNode) {
- return null;
- }
-
- @Override
- public boolean verifyNotificationObject(Object appObj, Class<?> service) {
- return false;
- }
-
- @Override
- public void flushYsrData() {
-
- }
-
- @Override
- public String getYangFile(YangModuleIdentifier moduleIdentifier) {
- return null;
- }
-
- @Override
- public void processModuleLibrary(String serviceName, YangModuleLibrary library) {
-
- }
-
-}
diff --git a/apps/yms/ut/src/test/java/org/onosproject/yms/app/ysr/DefaultYangSchemaRegistryTest.java b/apps/yms/ut/src/test/java/org/onosproject/yms/app/ysr/DefaultYangSchemaRegistryTest.java
index bf8d46a..1ae9efd 100644
--- a/apps/yms/ut/src/test/java/org/onosproject/yms/app/ysr/DefaultYangSchemaRegistryTest.java
+++ b/apps/yms/ut/src/test/java/org/onosproject/yms/app/ysr/DefaultYangSchemaRegistryTest.java
@@ -21,8 +21,11 @@
import org.junit.rules.ExpectedException;
import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network1.rev20151208.IetfNetwork1Service;
import org.onosproject.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network2.rev20151208.IetfNetwork2Service;
+import org.onosproject.yang.gen.v1.ydt.test.rev20160524.TestService;
import org.onosproject.yangutils.datamodel.YangNode;
+import org.onosproject.yangutils.datamodel.YangRevision;
import org.onosproject.yangutils.datamodel.YangSchemaNode;
+import org.onosproject.yms.app.yab.TestManager;
import java.io.IOException;
@@ -156,6 +159,10 @@
private static final String UN_REG_OP_PARAM_NAME = "IetfRoutingOpParam";
private static final String UN_REG_SERVICE_NAME = "IetfRoutingService";
private static final String UN_REG_EVENT_NAME = "IetfRoutingEvent";
+ private static final String CHECK = "check";
+ private static final String DATE_NAMESPACE = "2015-00-08";
+ private static final String NAMESPACE =
+ "urn:ietf:params:xml:ns:yang:ietf-network4:check:namespace";
private final TestYangSchemaNodeProvider testYangSchemaNodeProvider =
new TestYangSchemaNodeProvider();
@@ -668,10 +675,30 @@
.getDefaultYangSchemaRegistry()
.verifyNotificationObject(manager, IetfNetwork2Service.class);
assertThat(false, is(isRegWithNotification));
- //TODO fix with YAB
-// isRegWithNotification = testYangSchemaNodeProvider
-// .getDefaultYangSchemaRegistry()
-// .verifyNotificationObject(new TestManager(), TestService.class);
-// assertThat(false, is(isRegWithNotification));
+ isRegWithNotification = testYangSchemaNodeProvider
+ .getDefaultYangSchemaRegistry()
+ .verifyNotificationObject(new TestManager(), TestService.class);
+ assertThat(false, is(isRegWithNotification));
+ }
+
+ /**
+ * get schema for namespace in decode test.
+ */
+ @Test
+ public void testGetNodeWrtNamespace() {
+ MockIetfManager manager = new MockIetfManager();
+ testYangSchemaNodeProvider.processSchemaRegistry(manager);
+ DefaultYangSchemaRegistry registry =
+ testYangSchemaNodeProvider.getDefaultYangSchemaRegistry();
+
+ YangSchemaNode yangNode =
+ registry.getSchemaWrtNameSpace(NAMESPACE);
+ assertThat(true, is(CHECK.equals(yangNode.getName())));
+
+ YangRevision rev = ((YangNode) yangNode).getRevision();
+ assertThat(true, is(rev != null));
+
+ String date = registry.getDateInStringFormat(yangNode);
+ assertThat(true, is(DATE_NAMESPACE.equals(date)));
}
}
\ No newline at end of file