/* * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.yangtools.yang.model.export.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import org.junit.Test; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.export.YinExportUtils; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; public class Bug5531Test { @Test public void test() throws Exception { SchemaContext schema = YangParserTestUtils.parseYangSources("/bugs/bug5531"); assertNotNull(schema); assertNotNull(schema.getModules()); assertEquals(1, schema.getModules().size()); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(byteArrayOutputStream); // write small module of size less than 8kB for (Module module : schema.getModules()) { YinExportUtils.writeModuleToOutputStream(schema, module, bufferedOutputStream); } String output = byteArrayOutputStream.toString(); // if all changes were flushed then following conditions are satisfied assertNotEquals("Output should not be empty", 0, output.length()); assertTrue("Output should contains start of the module", output.contains("<module")); assertTrue("Output should contains end of the module", output.contains("</module>")); } }