saga-full - Aggregated Test Report

Total: 107 Passed: 107 Failed: 0 Skipped: 0
ModuleClassTestStatusTimeMessage
api-gateway-service io.github.terrence721.saga.gateway.ApiGatewayServiceApplicationTests contextLoads() PASSED 0.558s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerTest login_ShouldReturnBadRequest_WhenPayloadInputFailsValidationRules() PASSED 0.228s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerTest login_ShouldReturnOkAndToken_WhenCredentialsAreValid() PASSED 0.036s
api-gateway-service io.github.terrence721.saga.gateway.controller.AuthenticationControllerTest login_ShouldReturnUnauthorized_WhenInvalidCredentialsExceptionIsThrown() PASSED 0.079s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardGatewayFilterFactoryTest apply_ShouldEmitJwtVerificationError_WhenAuthorizationHeaderIsMissing() PASSED 0.003s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardGatewayFilterFactoryTest apply_ShouldEmitJwtVerificationError_WhenTokenSignatureIsInvalidOrTampered() PASSED 0.002s
api-gateway-service io.github.terrence721.saga.gateway.filter.JwtPerimeterGuardGatewayFilterFactoryTest apply_ShouldForwardAndMutateHeader_WhenTokenSignatureIsValid() PASSED 0.19s
order-service io.github.terrence721.saga.order.OrderServiceApplicationTests contextLoads() PASSED 0.443s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsBadRequest_whenItemCodeExceedsMaxLength() PASSED 0.006s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsBadRequest_whenPayloadFailsValidation() PASSED 0.013s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsBadRequest_whenTotalAmountHasTooManyIntegerDigits() PASSED 0.006s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsCreated_whenRequestIsValid() PASSED 0.31s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsForbidden_whenPerimeterHeaderDoesNotMatchCustomerId() PASSED 0.005s
order-service io.github.terrence721.saga.order.controller.OrderControllerTest createOrder_returnsForbidden_whenPerimeterHeaderMissing() PASSED 0.011s
order-service io.github.terrence721.saga.order.repository.OrderRepositoryTest existsByIdAndStatus_returnsFalse_whenIdDoesNotExist() PASSED 0.007s
order-service io.github.terrence721.saga.order.repository.OrderRepositoryTest existsByIdAndStatus_returnsFalse_whenStatusDoesNotMatch() PASSED 0.007s
order-service io.github.terrence721.saga.order.repository.OrderRepositoryTest existsByIdAndStatus_returnsTrue_whenStatusMatches() PASSED 0.111s
order-service io.github.terrence721.saga.order.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsEmpty_whenNoRecords() PASSED 0.006s
order-service io.github.terrence721.saga.order.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsOldestFirst_upToPageSize() PASSED 0.03s
order-service io.github.terrence721.saga.order.service.OrderConsumerConfigTest kafkaErrorHandler_recoversImmediatelyForIllegalArgumentException() PASSED 0.224s
order-service io.github.terrence721.saga.order.service.OrderConsumerConfigTest kafkaErrorHandler_recoversImmediatelyForOrderNotFoundException() PASSED 0.002s
order-service io.github.terrence721.saga.order.service.OrderConsumerConfigTest kafkaErrorHandler_retriesGenericExceptionsBeforeGivingUp() PASSED 0.103s
order-service io.github.terrence721.saga.order.service.OrderConsumerConfigTest onRestaurantApproved_deserializesPayloadAndDelegatesToConfirmOrder() PASSED 0.014s
order-service io.github.terrence721.saga.order.service.OrderConsumerConfigTest onRestaurantRejected_deserializesPayloadAndDelegatesToCancelOrder() PASSED 0.007s
order-service io.github.terrence721.saga.order.service.OrderServiceTest cancelOrder_shortCircuits_whenAlreadyCancelled() PASSED 0.004s
order-service io.github.terrence721.saga.order.service.OrderServiceTest cancelOrder_stillCancelsOrder_whenReasonContainsCrLf() PASSED 0.003s
order-service io.github.terrence721.saga.order.service.OrderServiceTest cancelOrder_throwsIllegalArgumentException_whenCustomerIdDoesNotMatchOrder() PASSED 0.005s
order-service io.github.terrence721.saga.order.service.OrderServiceTest cancelOrder_throwsOrderNotFoundException_whenOrderMissing() PASSED 0.002s
order-service io.github.terrence721.saga.order.service.OrderServiceTest cancelOrder_transitionsToCancelled_whenPending() PASSED 0.005s
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.003s
order-service io.github.terrence721.saga.order.service.OrderServiceTest confirmOrder_throwsIllegalArgumentException_whenTicketIdMissing() PASSED 0.003s
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.003s
order-service io.github.terrence721.saga.order.service.OrderServiceTest createOrder_savesOrderAndStagesOutboxWithRealSerializedPayload() PASSED 0.18s
order-service io.github.terrence721.saga.order.service.OutboxPublisherServiceTest publishPendingOutboxRecords_continuesBatch_afterOneRecordFails() PASSED 0.008s
order-service io.github.terrence721.saga.order.service.OutboxPublisherServiceTest publishPendingOutboxRecords_doesNothing_whenNoRecords() PASSED 0.002s
order-service io.github.terrence721.saga.order.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetry_onFailure() PASSED 0.01s
order-service io.github.terrence721.saga.order.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetry_onTimeout() PASSED 0.061s
order-service io.github.terrence721.saga.order.service.OutboxPublisherServiceTest publishPendingOutboxRecords_publishesRawPayloadAndDeletes_onSuccess() PASSED 0.182s
payment-service io.github.terrence721.saga.payment.PaymentServiceApplicationTests contextLoads() PASSED 0.501s
payment-service io.github.terrence721.saga.payment.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsEmpty_whenNoRecords() PASSED 0.007s
payment-service io.github.terrence721.saga.payment.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsOldestFirst_upToPageSize() PASSED 0.11s
payment-service io.github.terrence721.saga.payment.repository.PaymentRepositoryTest findByOrderId_returnsEmpty_whenNoneExists() PASSED 0.018s
payment-service io.github.terrence721.saga.payment.repository.PaymentRepositoryTest findByOrderId_returnsPayment_whenOneExists() PASSED 0.009s
payment-service io.github.terrence721.saga.payment.service.OutboxPublisherServiceTest publishPendingOutboxRecords_continuesBatch_afterOneRecordFails() PASSED 0.01s
payment-service io.github.terrence721.saga.payment.service.OutboxPublisherServiceTest publishPendingOutboxRecords_doesNothing_whenNoRecords() PASSED 0.004s
payment-service io.github.terrence721.saga.payment.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetry_onFailure() PASSED 0.011s
payment-service io.github.terrence721.saga.payment.service.OutboxPublisherServiceTest publishPendingOutboxRecords_publishesRawPayloadAndDeletes_onSuccess() PASSED 0.447s
payment-service io.github.terrence721.saga.payment.service.PaymentConsumerConfigTest onOrderCreated_deserializesPayloadAndDelegatesToProcessPaymentSaga() PASSED 0.109s
payment-service io.github.terrence721.saga.payment.service.PaymentConsumerConfigTest onRestaurantRejected_deserializesPayloadAndDelegatesToHandleOrderCompensation() PASSED 0.008s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest handleOrderCompensation_shortCircuits_whenAlreadyRefunded() PASSED 0.002s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest handleOrderCompensation_shortCircuits_whenAlreadyRefundedAfterLoad() PASSED 0.002s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest handleOrderCompensation_throwsPaymentNotFoundException_whenPaymentMissing() PASSED 0.003s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest handleOrderCompensation_transitionsToRefunded_whenApproved() PASSED 0.004s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest processPaymentSaga_savesPaymentAndStagesOutboxWithRealSerializedPayload() PASSED 0.084s
payment-service io.github.terrence721.saga.payment.service.PaymentServiceTest processPaymentSaga_skipsDuplicate_whenPaymentAlreadyExists() PASSED 0.002s
restaurant-service io.github.terrence721.saga.restaurant.RestaurantServiceApplicationTests contextLoads() PASSED 0.496s
restaurant-service io.github.terrence721.saga.restaurant.repository.InventoryItemRepositoryTest findById_returnsEmpty_whenItemCodeUnknown() PASSED 0.07s
restaurant-service io.github.terrence721.saga.restaurant.repository.InventoryItemRepositoryTest findById_returnsItem_whenItExists() PASSED 0.031s
restaurant-service io.github.terrence721.saga.restaurant.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsEmpty_whenNoRecords() PASSED 0.009s
restaurant-service io.github.terrence721.saga.restaurant.repository.OutboxRepositoryTest findByOrderByCreatedTimeAsc_returnsOldestFirst_upToPageSize() PASSED 0.057s
restaurant-service io.github.terrence721.saga.restaurant.repository.RestaurantTicketRepositoryTest existsByOrderId_returnsFalse_whenNoTicketExists() PASSED 0.007s
restaurant-service io.github.terrence721.saga.restaurant.repository.RestaurantTicketRepositoryTest existsByOrderId_returnsTrue_whenTicketExists() PASSED 0.02s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_doesNothing_whenNoRecords() PASSED 0.004s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_leavesRecordForRetry_onFailure() PASSED 0.013s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_routesToApprovedTopic_forRestaurantApprovedEvent() PASSED 0.448s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_routesToRejectedTopic_forRestaurantRejectedEvent() PASSED 0.005s
restaurant-service io.github.terrence721.saga.restaurant.service.OutboxPublisherServiceTest publishPendingOutboxRecords_throwsIllegalArgumentException_forUnknownEventType() PASSED 0.005s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantConsumerConfigTest onPaymentProcessed_deserializesPayloadAndDelegatesToProcessRestaurantStep() PASSED 0.117s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantInventoryServiceTest verifyAndDeductStock_returnsAllocatedAndDeducts_whenEnoughStock() PASSED 0.002s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantInventoryServiceTest verifyAndDeductStock_returnsInsufficientStock_whenNotEnough() PASSED 0.077s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantInventoryServiceTest verifyAndDeductStock_returnsItemNotFound_whenItemCodeUnknown() PASSED 0.002s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_createsPreparingTicketAndApprovedOutbox_whenAllocated() PASSED 0.006s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_createsRejectedTicketAndRejectedOutbox_whenInsufficientStock() PASSED 0.119s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_createsRejectedTicketAndRejectedOutbox_whenItemNotFound() PASSED 0.006s
restaurant-service io.github.terrence721.saga.restaurant.service.RestaurantServiceTest processRestaurantStep_skipsDuplicate_whenTicketAlreadyExists() PASSED 0.002s
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_whenQuantityNotPositive() PASSED 0.002s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest loginRequestRoundTripsThroughSerialization() PASSED 0.004s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest loginResponseRoundTripsAtInt64Boundary() PASSED 0.08s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest loginResponseRoundTripsThroughSerialization() PASSED 0.001s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest validateTokenRequestRoundTripsThroughSerialization() PASSED 0.002s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest validateTokenResponseRoundTripsWhenInvalid() PASSED 0.002s
user-contract io.github.terrence721.saga.user.grpc.UserContractSerializationTest validateTokenResponseRoundTripsWhenValid() PASSED 0.001s
user-service io.github.terrence721.saga.user.UserServiceApplicationTests contextLoads() PASSED 0.337s
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.19s
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.004s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceImplErrorTest loginFailsWithGenericUnauthenticatedWhenUserInactive() PASSED 0.282s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceImplErrorTest loginFailsWithGenericUnauthenticatedWhenUserMissing() PASSED 0.003s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceImplErrorTest loginStillComparesPasswordWhenUserInactive_forTimingSafety() PASSED 0.011s
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.109s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceIntegrationTest loginOverGrpcPropagatesGenericUnauthenticatedStatus() PASSED 0.108s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceIntegrationTest loginOverGrpcReturnsAccessToken() PASSED 0.007s
user-service io.github.terrence721.saga.user.infra.grpc.UserGrpcServiceIntegrationTest validateTokenOverGrpcReturnsValid() PASSED 0.004s
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.002s
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.067s
user-service io.github.terrence721.saga.user.infra.security.JwtTokenProviderTest verifyTokenReturnsEmptyForWrongIssuer() PASSED 0.002s
user-service io.github.terrence721.saga.user.repository.UserRepositoryTest findByEmail_returnsEmpty_whenEmailDoesNotExist() PASSED 0.006s
user-service io.github.terrence721.saga.user.repository.UserRepositoryTest findByEmail_returnsUser_whenEmailExists() PASSED 0.118s
user-service io.github.terrence721.saga.user.repository.UserRepositoryTest save_rejectsADuplicateEmail_becauseTheColumnIsGenuinelyUnique() PASSED 0.068s