package eu.europa.esig.dss.validation.executor; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.io.FileInputStream; import java.io.InputStream; import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; import org.junit.Test; import eu.europa.esig.dss.jaxb.diagnostic.DiagnosticData; import eu.europa.esig.dss.validation.policy.EtsiValidationPolicy; import eu.europa.esig.dss.validation.policy.rules.Indication; import eu.europa.esig.dss.validation.policy.rules.SubIndication; import eu.europa.esig.dss.validation.reports.Reports; import eu.europa.esig.dss.validation.reports.SimpleReport; import eu.europa.esig.jaxb.policy.ConstraintsParameters; public class DSS922Test { @Test public void signedDataNotFound() throws Exception { FileInputStream fis = new FileInputStream("src/test/resources/DSS-922/diag-data.xml"); DiagnosticData diagnosticData = getJAXBObjectFromString(fis, DiagnosticData.class); assertNotNull(diagnosticData); CustomProcessExecutor executor = new CustomProcessExecutor(); executor.setDiagnosticData(diagnosticData); executor.setValidationPolicy(loadPolicy()); executor.setCurrentTime(diagnosticData.getValidationDate()); Reports reports = executor.execute(); SimpleReport simpleReport = reports.getSimpleReport(); assertEquals(Indication.INDETERMINATE, simpleReport.getIndication(simpleReport.getFirstSignatureId())); assertEquals(SubIndication.NO_POE, simpleReport.getSubIndication(simpleReport.getFirstSignatureId())); } private EtsiValidationPolicy loadPolicy() throws Exception { FileInputStream policyFis = new FileInputStream("src/test/resources/DSS-922/policy.xml"); ConstraintsParameters policyJaxB = getJAXBObjectFromString(policyFis, ConstraintsParameters.class); assertNotNull(policyJaxB); return new EtsiValidationPolicy(policyJaxB); } @SuppressWarnings("unchecked") private <T extends Object> T getJAXBObjectFromString(InputStream is, Class<T> clazz) throws Exception { JAXBContext context = JAXBContext.newInstance(clazz.getPackage().getName()); Unmarshaller unmarshaller = context.createUnmarshaller(); return (T) unmarshaller.unmarshal(is); } }