2 * Copyright (c) 2022 PANTHEON.tech, s.r.o. 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.restconf.nb.rfc8040.jersey.providers;
10 import static org.junit.Assert.assertEquals;
11 import static org.mockito.Mockito.when;
13 import java.io.ByteArrayOutputStream;
14 import java.io.OutputStream;
15 import javax.ws.rs.core.MediaType;
16 import org.junit.BeforeClass;
17 import org.junit.Test;
18 import org.mockito.Mockito;
19 import org.opendaylight.restconf.common.context.InstanceIdentifierContext;
20 import org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload;
21 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
22 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
23 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
24 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
25 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
26 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
27 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
29 public class XmlNormalizedNodeBodyWriterTest {
31 private static final String EMPTY_OUTPUT = "<data xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\"></data>";
33 private static EffectiveModelContext schemaContext;
36 public static void initialization() throws Exception {
37 schemaContext = Mockito.mock(EffectiveModelContext.class);
41 public void testWriteEmptyRootContainer() throws Exception {
42 final SchemaNode schemaNode = Mockito.mock(SchemaNode.class);
43 when(schemaNode.getPath()).thenReturn(SchemaPath.ROOT);
45 final InstanceIdentifierContext<SchemaNode> identifierContext =
46 new InstanceIdentifierContext<>(YangInstanceIdentifier.empty(), schemaNode, null, schemaContext);
47 final ContainerNode data = ImmutableContainerNodeBuilder.create()
48 .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(SchemaContext.NAME)).build();
49 final NormalizedNodePayload nodePayload = NormalizedNodePayload.of(identifierContext, data);
51 final OutputStream output = new ByteArrayOutputStream();
52 final XmlNormalizedNodeBodyWriter xmlWriter = new XmlNormalizedNodeBodyWriter();
53 xmlWriter.writeTo(nodePayload, null, null, null, MediaType.APPLICATION_XML_TYPE, null, output);
55 assertEquals(EMPTY_OUTPUT, output.toString());