package eu.europa.esig.dss.validation.process.bbb.sav;
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import eu.europa.esig.dss.jaxb.detailedreport.XmlConstraint;
import eu.europa.esig.dss.jaxb.detailedreport.XmlSAV;
import eu.europa.esig.dss.jaxb.detailedreport.XmlStatus;
import eu.europa.esig.dss.jaxb.diagnostic.XmlSignature;
import eu.europa.esig.dss.validation.process.bbb.sav.checks.CommitmentTypeIndicationsCheck;
import eu.europa.esig.dss.validation.reports.wrapper.SignatureWrapper;
import eu.europa.esig.jaxb.policy.Level;
import eu.europa.esig.jaxb.policy.MultiValuesConstraint;
public class CommitmentTypeIndicationsCheckTest {
@Test
public void commitmentTypeIndicationsCheck() throws Exception {
List<String> commitmentTypeIndication = new ArrayList<String>();
commitmentTypeIndication.add("1");
commitmentTypeIndication.add("2");
XmlSignature sig = new XmlSignature();
sig.setCommitmentTypeIndication(commitmentTypeIndication);
MultiValuesConstraint constraint = new MultiValuesConstraint();
constraint.setLevel(Level.FAIL);
constraint.getId().add("1");
constraint.getId().add("2");
constraint.getId().add("3");
XmlSAV result = new XmlSAV();
CommitmentTypeIndicationsCheck ctic = new CommitmentTypeIndicationsCheck(result, new SignatureWrapper(sig),
constraint);
ctic.execute();
List<XmlConstraint> constraints = result.getConstraint();
assertEquals(1, constraints.size());
assertEquals(XmlStatus.OK, constraints.get(0).getStatus());
}
@Test
public void failedCommitmentTypeIndicationsCheck() throws Exception {
List<String> commitmentTypeIndication = new ArrayList<String>();
commitmentTypeIndication.add("1");
commitmentTypeIndication.add("4");
XmlSignature sig = new XmlSignature();
sig.setCommitmentTypeIndication(commitmentTypeIndication);
MultiValuesConstraint constraint = new MultiValuesConstraint();
constraint.setLevel(Level.FAIL);
constraint.getId().add("1");
constraint.getId().add("2");
constraint.getId().add("3");
XmlSAV result = new XmlSAV();
CommitmentTypeIndicationsCheck ctic = new CommitmentTypeIndicationsCheck(result, new SignatureWrapper(sig),
constraint);
ctic.execute();
List<XmlConstraint> constraints = result.getConstraint();
assertEquals(1, constraints.size());
assertEquals(XmlStatus.NOT_OK, constraints.get(0).getStatus());
}
@Test
public void emptyListCommitmentTypeIndicationsCheck() throws Exception {
XmlSignature sig = new XmlSignature();
MultiValuesConstraint constraint = new MultiValuesConstraint();
constraint.setLevel(Level.FAIL);
constraint.getId().add("1");
constraint.getId().add("2");
constraint.getId().add("3");
XmlSAV result = new XmlSAV();
CommitmentTypeIndicationsCheck ctic = new CommitmentTypeIndicationsCheck(result, new SignatureWrapper(sig),
constraint);
ctic.execute();
List<XmlConstraint> constraints = result.getConstraint();
assertEquals(1, constraints.size());
assertEquals(XmlStatus.NOT_OK, constraints.get(0).getStatus());
}
}