diff --git a/src/test/java/net/siegeln/cameleer/saas/vendor/VendorTenantServiceTest.java b/src/test/java/net/siegeln/cameleer/saas/vendor/VendorTenantServiceTest.java index e068f31..96aa36c 100644 --- a/src/test/java/net/siegeln/cameleer/saas/vendor/VendorTenantServiceTest.java +++ b/src/test/java/net/siegeln/cameleer/saas/vendor/VendorTenantServiceTest.java @@ -135,13 +135,15 @@ class VendorTenantServiceTest { when(licenseService.generateLicense(eq(tenant), any(Duration.class), eq(actorId))).thenReturn(license); when(tenantProvisioner.isAvailable()).thenReturn(true); when(tenantProvisioner.provision(any())).thenReturn(ProvisionResult.ok("http://server:8080")); + when(tenantRepository.findById(tenant.getId())).thenReturn(Optional.of(tenant)); when(tenantRepository.save(any(TenantEntity.class))).thenAnswer(inv -> inv.getArgument(0)); - var result = vendorTenantService.createAndProvision(request, actorId); + vendorTenantService.createAndProvision(request, actorId); - assertThat(result.getStatus()).isEqualTo(TenantStatus.ACTIVE); - assertThat(result.getServerEndpoint()).isEqualTo("http://server:8080"); - assertThat(result.getProvisionError()).isNull(); + // provisionAsync modifies the tenant entity in-place (runs synchronously in unit tests) + assertThat(tenant.getStatus()).isEqualTo(TenantStatus.ACTIVE); + assertThat(tenant.getServerEndpoint()).isEqualTo("http://server:8080"); + assertThat(tenant.getProvisionError()).isNull(); verify(tenantRepository).save(tenant); } @@ -156,12 +158,14 @@ class VendorTenantServiceTest { when(licenseService.generateLicense(eq(tenant), any(Duration.class), eq(actorId))).thenReturn(license); when(tenantProvisioner.isAvailable()).thenReturn(true); when(tenantProvisioner.provision(any())).thenReturn(ProvisionResult.fail("Docker failure")); + when(tenantRepository.findById(tenant.getId())).thenReturn(Optional.of(tenant)); when(tenantRepository.save(any(TenantEntity.class))).thenAnswer(inv -> inv.getArgument(0)); - var result = vendorTenantService.createAndProvision(request, actorId); + vendorTenantService.createAndProvision(request, actorId); - assertThat(result.getProvisionError()).isEqualTo("Docker failure"); - assertThat(result.getStatus()).isEqualTo(TenantStatus.PROVISIONING); + // provisionAsync modifies the tenant entity in-place (runs synchronously in unit tests) + assertThat(tenant.getProvisionError()).isEqualTo("Docker failure"); + assertThat(tenant.getStatus()).isEqualTo(TenantStatus.PROVISIONING); verify(tenantRepository).save(tenant); }