package com.smartitengineering.generator.engine.webservice;
import com.smartitengineering.generator.engine.webservice.domain.ReportConfig;
import com.smartitengineering.generator.engine.webservice.domain.SourceCode;
import com.smartitengineering.generator.engine.webservice.domain.SourceCodeType;
import java.io.StringWriter;
import junit.framework.Assert;
import junit.framework.TestCase;
import org.codehaus.jackson.map.ObjectMapper;
public class AppTest extends TestCase {
public void testApp() throws Exception {
ReportConfig config = new ReportConfig();
config.setCronExpression("test");
config.setId("id");
config.setName("testName");
SourceCode code = new SourceCode();
code.setCodeType(SourceCodeType.GROOVY);
code.setCode("SomeCode");
config.setCode(code);
ObjectMapper mapper = new ObjectMapper();
StringWriter writer = new StringWriter();
mapper.writeValue(writer, config);
final String expectedOut =
"{\"name\":\"testName\",\"id\":\"id\",\"cronExpression\":\"test\",\"emailConfig\":[],\"code\":{\"code\":\"SomeCode\",\"codeType\":\"GROOVY\"}}";
Assert.assertEquals(mapper.readTree(expectedOut), mapper.readTree(writer.toString()));
final String in =
"{\"name\":\"testName\",\"id\":\"id\",\"emailConfig\":[],\"cronExpression\":\"inputExpression\",\"code\":{\"code\":\"SomeCode\",\"codeType\":\"GROOVY\"}}";
ReportConfig inConfig = mapper.readValue(in, ReportConfig.class);
Assert.assertEquals("inputExpression", inConfig.getCronExpression());
Assert.assertEquals("SomeCode", inConfig.getCode().getCode());
Assert.assertEquals(SourceCodeType.GROOVY, inConfig.getCode().getCodeType());
}
}