+ @Test
+ public void testGetChildNodes() {
+ final Module moduleConfig = mockModule(CONFIG_NAME);
+ final SchemaContext schemaContext = mockSchema(moduleConfig);
+ final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext,
+ new HashSet<>(), moduleConfig);
+
+ final ContainerSchemaNode mockedContainer = mock(ContainerSchemaNode.class);
+ final Set<DataSchemaNode> childNodes = Collections.singleton(mockedContainer);
+ doReturn(childNodes).when(moduleConfig).getChildNodes();
+
+ final Set<DataSchemaNode> schemaContextProxyChildNodes = filteringSchemaContextProxy.getChildNodes();
+ assertTrue(schemaContextProxyChildNodes.contains(mockedContainer));
+ }
+
+ @Test
+ public void testGetGroupings() {
+ final Module moduleConfig = mockModule(CONFIG_NAME);
+ final SchemaContext schemaContext = mockSchema(moduleConfig);
+ final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext,
+ new HashSet<>(), moduleConfig);
+
+ final GroupingDefinition mockedGrouping = mock(GroupingDefinition.class);
+ final Set<GroupingDefinition> groupings = Collections.singleton(mockedGrouping);
+ doReturn(groupings).when(moduleConfig).getGroupings();
+
+ final Set<GroupingDefinition> schemaContextProxyGroupings = filteringSchemaContextProxy.getGroupings();
+ assertTrue(schemaContextProxyGroupings.contains(mockedGrouping));
+ }
+
+ @Test
+ public void testGetDataChildByName() {
+ final Module moduleConfig = mockModule(CONFIG_NAME);
+ final SchemaContext schemaContext = mockSchema(moduleConfig);
+ final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext,
+ new HashSet<>(), moduleConfig);
+
+ final QName qname = QName.create("config-namespace", "2016-08-11", "cont");
+ final ContainerSchemaNode mockedContainer = mock(ContainerSchemaNode.class);
+ doReturn(mockedContainer).when(moduleConfig).getDataChildByName(any(QName.class));
+
+ final DataSchemaNode dataSchemaNode = filteringSchemaContextProxy.getDataChildByName(qname);
+ assertTrue(dataSchemaNode instanceof ContainerSchemaNode);
+ }
+
+ private static void assertProxyContext(final FilteringSchemaContextProxy filteringSchemaContextProxy,
+ final Module... expected) {
+
+ final Set<Module> modSet = expected != null ? ImmutableSet.copyOf(expected) : new HashSet<>();