saga-full - Aggregated Test Report

Total: 181 Passed: 181 Failed: 0 Skipped: 0
ModuleClassTestStatusTimeMessage
api-gateway-service io.github.terrence721.saga.gateway.ApiGatewayServiceApplicationTests contextLoads() PASSED 0.629s
api-gateway-service io.github.terrence721.saga.gateway.config.CommonAppConfigTest userIdentityServiceStub_CreatesChannel_UsingTheUserServiceNameFromApplicationYaml() PASSED 0.298s
api-gateway-service io.github.terrence721.saga.gateway.config.GlobalCorsConfigTest preflightRequest_fromDisallowedOrigin_getsNoAccessControlAllowOriginHeader() PASSED 0.008s
api-gateway-service io.github.terrence721.saga.gateway.config.GlobalCorsConfigTest preflightRequest_fromFrontendOrigin_getsAllowedOnOrdersRoute() PASSED 0.095s
api-gateway-service io.github.terrence721.saga.gateway.config.GlobalCorsConfigTest preflightRequest_fromFrontendOrigin_isAllowedOnAuthLoginRoute_realRegressionCase() PASSED 0.008s
api-gateway-service io.github.terrence721.saga.gateway.config.GlobalCorsConfigTest preflightRequest_fromFrontendOrigin_isAllowedOnOrderStreamRoute() PASSED 0.008s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerTest login_ShouldReturnBadRequest_WhenIllegalArgumentExceptionIsThrown() PASSED 0.01s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerTest login_ShouldReturnBadRequest_WhenPayloadInputFailsValidationRules() PASSED 0.108s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerTest login_ShouldReturnForbidden_WhenUserInactiveExceptionIsThrown() PASSED 0.009s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerTest login_ShouldReturnInternalServerError_WhenUnexpectedExceptionIsThrown() PASSED 0.015s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerTest login_ShouldReturnNotFound_WhenUserNotFoundExceptionIsThrown() PASSED 0.007s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerTest login_ShouldReturnOkAndToken_WhenCredentialsAreValid() PASSED 0.031s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerTest login_ShouldReturnServiceUnavailable_WhenDependencyUnavailableExceptionIsThrown() PASSED 0.021s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerTest login_ShouldReturnUnauthorized_WhenInvalidCredentialsExceptionIsThrown() PASSED 0.051s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerThreadingTest login_DoesNotBlockTheNettyEventLoopThread() PASSED 0.023s
api-gateway-service io.github.terrence721.saga.gateway.controller.GatewayFallbackControllerTest orderFallback_ReturnsServiceUnavailableWithErrorBody() PASSED 0.009s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardGatewayFilterFactoryTest apply_ShouldEmitJwtVerificationError_WhenAuthorizationHeaderIsMissing() PASSED 0.002s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardGatewayFilterFactoryTest apply_ShouldEmitJwtVerificationError_WhenAuthorizationHeaderIsPresentButNotBearerScheme() PASSED 0.059s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardGatewayFilterFactoryTest apply_ShouldEmitJwtVerificationError_WhenTokenSignatureIsInvalidOrTampered() PASSED 0.003s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardGatewayFilterFactoryTest apply_ShouldForwardAndMutateHeader_WhenTokenSignatureIsValid() PASSED 0.087s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardGatewayFilterFactoryTest apply_ShouldStillEmitJwtVerificationError_WhenDecodedPayloadContainsCrLf() PASSED 0.003s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardIntegrationTest orderGetRoute_RejectsMissingToken_WithDocumentedErrorShape() PASSED 0.009s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardIntegrationTest orderStreamRoute_RejectsMissingToken_WithDocumentedErrorShape() PASSED 0.018s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardIntegrationTest ordersRoute_RejectsExpiredToken_WithDocumentedErrorShape() PASSED 0.016s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardIntegrationTest ordersRoute_RejectsMissingToken_WithDocumentedErrorShape() PASSED 0.015s
api-gateway-service io.github.terrence721.saga.gateway.infra.grpc.UserGrpcClientTest login_ReturnsTheStubResponse_BuildingTheGrpcRequestFromEmailAndPassword() PASSED 0.106s
api-gateway-service io.github.terrence721.saga.gateway.infra.grpc.UserGrpcClientTest login_StillSucceeds_WhenEmailContainsCrLf() PASSED 0.003s
api-gateway-service io.github.terrence721.saga.gateway.infra.grpc.UserGrpcClientTest login_ThrowsTheTranslatedException_WhenTheStubReturnsAGrpcError() PASSED 0.005s
api-gateway-service io.github.terrence721.saga.gateway.infra.grpc.UserGrpcExceptionTranslatorTest translate_ReturnsDependencyUnavailableExceptionWithCause_ForAnyOtherStatus() PASSED 0.002s
api-gateway-service io.github.terrence721.saga.gateway.infra.grpc.UserGrpcExceptionTranslatorTest translate_ReturnsDependencyUnavailableExceptionWithCause_ForDeadlineExceeded() PASSED 0.0s
api-gateway-service io.github.terrence721.saga.gateway.infra.grpc.UserGrpcExceptionTranslatorTest translate_ReturnsDependencyUnavailableExceptionWithCause_ForInternal() PASSED 0.0s
api-gateway-service io.github.terrence721.saga.gateway.infra.grpc.UserGrpcExceptionTranslatorTest translate_ReturnsDependencyUnavailableExceptionWithCause_ForUnavailable() PASSED 0.0s
api-gateway-service io.github.terrence721.saga.gateway.infra.grpc.UserGrpcExceptionTranslatorTest translate_ReturnsIllegalArgumentException_ForInvalidArgument() PASSED 0.0s
api-gateway-service io.github.terrence721.saga.gateway.infra.grpc.UserGrpcExceptionTranslatorTest translate_ReturnsInvalidCredentialsException_ForUnauthenticated() PASSED 0.001s
api-gateway-service io.github.terrence721.saga.gateway.infra.grpc.UserGrpcExceptionTranslatorTest translate_ReturnsUserInactiveException_ForPermissionDenied() PASSED 0.001s
api-gateway-service io.github.terrence721.saga.gateway.infra.grpc.UserGrpcExceptionTranslatorTest translate_ReturnsUserNotFoundException_ForNotFound() PASSED 0.0s
order-service io.github.terrence721.saga.order.OrderServiceApplicationTests contextLoads() PASSED 1.117s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsBadRequest_whenItemCodeExceedsMaxLength() PASSED 0.034s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsBadRequest_whenPayloadFailsValidation() PASSED 0.044s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsBadRequest_whenTotalAmountHasTooManyIntegerDigits() PASSED 0.029s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsCreated_whenRequestIsValid() PASSED 0.312s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsForbidden_whenPerimeterHeaderDoesNotMatchCustomerId() PASSED 0.061s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsForbidden_whenPerimeterHeaderMissing() PASSED 0.02s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest getOrder_returnsForbidden_whenPerimeterHeaderDoesNotMatchOrderCustomerId() PASSED 0.013s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest getOrder_returnsForbidden_whenPerimeterHeaderMissing() PASSED 0.018s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest getOrder_returnsNotFound_whenOrderDoesNotExist() PASSED 0.051s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest getOrder_returnsOk_whenPerimeterHeaderMatchesOrderCustomerId() PASSED 0.034s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest streamOrder_returnsForbidden_whenPerimeterHeaderDoesNotMatchOrderCustomerId() PASSED 0.027s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest streamOrder_returnsForbidden_whenPerimeterHeaderMissing() PASSED 0.012s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest streamOrder_returnsNotFound_whenOrderDoesNotExist() PASSED 0.011s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest streamOrder_streamsCurrentStateThenLiveUpdates_whenPerimeterHeaderMatchesOrderCustomerId() PASSED 0.504s
order-service io.github.terrence721.saga.order.repository.OrderRepositoryTest existsByIdAndStatus_returnsFalse_whenIdDoesNotExist() PASSED 0.017s
order-service io.github.terrence721.saga.order.repository.OrderRepositoryTest existsByIdAndStatus_returnsFalse_whenStatusDoesNotMatch() PASSED 0.022s
order-service io.github.terrence721.saga.order.repository.OrderRepositoryTest existsByIdAndStatus_returnsTrue_whenStatusMatches() PASSED 0.328s
order-service io.github.terrence721.saga.order.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsEmpty_whenNoRecords() PASSED 0.009s
order-service io.github.terrence721.saga.order.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsOldestFirst_upToPageSize() PASSED 0.04s
order-service io.github.terrence721.saga.order.service.KafkaErrorHandlerConfigTest kafkaErrorHandler_recoversImmediatelyForIllegalArgumentException() PASSED 0.354s
order-service io.github.terrence721.saga.order.service.KafkaErrorHandlerConfigTest kafkaErrorHandler_recoversImmediatelyForOrderNotFoundException() PASSED 0.004s
order-service io.github.terrence721.saga.order.service.KafkaErrorHandlerConfigTest kafkaErrorHandler_retriesGenericExceptionsBeforeGivingUp() PASSED 0.105s
order-service io.github.terrence721.saga.order.service.OrderConsumerConfigTest onRestaurantApproved_deserializesPayloadAndDelegatesToConfirmOrder() PASSED 0.076s
order-service io.github.terrence721.saga.order.service.OrderConsumerConfigTest onRestaurantRejected_deserializesPayloadAndDelegatesToCancelOrder() PASSED 0.028s
order-service io.github.terrence721.saga.order.service.OrderServiceTest cancelOrder_shortCircuits_whenAlreadyCancelled() PASSED 0.006s
order-service io.github.terrence721.saga.order.service.OrderServiceTest cancelOrder_stillCancelsOrder_whenReasonContainsCrLf() PASSED 0.01s
order-service io.github.terrence721.saga.order.service.OrderServiceTest cancelOrder_throwsIllegalArgumentException_whenCustomerIdDoesNotMatchOrder() PASSED 0.006s
order-service io.github.terrence721.saga.order.service.OrderServiceTest cancelOrder_throwsOrderNotFoundException_whenOrderMissing() PASSED 0.005s
order-service io.github.terrence721.saga.order.service.OrderServiceTest cancelOrder_transitionsToCancelled_whenPending() PASSED 0.004s
order-service io.github.terrence721.saga.order.service.OrderServiceTest confirmOrder_shortCircuits_whenAlreadySuccess() PASSED 0.003s
order-service io.github.terrence721.saga.order.service.OrderServiceTest confirmOrder_throwsIllegalArgumentException_whenCustomerIdDoesNotMatchOrder() PASSED 0.004s
order-service io.github.terrence721.saga.order.service.OrderServiceTest confirmOrder_throwsIllegalArgumentException_whenTicketIdMissing() PASSED 0.006s
order-service io.github.terrence721.saga.order.service.OrderServiceTest confirmOrder_throwsOrderNotFoundException_whenOrderMissing() PASSED 0.003s
order-service io.github.terrence721.saga.order.service.OrderServiceTest confirmOrder_transitionsToSuccess_whenPending() PASSED 0.006s
order-service io.github.terrence721.saga.order.service.OrderServiceTest createOrder_publishesOrderUpdateOnCreation() PASSED 0.007s
order-service io.github.terrence721.saga.order.service.OrderServiceTest createOrder_savesOrderAndStagesOutboxWithRealSerializedPayload() PASSED 0.602s
order-service io.github.terrence721.saga.order.service.OrderUpdatePublisherTest publish_doesNotThrow_whenNoSubscriberIsListening() PASSED 0.001s
order-service io.github.terrence721.saga.order.service.OrderUpdatePublisherTest streamUpdates_filtersOutUpdatesForOtherOrders() PASSED 0.002s
order-service io.github.terrence721.saga.order.service.OrderUpdatePublisherTest streamUpdates_receivesAPublishedOrder() PASSED 0.016s
order-service io.github.terrence721.saga.order.service.OutboxPublisherServiceTest publishPendingOutboxRecords_continuesBatch_afterOneRecordFails() PASSED 0.025s
order-service io.github.terrence721.saga.order.service.OutboxPublisherServiceTest publishPendingOutboxRecords_doesNothing_whenNoRecords() PASSED 0.005s
order-service io.github.terrence721.saga.order.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetryAndRestoresInterruptFlag_onInterrupt() PASSED 0.483s
order-service io.github.terrence721.saga.order.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetry_onFailure() PASSED 0.029s
order-service io.github.terrence721.saga.order.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetry_onTimeout() PASSED 0.073s
order-service io.github.terrence721.saga.order.service.OutboxPublisherServiceTest publishPendingOutboxRecords_publishesRawPayloadAndDeletes_onSuccess() PASSED 0.271s
order-service io.github.terrence721.saga.order.service.OutboxRecordFactoryTest create_buildsOutboxRecordWithSerializedPayload() PASSED 0.009s
order-service io.github.terrence721.saga.order.service.OutboxRecordFactoryTest create_throwsIllegalStateException_whenSerializationFails() PASSED 0.004s
payment-service io.github.terrence721.saga.payment.PaymentServiceApplicationTests contextLoads() PASSED 1.282s
payment-service io.github.terrence721.saga.payment.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsEmpty_whenNoRecords() PASSED 0.013s
payment-service io.github.terrence721.saga.payment.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsOldestFirst_upToPageSize() PASSED 0.285s
payment-service io.github.terrence721.saga.payment.repository.PaymentRepositoryTest existsByOrderIdAndStatus_returnsFalse_whenOrderIdDoesNotExist() PASSED 0.011s
payment-service io.github.terrence721.saga.payment.repository.PaymentRepositoryTest existsByOrderIdAndStatus_returnsFalse_whenStatusDoesNotMatch() PASSED 0.042s
payment-service io.github.terrence721.saga.payment.repository.PaymentRepositoryTest existsByOrderIdAndStatus_returnsTrue_whenStatusMatches() PASSED 0.025s
payment-service io.github.terrence721.saga.payment.repository.PaymentRepositoryTest existsByOrderId_returnsFalse_whenNoneExists() PASSED 0.076s
payment-service io.github.terrence721.saga.payment.repository.PaymentRepositoryTest existsByOrderId_returnsTrue_whenPaymentExists() PASSED 0.016s
payment-service io.github.terrence721.saga.payment.repository.PaymentRepositoryTest findByOrderId_returnsEmpty_whenNoneExists() PASSED 0.035s
payment-service io.github.terrence721.saga.payment.repository.PaymentRepositoryTest findByOrderId_returnsPayment_whenOneExists() PASSED 0.022s
payment-service io.github.terrence721.saga.payment.service.KafkaErrorHandlerConfigTest kafkaErrorHandler_recoversImmediatelyForIllegalArgumentException() PASSED 0.849s
payment-service io.github.terrence721.saga.payment.service.KafkaErrorHandlerConfigTest kafkaErrorHandler_recoversImmediatelyForPaymentNotFoundException() PASSED 0.005s
payment-service io.github.terrence721.saga.payment.service.KafkaErrorHandlerConfigTest kafkaErrorHandler_retriesGenericExceptionsBeforeGivingUp() PASSED 0.122s
payment-service io.github.terrence721.saga.payment.service.OutboxPublisherServiceTest publishPendingOutboxRecords_continuesBatch_afterOneRecordFails() PASSED 0.04s
payment-service io.github.terrence721.saga.payment.service.OutboxPublisherServiceTest publishPendingOutboxRecords_doesNothing_whenNoRecords() PASSED 0.024s
payment-service io.github.terrence721.saga.payment.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetryAndRestoresInterruptFlag_onInterrupt() PASSED 0.669s
payment-service io.github.terrence721.saga.payment.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetry_onFailure() PASSED 0.03s
payment-service io.github.terrence721.saga.payment.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetry_onTimeout() PASSED 0.135s
payment-service io.github.terrence721.saga.payment.service.OutboxPublisherServiceTest publishPendingOutboxRecords_publishesRawPayloadAndDeletes_onSuccess() PASSED 1.314s
payment-service io.github.terrence721.saga.payment.service.OutboxRecordFactoryTest create_buildsOutboxRecordWithSerializedPayload() PASSED 0.02s
payment-service io.github.terrence721.saga.payment.service.OutboxRecordFactoryTest create_throwsIllegalStateException_whenSerializationFails() PASSED 0.135s
payment-service io.github.terrence721.saga.payment.service.PaymentConsumerConfigTest onOrderCreated_deserializesPayloadAndDelegatesToProcessPaymentSaga() PASSED 0.253s
payment-service io.github.terrence721.saga.payment.service.PaymentConsumerConfigTest onRestaurantRejected_deserializesPayloadAndDelegatesToHandleOrderCompensation() PASSED 0.033s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest handleOrderCompensation_shortCircuits_whenAlreadyRefunded() PASSED 0.017s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest handleOrderCompensation_shortCircuits_whenAlreadyRefundedAfterLoad() PASSED 0.01s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest handleOrderCompensation_skipsRefund_whenPaymentAlreadyFailed() PASSED 0.016s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest handleOrderCompensation_throwsIllegalArgumentException_whenCustomerIdDoesNotMatchPayment() PASSED 0.02s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest handleOrderCompensation_throwsPaymentNotFoundException_whenPaymentMissing() PASSED 0.009s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest handleOrderCompensation_transitionsToRefunded_whenApproved() PASSED 0.019s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest processPaymentSaga_declinesPayment_whenAmountExceedsMaxAmount() PASSED 0.03s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest processPaymentSaga_savesPaymentAndStagesOutboxWithRealSerializedPayload() PASSED 0.302s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest processPaymentSaga_skipsDuplicate_whenPaymentAlreadyExists() PASSED 0.013s
restaurant-service io.github.terrence721.saga.restaurant.RestaurantServiceApplicationTests contextLoads() PASSED 1.327s
restaurant-service io.github.terrence721.saga.restaurant.RestaurantServiceApplicationTests dataSqlSeedsInventory_onARealBoot() PASSED 0.155s
restaurant-service io.github.terrence721.saga.restaurant.repository.InventoryItemRepositoryTest findById_returnsEmpty_whenItemCodeUnknown() PASSED 0.043s
restaurant-service io.github.terrence721.saga.restaurant.repository.InventoryItemRepositoryTest findById_returnsItem_whenItExists() PASSED 0.046s
restaurant-service io.github.terrence721.saga.restaurant.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsEmpty_whenNoRecords() PASSED 0.02s
restaurant-service io.github.terrence721.saga.restaurant.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsOldestFirst_upToPageSize() PASSED 0.105s
restaurant-service io.github.terrence721.saga.restaurant.repository.RestaurantTicketRepositoryTest existsByOrderId_returnsFalse_whenNoTicketExists() PASSED 0.022s
restaurant-service io.github.terrence721.saga.restaurant.repository.RestaurantTicketRepositoryTest existsByOrderId_returnsTrue_whenTicketExists() PASSED 0.019s
restaurant-service io.github.terrence721.saga.restaurant.repository.RestaurantTicketRepositoryTest save_rejectsDuplicateOrderId() PASSED 0.057s
restaurant-service io.github.terrence721.saga.restaurant.service.KafkaErrorHandlerConfigTest kafkaErrorHandler_recoversImmediatelyForIllegalArgumentException() PASSED 0.869s
restaurant-service io.github.terrence721.saga.restaurant.service.KafkaErrorHandlerConfigTest kafkaErrorHandler_retriesGenericExceptionsBeforeGivingUp() PASSED 0.149s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_doesNothing_whenNoRecords() PASSED 0.03s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetryAndRestoresInterruptFlag_onInterrupt() PASSED 0.568s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetry_onFailure() PASSED 0.027s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetry_onTimeout() PASSED 0.089s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_routesToApprovedTopic_forRestaurantApprovedEvent() PASSED 1.298s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_routesToRejectedTopic_forRestaurantRejectedEvent() PASSED 0.049s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_throwsIllegalArgumentException_forUnknownEventType() PASSED 0.021s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxRecordFactoryTest create_buildsOutboxRecordWithSerializedPayload() PASSED 0.022s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxRecordFactoryTest create_throwsIllegalStateException_whenSerializationFails() PASSED 0.141s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantConsumerConfigTest onPaymentProcessed_deserializesPayloadAndDelegatesToProcessRestaurantStep() PASSED 0.267s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantInventoryServiceConcurrencyTest verifyAndDeductStock_serializesConcurrentRequestsForTheSameItem_soStockNeverOversells() PASSED 0.146s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantInventoryServiceTest verifyAndDeductStock_returnsAllocatedAndDeducts_whenEnoughStock() PASSED 0.005s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantInventoryServiceTest verifyAndDeductStock_returnsInsufficientStock_whenNotEnough() PASSED 0.279s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantInventoryServiceTest verifyAndDeductStock_returnsItemNotFound_whenItemCodeUnknown() PASSED 0.009s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_createsPreparingTicketAndApprovedOutbox_whenAllocated() PASSED 0.022s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_createsRejectedTicketAndRejectedOutbox_whenInsufficientStock() PASSED 0.233s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_createsRejectedTicketAndRejectedOutbox_whenItemNotFound() PASSED 0.01s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_createsRejectedTicketAndRejectedOutbox_whenPaymentFailed() PASSED 0.015s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_skipsDuplicate_whenTicketAlreadyExists() PASSED 0.006s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_throwsIllegalArgumentException_whenAmountNotPositive() PASSED 0.003s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_throwsIllegalArgumentException_whenCustomerIdIsNull() PASSED 0.003s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_throwsIllegalArgumentException_whenItemCodeIsNull() PASSED 0.004s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_throwsIllegalArgumentException_whenOrderIdIsNull() PASSED 0.002s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_throwsIllegalArgumentException_whenQuantityNotPositive() PASSED 0.007s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_throwsIllegalArgumentException_whenStatusIsNull() PASSED 0.002s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest loginRequestRoundTripsThroughSerialization() PASSED 0.013s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest loginResponseRoundTripsAtInt64Boundary() PASSED 0.19s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest loginResponseRoundTripsThroughSerialization() PASSED 0.002s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest validateTokenRequestRoundTripsThroughSerialization() PASSED 0.006s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest validateTokenResponseRoundTripsWhenInvalid() PASSED 0.006s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest validateTokenResponseRoundTripsWhenValid() PASSED 0.003s
user-service io.github.terrence721.saga.user.UserServiceApplicationTests contextLoads() PASSED 0.363s
user-service io.github.terrence721.saga.user.config.SecurityConfigTest encodesAndVerifiesARealPassword() PASSED 0.149s
user-service io.github.terrence721.saga.user.config.SecurityConfigTest rejectsAWrongPassword() PASSED 0.187s
user-service io.github.terrence721.saga.user.infra.grpc.GrpcExecutorTest execute_MapsAnUnexpectedException_ToInternalStatus() PASSED 0.012s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceImplErrorTest loginComparesAgainstADummyHashWhenUserNotFound_forTimingSafety() PASSED 0.004s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceImplErrorTest loginFailsWithGenericUnauthenticatedWhenPasswordWrong() PASSED 0.005s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceImplErrorTest loginFailsWithGenericUnauthenticatedWhenUserInactive() PASSED 0.288s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceImplErrorTest loginFailsWithGenericUnauthenticatedWhenUserMissing() PASSED 0.004s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceImplErrorTest loginStillComparesPasswordWhenUserInactive_forTimingSafety() PASSED 0.01s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceImplErrorTest validateTokenReturnsInvalidWhenTokenVerificationFails() PASSED 0.008s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceImplTest loginSucceedsAndReturnsAccessToken() PASSED 0.007s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceImplTest validateTokenReturnsValidWhenTokenVerifies() PASSED 0.11s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceIntegrationTest loginOverGrpcPropagatesGenericUnauthenticatedStatus() PASSED 0.092s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceIntegrationTest loginOverGrpcReturnsAccessToken() PASSED 0.006s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceIntegrationTest validateTokenOverGrpcReturnsValid() PASSED 0.005s
user-service io.github.terrence721.saga.user.infra.security.JwtTokenProviderTest createdTokenVerifiesSuccessfullyWithMatchingClaims() PASSED 0.003s
user-service io.github.terrence721.saga.user.infra.security.JwtTokenProviderTest verifyTokenReturnsEmptyForExpiredToken() PASSED 0.004s
user-service io.github.terrence721.saga.user.infra.security.JwtTokenProviderTest verifyTokenReturnsEmptyForMalformedToken() PASSED 0.001s
user-service io.github.terrence721.saga.user.infra.security.JwtTokenProviderTest verifyTokenReturnsEmptyForTamperedSignature() PASSED 0.051s
user-service io.github.terrence721.saga.user.infra.security.JwtTokenProviderTest verifyTokenReturnsEmptyForWrongIssuer() PASSED 0.001s
user-service io.github.terrence721.saga.user.repository.UserRepositoryTest findByEmail_returnsEmpty_whenEmailDoesNotExist() PASSED 0.009s
user-service io.github.terrence721.saga.user.repository.UserRepositoryTest findByEmail_returnsUser_whenEmailExists() PASSED 0.13s
user-service io.github.terrence721.saga.user.repository.UserRepositoryTest save_rejectsADuplicateEmail_becauseTheColumnIsGenuinelyUnique() PASSED 0.074s