package no.difi.sdp.client2.internal; import no.difi.sdp.client2.domain.Miljo; import no.difi.sdp.client2.domain.exceptions.SertifikatException; import no.digipost.security.cert.Trust; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import static no.difi.sdp.client2.ObjectMother.POSTEN_PROD_CERTIFICATE; import static no.difi.sdp.client2.ObjectMother.POSTEN_TEST_CERTIFICATE; public class CertificateValidatorTest { @Rule public ExpectedException thrown = ExpectedException.none(); @Test public void accepts_test_certificate() { CertificateValidator.validate(Miljo.FUNKSJONELT_TESTMILJO, POSTEN_TEST_CERTIFICATE); } @Test public void accepts_prod_certificate() { CertificateValidator.validate(Miljo.PRODUKSJON, POSTEN_PROD_CERTIFICATE); } @Test public void stops_test_certificate_in_prod() { thrown.expect(SertifikatException.class); CertificateValidator.validate(Miljo.PRODUKSJON, POSTEN_TEST_CERTIFICATE); } @Test public void stops_prod_certificate_in_test() { thrown.expect(SertifikatException.class); CertificateValidator.validate(Miljo.FUNKSJONELT_TESTMILJO, POSTEN_PROD_CERTIFICATE); } @Test public void no_validation_if_trusted_chain_certificates_are_null() { Miljo miljo = Miljo.FUNKSJONELT_TESTMILJO; Trust tmpGodkjenteSertifikater = miljo.getGodkjenteKjedeSertifikater(); miljo.setGodkjenteKjedeSertifikater(null); CertificateValidator.validate(miljo, POSTEN_PROD_CERTIFICATE); miljo.setGodkjenteKjedeSertifikater(tmpGodkjenteSertifikater); } }