1 + | package dk.nsp.idsas.test.stepdefinitions; |
2 + | |
3 + | import dk.nsp.idsas.test.idptest.SOAPOperation; |
4 + | import dk.nsp.idsas.test.idptest.ServiceCaller; |
5 + | import dk.nsp.test.idp.builder.Builders; |
6 + | import dk.nsp.test.idp.model.EmployeeIdentity; |
7 + | import dk.nsp.test.idp.vault.RemoteCredentialVault; |
8 + | import dk.sundhedsdatastyrelsen.identitetssloering._2023._06._01.CreateBlurringRequestType; |
9 + | import dk.sundhedsdatastyrelsen.identitetssloering._2023._06._01.PatientIdType; |
10 + | import io.cucumber.java.en.Then; |
11 + | import io.cucumber.java.en.When; |
12 + | import org.springframework.beans.factory.annotation.Value; |
13 + | |
14 + | import javax.xml.bind.JAXBException; |
15 + | import java.net.URI; |
16 + | import java.net.URISyntaxException; |
17 + | import java.util.UUID; |
18 + | |
19 + | import static dk.nsp.test.idp.builder.Builders.*; |
20 + | import static org.junit.Assert.assertTrue; |
21 + | |
22 + | public class AuthStepDefinitions { |
23 + | @Value("${idsas.service.endpoint}" + "/blurring") |
24 + | private String url; |
25 + | |
26 + | private final ServiceCaller serviceCaller = new ServiceCaller(); |
27 + | private String fejlbesked = ""; |
28 + | |
29 + | @When("Jeg kalder med CVR {string}, der ikke er white listed") |
30 + | public void jegKalderMedCVRDerIkkeErWhiteListed(String cvr) throws URISyntaxException, JAXBException { |
31 + | CreateBlurringRequestType request = new CreateBlurringRequestType(); |
32 + | PatientIdType patientId = new PatientIdType(); |
33 + | patientId.setId("test"); |
34 + | request.setPatientId(patientId); |
35 + | try { |
36 + | serviceCaller.callRoot(peterNaur(cvr), |
37 + | request, SOAPOperation.CreateBlurring, new URI(url), |
38 + | CreateBlurringRequestType.class, |
39 + | String.class); |
40 + | } catch (RuntimeException e) { |
41 + | fejlbesked = e.getMessage(); |
42 + | } |
43 + | } |
44 + | |
45 + | @Then("Jeg får en SOAP fault tilbage som indeholder CVR {string} og teksten {string}") |
46 + | public void jegFårEnSOAPFaultTilbageSomIndeholderCVROgTeksten(String cvr, String tekst) { |
47 + | System.out.println(fejlbesked); |
48 + | assertTrue(fejlbesked.contains(cvr)); |
49 + | assertTrue(fejlbesked.contains(tekst)); |
50 + | } |
51 + | |
52 + | public static EmployeeIdentity peterNaur(String cvr) { |
53 + | return Builders.employeeIdentity() |
54 + | .representing(employee() |
55 + | .identifiedBy(UUID.fromString("4a4c9843-58b5-4694-95d0-ea5ab80823da"))) |
56 + | .employedAt(organization() |
57 + | .named("Sundhedsdatastyrelsen") |
58 + | .identifiedBy(cvr)) |
59 + | .usedBy(serviceConsumer() |
60 + | .named("Service Consumer Test") |
61 + | .identifiedBy(new RemoteCredentialVault(URI.create("https://www.nspop.dk/download/attachments/190481050/NSP_Test_Service_Consumer_sds.p12"), "Test1234".toCharArray(), true))) |
62 + | .verifiedBy(identityProvider() |
63 + | .named("https://idp.test.nspop.dk") |
64 + | .identifiedBy(new RemoteCredentialVault(URI.create("https://www.nspop.dk/download/attachments/190481050/NSP_Test_Identity_Provider_sds.p12"), "Test1234".toCharArray(), true))) |
65 + | .using(securityTokenService() |
66 + | .at(URI.create("http://test1.ekstern-test.nspop.dk:8080/sts/services/BST2SOSI"))) |
67 + | .build(); |
68 + | } |
69 + | |
70 + | |
71 + | } |