2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.config.yangjmxgenerator;
10 import static org.apache.commons.lang3.StringUtils.capitalize;
11 import static org.mockito.Mockito.doReturn;
12 import static org.mockito.Mockito.mock;
14 import com.google.common.base.Optional;
16 import java.util.Collections;
17 import java.util.List;
18 import org.junit.Test;
19 import org.opendaylight.mdsal.binding.model.api.Type;
20 import org.opendaylight.yangtools.yang.common.QName;
21 import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
22 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
23 import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
25 public class RuntimeRegistratorTest {
26 // TODO add more tests
27 protected RuntimeBeanEntry prepareRootRB(final List<RuntimeBeanEntry> children) {
29 final DataNodeContainer nodeContainer = mock(DataNodeContainer.class);
30 doReturn("DataSchemaNode").when(nodeContainer).toString();
31 return new RuntimeBeanEntry("pa.cka.ge", nodeContainer,
32 "module-name", "ModuleName", true, Optional.absent(),
33 Collections.emptyList(), children, Collections.emptySet());
36 protected RuntimeBeanEntry prepareChildRB(final List<RuntimeBeanEntry> children,
37 final String prefix) {
38 final DataNodeContainer nodeContainer = mock(DataNodeContainer.class);
39 doReturn("DataSchemaNode").when(nodeContainer).toString();
40 return new RuntimeBeanEntry("pa.cka.ge", nodeContainer,
41 prefix + "child-name", capitalize(prefix) + "ChildName", false,
42 Optional.absent(), Collections.emptyList(), children, Collections.emptySet());
46 public void testHierarchy() {
47 final LeafSchemaNode leaf = mock(LeafSchemaNode.class);
48 doReturn(QName.create(URI.create("urn:x"), "leaf-local-name")).when(leaf).getQName();
49 doReturn(Collections.emptyList()).when(leaf).getUnknownSchemaNodes();
50 doReturn(java.util.Optional.empty()).when(leaf).getDescription();
52 final StringTypeDefinition leafType = mock(StringTypeDefinition.class);
53 doReturn(java.util.Optional.empty()).when(leafType).getDefaultValue();
54 doReturn(leafType).when(leaf).getType();
56 final TypeProviderWrapper typeProviderWrapper = mock(TypeProviderWrapper.class);
57 final Type mockedType = mock(Type.class);
58 doReturn(mockedType).when(typeProviderWrapper).getType(leaf);
59 doReturn("java.lang.String").when(mockedType).getFullyQualifiedName();