package org.fastcatsearch.ir.config;
import static org.junit.Assert.assertEquals;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.bind.JAXBException;
import org.fastcatsearch.util.JAXBConfigs;
import org.junit.Test;
public class CollectionConfigTest {
String configXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
"<collection-config>\n" +
" <data-plan>\n" +
" <data-sequence-cycle>2</data-sequence-cycle>\n" +
" <segment-document-limit>2000000</segment-document-limit>\n" +
" <segment-revision-backup-size>2</segment-revision-backup-size>\n" +
" </data-plan>\n" +
" <name>샘플</name>\n" +
" <full-indexing-segment-size>2</full-indexing-segment-size>\n" +
" <index-node>node1</index-node>\n" +
"</collection-config>";
@Test
public void testRead() throws IOException, JAXBException {
InputStream is = new ByteArrayInputStream(configXml.getBytes());
CollectionConfig collectionConfig = JAXBConfigs.readConfig(is, CollectionConfig.class);
assertEquals("샘플", collectionConfig.getName());
assertEquals(2, collectionConfig.getFullIndexingSegmentSize().intValue());
DataPlanConfig dataPlanConfig = collectionConfig.getDataPlanConfig();
assertEquals(2, dataPlanConfig.getDataSequenceCycle());
assertEquals(2000000, dataPlanConfig.getSegmentDocumentLimit());
assertEquals(2, dataPlanConfig.getSegmentRevisionBackupSize());
}
@Test
public void testWrite() throws JAXBException {
CollectionConfig collectionConfig = new CollectionConfig();
collectionConfig.setName("샘플");
collectionConfig.setDataPlanConfig(new DataPlanConfig());
ByteArrayOutputStream os = new ByteArrayOutputStream();
JAXBConfigs.writeRawConfig(os, collectionConfig, CollectionConfig.class);
System.out.println(os.toString());
}
}