use of se.riv.clinicalprocess.healthcond.certificate.certificatestatusupdateforcareresponder.v3.CertificateStatusUpdateForCareType in project webcert by sklintyg.
the class CertificateStatusUpdateForCareResponderStub method certificateStatusUpdateForCare.
@Override
public CertificateStatusUpdateForCareResponseType certificateStatusUpdateForCare(String logicalAddress, CertificateStatusUpdateForCareType request) {
counter.incrementAndGet();
String utlatandeId = getUtlatandeId(request);
LOG.debug("utlatandeId: " + utlatandeId);
LOG.debug("numberOfReceivedMessages: " + getNumberOfReceivedMessages());
if (utlatandeId.startsWith(FALLERAT_MEDDELANDE)) {
int attempts = increaseAttempts(utlatandeId);
int numberOfRequestedFailedAttempts = Integer.parseInt(utlatandeId.substring(utlatandeId.length() - 1));
LOG.debug("attempts: " + attempts);
LOG.debug("numberOfRequestedFailedAttempts: " + numberOfRequestedFailedAttempts);
if (attempts < numberOfRequestedFailedAttempts + 1) {
throw new RuntimeException("Something went wrong");
}
}
store.add(request);
CertificateStatusUpdateForCareResponseType response = new CertificateStatusUpdateForCareResponseType();
ResultType result = new ResultType();
result.setResultCode(ResultCodeType.OK);
response.setResult(result);
LOG.debug("Request set to 'OK'");
return response;
}
use of se.riv.clinicalprocess.healthcond.certificate.certificatestatusupdateforcareresponder.v3.CertificateStatusUpdateForCareType in project webcert by sklintyg.
the class RouteIT method setupConverter.
private void setupConverter() throws ModuleException {
when(mockFk7263Transform.createCertificateStatusUpdateForCareType(any(NotificationMessage.class))).thenAnswer(invocation -> {
NotificationMessage msg = (NotificationMessage) invocation.getArguments()[0];
if (msg == null) {
return null;
}
CertificateStatusUpdateForCareType request = new CertificateStatusUpdateForCareType();
UtlatandeType utlatande = new UtlatandeType();
UtlatandeId id = new UtlatandeId();
id.setExtension(msg.getIntygsId());
utlatande.setUtlatandeId(id);
request.setUtlatande(utlatande);
return request;
});
}
use of se.riv.clinicalprocess.healthcond.certificate.certificatestatusupdateforcareresponder.v3.CertificateStatusUpdateForCareType in project webcert by sklintyg.
the class NotificationTransformerTest method setupInternalToNotification.
private void setupInternalToNotification() throws ModuleException {
when(internalToNotification.createCertificateStatusUpdateForCareType(any())).thenAnswer(invocation -> {
NotificationMessage msg = (NotificationMessage) invocation.getArguments()[0];
if (msg == null) {
return null;
}
CertificateStatusUpdateForCareType request = new CertificateStatusUpdateForCareType();
UtlatandeType utlatande = new UtlatandeType();
UtlatandeId utlatandeId = new UtlatandeId();
utlatandeId.setExtension(msg.getIntygsId());
utlatande.setUtlatandeId(utlatandeId);
request.setUtlatande(utlatande);
return request;
});
}
use of se.riv.clinicalprocess.healthcond.certificate.certificatestatusupdateforcareresponder.v3.CertificateStatusUpdateForCareType in project webcert by sklintyg.
the class NotificationTypeConverterTest method testNotUpdatingExistingValues.
@Test
public void testNotUpdatingExistingValues() {
final String intygsId = "intygsid";
final String arbetsplatskod = "ARBETSPLATSKOD";
final String epost = "EPOST";
final LocalDateTime handelsetid = LocalDateTime.now().minusDays(1);
final HandelsekodEnum handelsetyp = HandelsekodEnum.ANDRAT;
Intyg intyg = buildIntyg();
Enhet enhet = intyg.getSkapadAv().getEnhet();
enhet.getArbetsplatskod().setExtension(arbetsplatskod);
enhet.setEpost(epost);
NotificationMessage msg = new NotificationMessage(intygsId, "luse", handelsetid, handelsetyp, "address", "", null, new ArendeCount(4, 3, 2, 1), new ArendeCount(4, 3, 2, 1), SchemaVersion.VERSION_3, "ref");
CertificateStatusUpdateForCareType res = NotificationTypeConverter.convert(msg, intyg);
assertEquals(arbetsplatskod, res.getIntyg().getSkapadAv().getEnhet().getArbetsplatskod().getExtension());
assertEquals(epost, res.getIntyg().getSkapadAv().getEnhet().getEpost());
}
use of se.riv.clinicalprocess.healthcond.certificate.certificatestatusupdateforcareresponder.v3.CertificateStatusUpdateForCareType in project webcert by sklintyg.
the class NotificationTypeConverterTest method testConvertWhenHandelsekodIsNYFRFM.
@Test
public void testConvertWhenHandelsekodIsNYFRFM() throws Exception {
final String intygsId = "intygsid";
final LocalDateTime handelsetid = LocalDateTime.now().minusDays(1);
final LocalDate sistaSvarsDatum = LocalDate.now().plusWeeks(3);
final HandelsekodEnum handelsetyp = HandelsekodEnum.NYFRFM;
final Amneskod amneskod = AmneskodCreator.create("KOMPLT", "Komplettering");
final int skickadeFragorTotalt = 8;
final int skickadeFragorHanterade = 7;
final int skickadeFragorBesvarade = 6;
final int skickadeFragorEjBesvarade = 5;
final int mottagnaFragorTotalt = 4;
final int mottagnaFragorHanterade = 3;
final int mottagnaFragorBesvarade = 2;
final int mottagnaFragorEjBesvarade = 1;
final Intyg intyg = buildIntyg();
ArendeCount skickadeFragor = new ArendeCount(skickadeFragorTotalt, skickadeFragorEjBesvarade, skickadeFragorBesvarade, skickadeFragorHanterade);
ArendeCount mottagnaFragor = new ArendeCount(mottagnaFragorTotalt, mottagnaFragorEjBesvarade, mottagnaFragorBesvarade, mottagnaFragorHanterade);
NotificationMessage msg = new NotificationMessage(intygsId, "luse", handelsetid, handelsetyp, "address", "", null, skickadeFragor, mottagnaFragor, SchemaVersion.VERSION_3, "ref", amneskod, sistaSvarsDatum);
CertificateStatusUpdateForCareType res = NotificationTypeConverter.convert(msg, intyg);
assertEquals(intyg, res.getIntyg());
assertEquals(HandelsekodEnum.NYFRFM.value(), res.getHandelse().getHandelsekod().getCode());
assertEquals(HandelsekodEnum.NYFRFM.description(), res.getHandelse().getHandelsekod().getDisplayName());
assertEquals(handelsetid, res.getHandelse().getTidpunkt());
assertEquals(sistaSvarsDatum, res.getHandelse().getSistaDatumForSvar());
assertEquals(amneskod.getCode(), res.getHandelse().getAmne().getCode());
assertEquals(amneskod.getCodeSystem(), res.getHandelse().getAmne().getCodeSystem());
assertEquals(amneskod.getDisplayName(), res.getHandelse().getAmne().getDisplayName());
assertSkickadeFrågor(skickadeFragorTotalt, skickadeFragorHanterade, skickadeFragorBesvarade, skickadeFragorEjBesvarade, res);
assertMottagnaFragor(mottagnaFragorTotalt, mottagnaFragorHanterade, mottagnaFragorBesvarade, mottagnaFragorEjBesvarade, res);
// Make sure we have a valid Intyg according to service contract
assertEquals(NotificationTypeConverter.TEMPORARY_ARBETSPLATSKOD, res.getIntyg().getSkapadAv().getEnhet().getArbetsplatskod().getExtension());
assertNull(res.getIntyg().getSkapadAv().getEnhet().getEpost());
}
Aggregations