package org.mapfish.print.attribute; import static org.junit.Assert.assertEquals; import java.io.IOException; import org.junit.Test; import org.mapfish.print.AbstractMapfishSpringTest; import org.mapfish.print.TestHttpClientFactory; import org.mapfish.print.config.Configuration; import org.mapfish.print.config.ConfigurationFactory; import org.mapfish.print.config.Template; import org.mapfish.print.output.Values; import org.mapfish.print.parser.MapfishParser; import org.mapfish.print.wrapper.json.PJsonObject; import org.springframework.beans.factory.annotation.Autowired; public class StringAttributeTest extends AbstractMapfishSpringTest { private static final String BASE_DIR = "string/"; @Autowired private ConfigurationFactory configurationFactory; @Autowired private TestHttpClientFactory httpClientFactory; @Autowired private MapfishParser parser; @Test public void testParsableByValues() throws Exception { final Configuration config = configurationFactory.getConfig(getFile(BASE_DIR + "config.yaml")); PJsonObject requestData = loadJsonRequestData(); Template template = config.getTemplate("main"); Values values = new Values(requestData, template, this.parser, config.getDirectory(), httpClientFactory, config.getDirectory()); assertEquals("a loooooooooooooooooooong text", values.getString("field1")); assertEquals("a short text", values.getString("field2")); } @Test(expected=IllegalArgumentException.class) public void testParsableByValuesError() throws Exception { final Configuration config = configurationFactory.getConfig(getFile(BASE_DIR + "config.yaml")); PJsonObject requestData = loadJsonRequestDataError(); Template template = config.getTemplate("main"); new Values(requestData, template, this.parser, config.getDirectory(), httpClientFactory, config.getDirectory()); } private PJsonObject loadJsonRequestData() throws IOException { return parseJSONObjectFromFile(StringArrayAttributeTest.class, BASE_DIR + "requestData.json"); } private PJsonObject loadJsonRequestDataError() throws IOException { return parseJSONObjectFromFile(StringArrayAttributeTest.class, BASE_DIR + "requestDataError.json"); } }