use of se.inera.intyg.infra.integration.pu.model.PersonSvar in project webcert by sklintyg.
the class PersonApiControllerTest method testGetPersonuppgifterMissingPerson.
@Test
public void testGetPersonuppgifterMissingPerson() {
Personnummer personnummer = createPnr("19010101-0101");
when(puService.getPerson(any(Personnummer.class))).thenReturn(new PersonSvar(null, PersonSvar.Status.NOT_FOUND));
Response response = personCtrl.getPersonuppgifter(personnummer.getPersonnummer());
assertNotNull(response);
assertEquals(response.getStatus(), Response.Status.OK.getStatusCode());
PersonuppgifterResponse res = (PersonuppgifterResponse) response.getEntity();
assertEquals(PersonSvar.Status.NOT_FOUND, res.getStatus());
assertNull(res.getPerson());
verify(mockMonitoringService).logPULookup(personnummer, "NOT_FOUND");
}
use of se.inera.intyg.infra.integration.pu.model.PersonSvar in project webcert by sklintyg.
the class PatientDetailsResolverImpl method isAvliden.
@Override
public boolean isAvliden(Personnummer personnummer) {
PersonSvar personSvar = getPersonSvar(personnummer);
boolean avlidenPU = personSvar.getStatus() == PersonSvar.Status.FOUND && personSvar.getPerson().isAvliden();
WebCertUser user = webCertUserService.hasAuthenticationContext() ? webCertUserService.getUser() : null;
boolean avlidenIntegration = user != null && user.getParameters() != null && user.getParameters().isPatientDeceased();
return avlidenPU || avlidenIntegration;
}
use of se.inera.intyg.infra.integration.pu.model.PersonSvar in project webcert by sklintyg.
the class BaseCreateDraftCertificateValidator method validatePUServiceResponse.
protected void validatePUServiceResponse(ResultValidator errors, Personnummer personnummer) {
PersonSvar personSvar = patientDetailsResolver.getPersonFromPUService(personnummer);
switch(personSvar.getStatus()) {
case ERROR:
errors.addError("Cannot issue intyg. The PU-service was unreachable. Please try again later.");
break;
case NOT_FOUND:
String msg = "Personnumret du har angivit finns inte i folkbokföringsregistret." + " Observera att det inte går att ange reservnummer." + " Webcert hanterar enbart person- och samordningsnummer.";
errors.addError(msg);
break;
default:
// Do nothing
break;
}
}
use of se.inera.intyg.infra.integration.pu.model.PersonSvar in project webcert by sklintyg.
the class PersonApiControllerTest method testGetPersonuppgifter.
@Test
public void testGetPersonuppgifter() {
Personnummer personnummer = createPnr("19121212-1212");
when(puService.getPerson(any(Personnummer.class))).thenReturn(new PersonSvar(new Person(personnummer, false, false, "fnamn", "mnamn", "enamn", "paddr", "pnr", "port"), PersonSvar.Status.FOUND));
Response response = personCtrl.getPersonuppgifter(personnummer.getPersonnummer());
assertNotNull(response);
assertEquals(response.getStatus(), Response.Status.OK.getStatusCode());
PersonuppgifterResponse res = (PersonuppgifterResponse) response.getEntity();
assertEquals(PersonSvar.Status.FOUND, res.getStatus());
assertEquals(false, res.getPerson().isSekretessmarkering());
assertEquals("fnamn", res.getPerson().getFornamn());
assertEquals("mnamn", res.getPerson().getMellannamn());
assertEquals("enamn", res.getPerson().getEfternamn());
assertEquals("paddr", res.getPerson().getPostadress());
assertEquals("pnr", res.getPerson().getPostnummer());
assertEquals("port", res.getPerson().getPostort());
verify(mockMonitoringService).logPULookup(personnummer, "FOUND");
}
use of se.inera.intyg.infra.integration.pu.model.PersonSvar in project webcert by sklintyg.
the class PersonApiControllerTest method testGetPersonuppgifterSekretess.
@Test
public void testGetPersonuppgifterSekretess() {
Personnummer personnummer = createPnr("19121212-1212");
when(puService.getPerson(any(Personnummer.class))).thenReturn(new PersonSvar(new Person(personnummer, true, false, "fnamn", "mnamn", "enamn", "paddr", "pnr", "port"), PersonSvar.Status.FOUND));
Response response = personCtrl.getPersonuppgifter(personnummer.getPersonnummer());
assertNotNull(response);
assertEquals(response.getStatus(), Response.Status.OK.getStatusCode());
PersonuppgifterResponse res = (PersonuppgifterResponse) response.getEntity();
assertEquals(PersonSvar.Status.FOUND, res.getStatus());
assertEquals(true, res.getPerson().isSekretessmarkering());
assertEquals("fnamn", res.getPerson().getFornamn());
assertEquals("mnamn", res.getPerson().getMellannamn());
assertEquals("enamn", res.getPerson().getEfternamn());
assertEquals("paddr", res.getPerson().getPostadress());
assertEquals("pnr", res.getPerson().getPostnummer());
assertEquals("port", res.getPerson().getPostort());
verify(mockMonitoringService).logPULookup(personnummer, "FOUND");
}
Aggregations