| 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 |
|