From 3aad541754c002d546d58fc2630d8f9cd49100b9 Mon Sep 17 00:00:00 2001 From: halprin Date: Thu, 25 Jan 2024 10:18:31 -0700 Subject: [PATCH] Write an unhappy path unit test for the consolidated endpoint handler --- .../etor/EtorDomainRegistration.java | 2 +- .../etor/EtorDomainRegistrationTest.groovy | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/etor/src/main/java/gov/hhs/cdc/trustedintermediary/etor/EtorDomainRegistration.java b/etor/src/main/java/gov/hhs/cdc/trustedintermediary/etor/EtorDomainRegistration.java index 36794a70d..a2a2ed15d 100644 --- a/etor/src/main/java/gov/hhs/cdc/trustedintermediary/etor/EtorDomainRegistration.java +++ b/etor/src/main/java/gov/hhs/cdc/trustedintermediary/etor/EtorDomainRegistration.java @@ -241,7 +241,7 @@ DomainResponse handleConsolidatedSummary(DomainRequest request) { } catch (Exception e) { var errorString = "Unable to retrieve consolidated orders"; - logger.logFatal(errorString, e); + logger.logError(errorString, e); return domainResponseHelper.constructErrorResponse(500, errorString); } diff --git a/etor/src/test/groovy/gov/hhs/cdc/trustedintermediary/etor/EtorDomainRegistrationTest.groovy b/etor/src/test/groovy/gov/hhs/cdc/trustedintermediary/etor/EtorDomainRegistrationTest.groovy index e8c60266c..886f897dd 100644 --- a/etor/src/test/groovy/gov/hhs/cdc/trustedintermediary/etor/EtorDomainRegistrationTest.groovy +++ b/etor/src/test/groovy/gov/hhs/cdc/trustedintermediary/etor/EtorDomainRegistrationTest.groovy @@ -488,6 +488,33 @@ class EtorDomainRegistrationTest extends Specification { 1 * mockResponseHelper.constructOkResponse(expectedResultMap) >> new DomainResponse(expectedStatusCode) } + def "Consolidated metadata endpoint fails with a 500"() { + given: + def expectedStatusCode = 500 + + def request = new DomainRequest() + request.setPathParams(["sender": "testSender"]) + + def connector = new EtorDomainRegistration() + TestApplicationContext.register(EtorDomainRegistration, connector) + + def mockResponseHelper = Mock(DomainResponseHelper) + TestApplicationContext.register(DomainResponseHelper, mockResponseHelper) + + def mockOrchestrator = Mock(PartnerMetadataOrchestrator) + mockOrchestrator.getConsolidatedMetadata(_ as String) >> { throw new PartnerMetadataException("woops") } + TestApplicationContext.register(PartnerMetadataOrchestrator, mockOrchestrator) + + TestApplicationContext.injectRegisteredImplementations() + + when: + def response = connector.handleConsolidatedSummary(request) + + then: + response.statusCode == 500 + 1 * mockResponseHelper.constructErrorResponse(expectedStatusCode, _ as String) >> new DomainResponse(expectedStatusCode) + } + def "results endpoint happy path"() { given: def expectedStatusCode = 200