feature/run-office-module-without-booking-and-hosting #148

Merged
hsh-michaelhoennig merged 19 commits from feature/run-office-module-without-booking-and-hosting into master 2025-01-21 14:36:53 +01:00
47 changed files with 102 additions and 117 deletions
Showing only changes of commit 3c6ed0e6ff - Show all commits

View File

@ -2,11 +2,13 @@ package net.hostsharing.hsadminng.hs.booking.debitor;
import io.micrometer.core.annotation.Timed; import io.micrometer.core.annotation.Timed;
import org.springframework.data.repository.Repository; import org.springframework.data.repository.Repository;
import org.springframework.context.annotation.Profile;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
@Profile("!only-office")
public interface HsBookingDebitorRepository extends Repository<HsBookingDebitorEntity, UUID> { public interface HsBookingDebitorRepository extends Repository<HsBookingDebitorEntity, UUID> {
@Timed("app.booking.debitor.repo.findByUuid") @Timed("app.booking.debitor.repo.findByUuid")

View File

@ -1,10 +1,12 @@
package net.hostsharing.hsadminng.hs.booking.item; package net.hostsharing.hsadminng.hs.booking.item;
import io.micrometer.core.annotation.Timed; import io.micrometer.core.annotation.Timed;
import org.springframework.context.annotation.Profile;
import org.springframework.data.repository.Repository; import org.springframework.data.repository.Repository;
import java.util.UUID; import java.util.UUID;
@Profile("!only-office")
public interface BookingItemCreatedEventRepository extends Repository<BookingItemCreatedEventEntity, UUID> { public interface BookingItemCreatedEventRepository extends Repository<BookingItemCreatedEventEntity, UUID> {
@Timed("app.booking.items.repo.save") @Timed("app.booking.items.repo.save")

View File

@ -16,6 +16,7 @@ import net.hostsharing.hsadminng.mapper.StrictMapper;
import net.hostsharing.hsadminng.persistence.EntityManagerWrapper; import net.hostsharing.hsadminng.persistence.EntityManagerWrapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.annotation.Profile;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -30,6 +31,7 @@ import static java.util.Optional.ofNullable;
import static net.hostsharing.hsadminng.mapper.PostgresDateRange.toPostgresDateRange; import static net.hostsharing.hsadminng.mapper.PostgresDateRange.toPostgresDateRange;
@RestController @RestController
@Profile("!only-office")
public class HsBookingItemController implements HsBookingItemsApi { public class HsBookingItemController implements HsBookingItemsApi {
@Autowired @Autowired

View File

@ -1,12 +1,14 @@
package net.hostsharing.hsadminng.hs.booking.item; package net.hostsharing.hsadminng.hs.booking.item;
import io.micrometer.core.annotation.Timed; import io.micrometer.core.annotation.Timed;
import org.springframework.context.annotation.Profile;
import org.springframework.data.repository.Repository; import org.springframework.data.repository.Repository;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
@Profile("!only-office")
public interface HsBookingItemRbacRepository extends HsBookingItemRepository<HsBookingItemRbacEntity>, public interface HsBookingItemRbacRepository extends HsBookingItemRepository<HsBookingItemRbacEntity>,
Repository<HsBookingItemRbacEntity, UUID> { Repository<HsBookingItemRbacEntity, UUID> {

View File

@ -1,12 +1,14 @@
package net.hostsharing.hsadminng.hs.booking.item; package net.hostsharing.hsadminng.hs.booking.item;
import io.micrometer.core.annotation.Timed; import io.micrometer.core.annotation.Timed;
import org.springframework.context.annotation.Profile;
import org.springframework.data.repository.Repository; import org.springframework.data.repository.Repository;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
@Profile("!only-office")
public interface HsBookingItemRealRepository extends HsBookingItemRepository<HsBookingItemRealEntity>, public interface HsBookingItemRealRepository extends HsBookingItemRepository<HsBookingItemRealEntity>,
Repository<HsBookingItemRealEntity, UUID> { Repository<HsBookingItemRealEntity, UUID> {

View File

@ -1,10 +1,13 @@
package net.hostsharing.hsadminng.hs.booking.item; package net.hostsharing.hsadminng.hs.booking.item;
import org.springframework.context.annotation.Profile;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
@Profile("!only-office")
public interface HsBookingItemRepository<E extends HsBookingItem> { public interface HsBookingItemRepository<E extends HsBookingItem> {
Optional<E> findByUuid(final UUID bookingItemUuid); Optional<E> findByUuid(final UUID bookingItemUuid);

View File

@ -9,6 +9,7 @@ import net.hostsharing.hsadminng.hs.booking.generated.api.v1.model.HsBookingProj
import net.hostsharing.hsadminng.hs.booking.generated.api.v1.model.HsBookingProjectResource; import net.hostsharing.hsadminng.hs.booking.generated.api.v1.model.HsBookingProjectResource;
import net.hostsharing.hsadminng.mapper.StrictMapper; import net.hostsharing.hsadminng.mapper.StrictMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Profile;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -20,6 +21,7 @@ import java.util.UUID;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
@RestController @RestController
@Profile("!only-office")
public class HsBookingProjectController implements HsBookingProjectsApi { public class HsBookingProjectController implements HsBookingProjectsApi {
@Autowired @Autowired

View File

@ -1,12 +1,14 @@
package net.hostsharing.hsadminng.hs.booking.project; package net.hostsharing.hsadminng.hs.booking.project;
import io.micrometer.core.annotation.Timed; import io.micrometer.core.annotation.Timed;
import org.springframework.context.annotation.Profile;
import org.springframework.data.repository.Repository; import org.springframework.data.repository.Repository;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
@Profile("!only-office")
public interface HsBookingProjectRbacRepository extends HsBookingProjectRepository<HsBookingProjectRbacEntity>, public interface HsBookingProjectRbacRepository extends HsBookingProjectRepository<HsBookingProjectRbacEntity>,
Repository<HsBookingProjectRbacEntity, UUID> { Repository<HsBookingProjectRbacEntity, UUID> {

View File

@ -1,12 +1,14 @@
package net.hostsharing.hsadminng.hs.booking.project; package net.hostsharing.hsadminng.hs.booking.project;
import io.micrometer.core.annotation.Timed; import io.micrometer.core.annotation.Timed;
import org.springframework.context.annotation.Profile;
import org.springframework.data.repository.Repository; import org.springframework.data.repository.Repository;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
@Profile("!only-office")
public interface HsBookingProjectRealRepository extends HsBookingProjectRepository<HsBookingProjectRealEntity>, public interface HsBookingProjectRealRepository extends HsBookingProjectRepository<HsBookingProjectRealEntity>,
Repository<HsBookingProjectRealEntity, UUID> { Repository<HsBookingProjectRealEntity, UUID> {

View File

@ -1,11 +1,13 @@
package net.hostsharing.hsadminng.hs.booking.project; package net.hostsharing.hsadminng.hs.booking.project;
import io.micrometer.core.annotation.Timed; import io.micrometer.core.annotation.Timed;
import org.springframework.context.annotation.Profile;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
@Profile("!only-office")
public interface HsBookingProjectRepository<E extends HsBookingProject> { public interface HsBookingProjectRepository<E extends HsBookingProject> {
@Timed("app.booking.projects.repo.findByUuid") @Timed("app.booking.projects.repo.findByUuid")

View File

@ -15,6 +15,7 @@ import net.hostsharing.hsadminng.mapper.KeyValueMap;
import net.hostsharing.hsadminng.mapper.StrictMapper; import net.hostsharing.hsadminng.mapper.StrictMapper;
import net.hostsharing.hsadminng.persistence.EntityManagerWrapper; import net.hostsharing.hsadminng.persistence.EntityManagerWrapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Profile;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -27,6 +28,7 @@ import java.util.UUID;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
@RestController @RestController
@Profile("!only-office")
public class HsHostingAssetController implements HsHostingAssetsApi { public class HsHostingAssetController implements HsHostingAssetsApi {
@Autowired @Autowired

View File

@ -4,6 +4,7 @@ import io.micrometer.core.annotation.Timed;
import net.hostsharing.hsadminng.hs.hosting.asset.validators.HostingAssetEntityValidatorRegistry; import net.hostsharing.hsadminng.hs.hosting.asset.validators.HostingAssetEntityValidatorRegistry;
import net.hostsharing.hsadminng.hs.hosting.generated.api.v1.api.HsHostingAssetPropsApi; import net.hostsharing.hsadminng.hs.hosting.generated.api.v1.api.HsHostingAssetPropsApi;
import net.hostsharing.hsadminng.hs.hosting.generated.api.v1.model.HsHostingAssetTypeResource; import net.hostsharing.hsadminng.hs.hosting.generated.api.v1.model.HsHostingAssetTypeResource;
import org.springframework.context.annotation.Profile;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -12,6 +13,7 @@ import java.util.Map;
@RestController @RestController
@Profile("!only-office")
public class HsHostingAssetPropsController implements HsHostingAssetPropsApi { public class HsHostingAssetPropsController implements HsHostingAssetPropsApi {
@Override @Override

View File

@ -1,6 +1,7 @@
package net.hostsharing.hsadminng.hs.hosting.asset; package net.hostsharing.hsadminng.hs.hosting.asset;
import io.micrometer.core.annotation.Timed; import io.micrometer.core.annotation.Timed;
import org.springframework.context.annotation.Profile;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.Repository; import org.springframework.data.repository.Repository;
@ -8,7 +9,7 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
@Profile("!only-office")
public interface HsHostingAssetRbacRepository extends HsHostingAssetRepository<HsHostingAssetRbacEntity>, Repository<HsHostingAssetRbacEntity, UUID> { public interface HsHostingAssetRbacRepository extends HsHostingAssetRepository<HsHostingAssetRbacEntity>, Repository<HsHostingAssetRbacEntity, UUID> {
@Timed("app.hostingAsset.repo.findByUuid.rbac") @Timed("app.hostingAsset.repo.findByUuid.rbac")

View File

@ -1,6 +1,7 @@
package net.hostsharing.hsadminng.hs.hosting.asset; package net.hostsharing.hsadminng.hs.hosting.asset;
import io.micrometer.core.annotation.Timed; import io.micrometer.core.annotation.Timed;
import org.springframework.context.annotation.Profile;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.Repository; import org.springframework.data.repository.Repository;
@ -9,6 +10,7 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
@Profile("!only-office")
public interface HsHostingAssetRealRepository extends HsHostingAssetRepository<HsHostingAssetRealEntity>, Repository<HsHostingAssetRealEntity, UUID> { public interface HsHostingAssetRealRepository extends HsHostingAssetRepository<HsHostingAssetRealEntity>, Repository<HsHostingAssetRealEntity, UUID> {
@Timed("app.hostingAsset.repo.findByUuid.real") @Timed("app.hostingAsset.repo.findByUuid.real")

View File

@ -1,11 +1,13 @@
package net.hostsharing.hsadminng.hs.hosting.asset; package net.hostsharing.hsadminng.hs.hosting.asset;
import io.micrometer.core.annotation.Timed; import io.micrometer.core.annotation.Timed;
import org.springframework.context.annotation.Profile;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
@Profile("!only-office")
public interface HsHostingAssetRepository<E extends HsHostingAsset> { public interface HsHostingAssetRepository<E extends HsHostingAsset> {
@Timed("app.hosting.assets.repo.findByUuid") @Timed("app.hosting.assets.repo.findByUuid")

View File

@ -13,9 +13,11 @@ import net.hostsharing.hsadminng.mapper.StrictMapper;
import net.hostsharing.hsadminng.persistence.EntityManagerWrapper; import net.hostsharing.hsadminng.persistence.EntityManagerWrapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
@Profile("!only-office")
public class HsBookingItemCreatedListener implements ApplicationListener<BookingItemCreatedAppEvent> { public class HsBookingItemCreatedListener implements ApplicationListener<BookingItemCreatedAppEvent> {
@Autowired @Autowired

View File

@ -30,6 +30,7 @@ management:
enabled: true enabled: true
spring: spring:
datasource: datasource:
driver-class-name: org.postgresql.Driver driver-class-name: org.postgresql.Driver
password: password password: password
@ -46,8 +47,7 @@ spring:
dialect: net.hostsharing.hsadminng.config.PostgresCustomDialect dialect: net.hostsharing.hsadminng.config.PostgresCustomDialect
liquibase: liquibase:
# default just as a marker to show from which profile it comes contexts: ${spring.profiles.active}
contexts: default,dev,rbac-test,office,office-test,booking,booking-test,hosting,hosting-test,pg_stat_statements
# keep this in sync with test/.../application.yml # keep this in sync with test/.../application.yml
springdoc: springdoc:
@ -66,54 +66,3 @@ metrics:
http: http:
server: server:
requests: true requests: true
---
# the 'dev-all' profile automatically creates the PgSql users and runs all modules without test-data
spring:
config:
activate:
on-profile: dev-all
liquibase:
contexts: dev,office,booking,hosting,pg_stat_statements
---
# the 'dev-all' profile automatically creates the PgSql users and runs all modules with test-data
spring:
config:
activate:
on-profile: dev-all-test
liquibase:
contexts: dev,rbac-test,office,office-test,booking,booking-test,hosting,hosting-test,pg_stat_statements
---
# the 'dev-office' profile automatically creates the PgSql users and runs only the office module without test-data
spring:
config:
activate:
on-profile: dev-office
liquibase:
contexts: dev,office,pg_stat_statements
---
# the 'dev-office' profile automatically creates the PgSql users and runs only the office module with test-data
spring:
config:
activate:
on-profile: dev-office-test
liquibase:
contexts: dev,rbac-test,office,office-test,pg_stat_statements
---
# the 'prod-office' profile expects that the PgSql users are already created and runs only the office module without test-data
spring:
config:
activate:
on-profile: prod-office
liquibase:
contexts: office

View File

@ -870,7 +870,7 @@ $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:rbac-base-PGSQL-ROLES context:dev,tc endDelimiter:--// --changeset michael.hoennig:rbac-base-PGSQL-ROLES context:!external-db endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do $$ do $$

View File

@ -170,7 +170,7 @@ commit;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:rbac-global-ADMIN-USERS context:dev,tc endDelimiter:--// --changeset michael.hoennig:rbac-global-ADMIN-USERS context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
/* /*
Create two users and assign both to the administrators' role. Create two users and assign both to the administrators' role.
@ -192,7 +192,7 @@ $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:rbac-global-TEST context:dev,tc runAlways:true endDelimiter:--// --changeset michael.hoennig:rbac-global-TEST context:!without-test-data runAlways:true endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
/* /*

View File

@ -67,7 +67,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:test-customer-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:test-customer-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -59,7 +59,7 @@ $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:test-package-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:test-package-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -52,7 +52,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-domain-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-domain-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -55,7 +55,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-office-contact-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-office-contact-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -34,7 +34,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-office-person-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-office-person-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -80,7 +80,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-office-relation-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-office-relation-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -66,7 +66,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-office-partner-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-office-partner-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -26,7 +26,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-office-bankaccount-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-office-bankaccount-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -45,7 +45,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-office-debitor-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-office-debitor-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -38,7 +38,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-office-sepaMandate-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-office-sepaMandate-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -28,7 +28,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-office-membership-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-office-membership-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -38,7 +38,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-office-coopSharesTransaction-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-office-coopSharesTransaction-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -44,7 +44,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-office-coopAssetsTransaction-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-office-coopAssetsTransaction-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -34,7 +34,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-booking-project-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-booking-project-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -40,7 +40,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-booking-item-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-booking-item-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -105,7 +105,7 @@ end; $$;
-- ============================================================================ -- ============================================================================
--changeset michael.hoennig:hs-hosting-asset-TEST-DATA-GENERATION context=dev,tc endDelimiter:--// --changeset michael.hoennig:hs-hosting-asset-TEST-DATA-GENERATION context:!without-test-data endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
do language plpgsql $$ do language plpgsql $$

View File

@ -53,34 +53,34 @@ databaseChangeLog:
- include: - include:
file: db/changelog/2-rbactest/200-rbactest-schema.sql file: db/changelog/2-rbactest/200-rbactest-schema.sql
context: rbac-test context: "!without-test-data"
- include: - include:
file: db/changelog/2-rbactest/201-rbactest-customer/2010-rbactest-customer.sql file: db/changelog/2-rbactest/201-rbactest-customer/2010-rbactest-customer.sql
context: rbac-test context: "!without-test-data"
- include: - include:
file: db/changelog/2-rbactest/201-rbactest-customer/2013-rbactest-customer-rbac.sql file: db/changelog/2-rbactest/201-rbactest-customer/2013-rbactest-customer-rbac.sql
context: rbac-test context: "!without-test-data"
- include: - include:
file: db/changelog/2-rbactest/201-rbactest-customer/2018-rbactest-customer-test-data.sql file: db/changelog/2-rbactest/201-rbactest-customer/2018-rbactest-customer-test-data.sql
context: rbac-test context: "!without-test-data"
- include: - include:
file: db/changelog/2-rbactest/202-rbactest-package/2020-rbactest-package.sql file: db/changelog/2-rbactest/202-rbactest-package/2020-rbactest-package.sql
context: rbac-test context: "!without-test-data"
- include: - include:
file: db/changelog/2-rbactest/202-rbactest-package/2023-rbactest-package-rbac.sql file: db/changelog/2-rbactest/202-rbactest-package/2023-rbactest-package-rbac.sql
context: rbac-test context: "!without-test-data"
- include: - include:
file: db/changelog/2-rbactest/202-rbactest-package/2028-rbactest-package-test-data.sql file: db/changelog/2-rbactest/202-rbactest-package/2028-rbactest-package-test-data.sql
context: rbac-test context: "!without-test-data"
- include: - include:
file: db/changelog/2-rbactest/203-rbactest-domain/2030-rbactest-domain.sql file: db/changelog/2-rbactest/203-rbactest-domain/2030-rbactest-domain.sql
context: rbac-test context: "!without-test-data"
- include: - include:
file: db/changelog/2-rbactest/203-rbactest-domain/2033-rbactest-domain-rbac.sql file: db/changelog/2-rbactest/203-rbactest-domain/2033-rbactest-domain-rbac.sql
context: rbac-test context: "!without-test-data"
- include: - include:
file: db/changelog/2-rbactest/203-rbactest-domain/2038-rbactest-domain-test-data.sql file: db/changelog/2-rbactest/203-rbactest-domain/2038-rbactest-domain-test-data.sql
context: rbac-test context: "!without-test-data"
- include: - include:
file: db/changelog/5-hs-office/500-hs-office-schema.sql file: db/changelog/5-hs-office/500-hs-office-schema.sql
@ -92,21 +92,21 @@ databaseChangeLog:
file: db/changelog/5-hs-office/501-contact/5016-hs-office-contact-migration.sql file: db/changelog/5-hs-office/501-contact/5016-hs-office-contact-migration.sql
- include: - include:
file: db/changelog/5-hs-office/501-contact/5018-hs-office-contact-test-data.sql file: db/changelog/5-hs-office/501-contact/5018-hs-office-contact-test-data.sql
context: office-test context: "!without-test-data"
- include: - include:
file: db/changelog/5-hs-office/502-person/5020-hs-office-person.sql file: db/changelog/5-hs-office/502-person/5020-hs-office-person.sql
- include: - include:
file: db/changelog/5-hs-office/502-person/5023-hs-office-person-rbac.sql file: db/changelog/5-hs-office/502-person/5023-hs-office-person-rbac.sql
- include: - include:
file: db/changelog/5-hs-office/502-person/5028-hs-office-person-test-data.sql file: db/changelog/5-hs-office/502-person/5028-hs-office-person-test-data.sql
context: office-test context: "!without-test-data"
- include: - include:
file: db/changelog/5-hs-office/503-relation/5030-hs-office-relation.sql file: db/changelog/5-hs-office/503-relation/5030-hs-office-relation.sql
- include: - include:
file: db/changelog/5-hs-office/503-relation/5033-hs-office-relation-rbac.sql file: db/changelog/5-hs-office/503-relation/5033-hs-office-relation-rbac.sql
- include: - include:
file: db/changelog/5-hs-office/503-relation/5038-hs-office-relation-test-data.sql file: db/changelog/5-hs-office/503-relation/5038-hs-office-relation-test-data.sql
context: office-test context: "!without-test-data"
- include: - include:
file: db/changelog/5-hs-office/504-partner/5040-hs-office-partner.sql file: db/changelog/5-hs-office/504-partner/5040-hs-office-partner.sql
- include: - include:
@ -117,21 +117,21 @@ databaseChangeLog:
file: db/changelog/5-hs-office/504-partner/5046-hs-office-partner-migration.sql file: db/changelog/5-hs-office/504-partner/5046-hs-office-partner-migration.sql
- include: - include:
file: db/changelog/5-hs-office/504-partner/5048-hs-office-partner-test-data.sql file: db/changelog/5-hs-office/504-partner/5048-hs-office-partner-test-data.sql
context: office-test context: "!without-test-data"
- include: - include:
file: db/changelog/5-hs-office/505-bankaccount/5050-hs-office-bankaccount.sql file: db/changelog/5-hs-office/505-bankaccount/5050-hs-office-bankaccount.sql
- include: - include:
file: db/changelog/5-hs-office/505-bankaccount/5053-hs-office-bankaccount-rbac.sql file: db/changelog/5-hs-office/505-bankaccount/5053-hs-office-bankaccount-rbac.sql
- include: - include:
file: db/changelog/5-hs-office/505-bankaccount/5058-hs-office-bankaccount-test-data.sql file: db/changelog/5-hs-office/505-bankaccount/5058-hs-office-bankaccount-test-data.sql
context: office-test context: "!without-test-data"
- include: - include:
file: db/changelog/5-hs-office/506-debitor/5060-hs-office-debitor.sql file: db/changelog/5-hs-office/506-debitor/5060-hs-office-debitor.sql
- include: - include:
file: db/changelog/5-hs-office/506-debitor/5063-hs-office-debitor-rbac.sql file: db/changelog/5-hs-office/506-debitor/5063-hs-office-debitor-rbac.sql
- include: - include:
file: db/changelog/5-hs-office/506-debitor/5068-hs-office-debitor-test-data.sql file: db/changelog/5-hs-office/506-debitor/5068-hs-office-debitor-test-data.sql
context: office-test context: "!without-test-data"
- include: - include:
file: db/changelog/5-hs-office/507-sepamandate/5070-hs-office-sepamandate.sql file: db/changelog/5-hs-office/507-sepamandate/5070-hs-office-sepamandate.sql
- include: - include:
@ -140,14 +140,14 @@ databaseChangeLog:
file: db/changelog/5-hs-office/507-sepamandate/5076-hs-office-sepamandate-migration.sql file: db/changelog/5-hs-office/507-sepamandate/5076-hs-office-sepamandate-migration.sql
- include: - include:
file: db/changelog/5-hs-office/507-sepamandate/5078-hs-office-sepamandate-test-data.sql file: db/changelog/5-hs-office/507-sepamandate/5078-hs-office-sepamandate-test-data.sql
context: office-test context: "!without-test-data"
- include: - include:
file: db/changelog/5-hs-office/510-membership/5100-hs-office-membership.sql file: db/changelog/5-hs-office/510-membership/5100-hs-office-membership.sql
- include: - include:
file: db/changelog/5-hs-office/510-membership/5103-hs-office-membership-rbac.sql file: db/changelog/5-hs-office/510-membership/5103-hs-office-membership-rbac.sql
- include: - include:
file: db/changelog/5-hs-office/510-membership/5108-hs-office-membership-test-data.sql file: db/changelog/5-hs-office/510-membership/5108-hs-office-membership-test-data.sql
context: office-test context: "!without-test-data"
- include: - include:
file: db/changelog/5-hs-office/511-coopshares/5110-hs-office-coopshares.sql file: db/changelog/5-hs-office/511-coopshares/5110-hs-office-coopshares.sql
- include: - include:
@ -156,7 +156,7 @@ databaseChangeLog:
file: db/changelog/5-hs-office/511-coopshares/5116-hs-office-coopshares-migration.sql file: db/changelog/5-hs-office/511-coopshares/5116-hs-office-coopshares-migration.sql
- include: - include:
file: db/changelog/5-hs-office/511-coopshares/5118-hs-office-coopshares-test-data.sql file: db/changelog/5-hs-office/511-coopshares/5118-hs-office-coopshares-test-data.sql
context: office-test context: "!without-test-data"
- include: - include:
file: db/changelog/5-hs-office/512-coopassets/5120-hs-office-coopassets.sql file: db/changelog/5-hs-office/512-coopassets/5120-hs-office-coopassets.sql
- include: - include:
@ -165,52 +165,52 @@ databaseChangeLog:
file: db/changelog/5-hs-office/512-coopassets/5126-hs-office-coopassets-migration.sql file: db/changelog/5-hs-office/512-coopassets/5126-hs-office-coopassets-migration.sql
- include: - include:
file: db/changelog/5-hs-office/512-coopassets/5128-hs-office-coopassets-test-data.sql file: db/changelog/5-hs-office/512-coopassets/5128-hs-office-coopassets-test-data.sql
context: office-test context: "!without-test-data"
- include: - include:
file: db/changelog/6-hs-booking/600-hs-booking-schema.sql file: db/changelog/6-hs-booking/600-hs-booking-schema.sql
context: booking context: "!only-office"
- include: - include:
file: db/changelog/6-hs-booking/610-booking-debitor/6100-hs-booking-debitor.sql file: db/changelog/6-hs-booking/610-booking-debitor/6100-hs-booking-debitor.sql
context: booking context: "!only-office"
- include: - include:
file: db/changelog/6-hs-booking/620-booking-project/6200-hs-booking-project.sql file: db/changelog/6-hs-booking/620-booking-project/6200-hs-booking-project.sql
context: booking context: "!only-office"
- include: - include:
file: db/changelog/6-hs-booking/620-booking-project/6203-hs-booking-project-rbac.sql file: db/changelog/6-hs-booking/620-booking-project/6203-hs-booking-project-rbac.sql
context: booking context: "!only-office"
- include: - include:
file: db/changelog/6-hs-booking/620-booking-project/6208-hs-booking-project-test-data.sql file: db/changelog/6-hs-booking/620-booking-project/6208-hs-booking-project-test-data.sql
context: booking-test context: "!only-office and !without-test-data"
- include: - include:
file: db/changelog/6-hs-booking/630-booking-item/6300-hs-booking-item.sql file: db/changelog/6-hs-booking/630-booking-item/6300-hs-booking-item.sql
context: booking context: "!only-office"
- include: - include:
file: db/changelog/6-hs-booking/630-booking-item/6303-hs-booking-item-rbac.sql file: db/changelog/6-hs-booking/630-booking-item/6303-hs-booking-item-rbac.sql
context: booking context: "!only-office"
- include: - include:
file: db/changelog/6-hs-booking/630-booking-item/6308-hs-booking-item-test-data.sql file: db/changelog/6-hs-booking/630-booking-item/6308-hs-booking-item-test-data.sql
context: booking-test context: "!only-office and !without-test-data"
- include: - include:
file: db/changelog/7-hs-hosting/700-hs-hosting-schema.sql file: db/changelog/7-hs-hosting/700-hs-hosting-schema.sql
context: hosting context: "!only-office"
- include: - include:
file: db/changelog/7-hs-hosting/701-hosting-asset/7010-hs-hosting-asset.sql file: db/changelog/7-hs-hosting/701-hosting-asset/7010-hs-hosting-asset.sql
context: hosting context: "!only-office"
- include: - include:
file: db/changelog/7-hs-hosting/701-hosting-asset/7013-hs-hosting-asset-rbac.sql file: db/changelog/7-hs-hosting/701-hosting-asset/7013-hs-hosting-asset-rbac.sql
context: hosting context: "!only-office"
- include: - include:
file: db/changelog/7-hs-hosting/701-hosting-asset/7016-hs-hosting-asset-migration.sql file: db/changelog/7-hs-hosting/701-hosting-asset/7016-hs-hosting-asset-migration.sql
context: hosting context: "!only-office"
- include: - include:
file: db/changelog/7-hs-hosting/701-hosting-asset/7018-hs-hosting-asset-test-data.sql file: db/changelog/7-hs-hosting/701-hosting-asset/7018-hs-hosting-asset-test-data.sql
context: hosting-test context: "!only-office and !without-test-data"
- include: - include:
file: db/changelog/9-hs-global/9000-statistics.sql file: db/changelog/9-hs-global/9000-statistics.sql
context: hosting context: "!only-office"
- include: - include:
file: db/changelog/9-hs-global/9100-hs-integration-schema.sql file: db/changelog/9-hs-global/9100-hs-integration-schema.sql

View File

@ -9,7 +9,7 @@ import java.util.List;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
class ActuatorSanitizerTest { class ActuatorSanitizerUnitTest {
private ActuatorSanitizer actuatorSanitizer; private ActuatorSanitizer actuatorSanitizer;

View File

@ -17,7 +17,7 @@ import static org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static com.github.tomakehurst.wiremock.client.WireMock.*; import static com.github.tomakehurst.wiremock.client.WireMock.*;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@TestPropertySource(properties = "server.port=0") @TestPropertySource(properties = {"server.port=0", "hsadminng.cas.server=http://localhost:8088/cas"})
@ActiveProfiles("wiremock") // IMPORTANT: To test prod config, do not use test profile! @ActiveProfiles("wiremock") // IMPORTANT: To test prod config, do not use test profile!
class CasAuthenticationFilterIntegrationTest { class CasAuthenticationFilterIntegrationTest {

View File

@ -22,7 +22,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@TestPropertySource(properties = {"management.port=0", "server.port=0"}) @TestPropertySource(properties = {"management.port=0", "server.port=0", "hsadminng.cas.server=http://localhost:8088/cas"})
@ActiveProfiles("wiremock") // IMPORTANT: To test prod config, do not use test profile! @ActiveProfiles("wiremock") // IMPORTANT: To test prod config, do not use test profile!
class WebSecurityConfigIntegrationTest { class WebSecurityConfigIntegrationTest {

View File

@ -46,7 +46,7 @@ import static org.hamcrest.Matchers.matchesRegex;
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
classes = { HsadminNgApplication.class, DisableSecurityConfig.class, JpaAttempt.class } classes = { HsadminNgApplication.class, DisableSecurityConfig.class, JpaAttempt.class }
) )
@ActiveProfiles("test") @ActiveProfiles({"test", "booking", "hosting"})
hsh-michaelhoennig marked this conversation as resolved Outdated

!only-office

!only-office
@Transactional @Transactional
@TestClassOrder(ClassOrderer.OrderAnnotation.class) // fail early on fetching problems @TestClassOrder(ClassOrderer.OrderAnnotation.class) // fail early on fetching problems
class HsBookingItemControllerAcceptanceTest extends ContextBasedTestWithCleanup { class HsBookingItemControllerAcceptanceTest extends ContextBasedTestWithCleanup {

View File

@ -42,7 +42,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
@WebMvcTest(HsBookingItemController.class) @WebMvcTest(HsBookingItemController.class)
@Import({StrictMapper.class, JsonObjectMapperConfiguration.class, DisableSecurityConfig.class}) @Import({StrictMapper.class, JsonObjectMapperConfiguration.class, DisableSecurityConfig.class})
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@ActiveProfiles("test") @ActiveProfiles({"test", "booking", "hosting"})
hsh-michaelhoennig marked this conversation as resolved Outdated

!only-office oder rausnehmen

!only-office oder rausnehmen
class HsBookingItemControllerRestTest { class HsBookingItemControllerRestTest {
@Autowired @Autowired

View File

@ -27,7 +27,7 @@ import static org.hamcrest.Matchers.matchesRegex;
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
classes = { HsadminNgApplication.class, DisableSecurityConfig.class, JpaAttempt.class } classes = { HsadminNgApplication.class, DisableSecurityConfig.class, JpaAttempt.class }
) )
@ActiveProfiles("test") @ActiveProfiles({"test", "booking", "hosting"})
hsh-michaelhoennig marked this conversation as resolved Outdated

!only-office oder rausnehmen

!only-office oder rausnehmen
@Transactional @Transactional
class HsBookingProjectControllerAcceptanceTest extends ContextBasedTestWithCleanup { class HsBookingProjectControllerAcceptanceTest extends ContextBasedTestWithCleanup {

View File

@ -47,7 +47,7 @@ import static org.hamcrest.Matchers.matchesRegex;
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
classes = { HsadminNgApplication.class, DisableSecurityConfig.class, DisableSecurityConfig.class, JpaAttempt.class } classes = { HsadminNgApplication.class, DisableSecurityConfig.class, DisableSecurityConfig.class, JpaAttempt.class }
) )
@ActiveProfiles("test") @ActiveProfiles({"test", "hosting"})
@TestClassOrder(ClassOrderer.OrderAnnotation.class) // fail early on fetching problems @TestClassOrder(ClassOrderer.OrderAnnotation.class) // fail early on fetching problems
class HsHostingAssetControllerAcceptanceTest extends ContextBasedTestWithCleanup { class HsHostingAssetControllerAcceptanceTest extends ContextBasedTestWithCleanup {

View File

@ -56,7 +56,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
@WebMvcTest(HsHostingAssetController.class) @WebMvcTest(HsHostingAssetController.class)
@Import({ StrictMapper.class, JsonObjectMapperConfiguration.class, DisableSecurityConfig.class }) @Import({ StrictMapper.class, JsonObjectMapperConfiguration.class, DisableSecurityConfig.class })
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@ActiveProfiles("test") @ActiveProfiles({"test", "hosting"})
public class HsHostingAssetControllerRestTest { public class HsHostingAssetControllerRestTest {
@Autowired @Autowired

View File

@ -15,7 +15,7 @@ import static net.hostsharing.hsadminng.test.JsonMatcher.lenientlyEquals;
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
classes = { HsadminNgApplication.class, DisableSecurityConfig.class, JpaAttempt.class } classes = { HsadminNgApplication.class, DisableSecurityConfig.class, JpaAttempt.class }
) )
@ActiveProfiles("test") @ActiveProfiles({"test", "hosting"})
class HsHostingAssetPropsControllerAcceptanceTest { class HsHostingAssetPropsControllerAcceptanceTest {
@LocalServerPort @LocalServerPort

View File

@ -32,6 +32,7 @@ import org.springframework.context.annotation.Import;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.test.annotation.Commit; import org.springframework.test.annotation.Commit;
import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ActiveProfiles;
import java.io.Reader; import java.io.Reader;
import java.net.IDN; import java.net.IDN;
@ -121,6 +122,7 @@ import static org.assertj.core.api.Assumptions.assumeThat;
}) })
@DirtiesContext @DirtiesContext
@Import({ Context.class, JpaAttempt.class }) @Import({ Context.class, JpaAttempt.class })
@ActiveProfiles("without-test-data")
@TestMethodOrder(MethodOrderer.OrderAnnotation.class) @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@ExtendWith(OrderedDependedTestsExtension.class) @ExtendWith(OrderedDependedTestsExtension.class)
public class ImportHostingAssets extends BaseOfficeDataImport { public class ImportHostingAssets extends BaseOfficeDataImport {

View File

@ -7,6 +7,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Import;
import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ActiveProfiles;
/* /*
* This 'test' includes the complete legacy 'office' data import. * This 'test' includes the complete legacy 'office' data import.
@ -51,6 +52,7 @@ import org.springframework.test.annotation.DirtiesContext;
"spring.datasource.password=${HSADMINNG_POSTGRES_ADMIN_PASSWORD:password}", "spring.datasource.password=${HSADMINNG_POSTGRES_ADMIN_PASSWORD:password}",
"hsadminng.superuser=${HSADMINNG_SUPERUSER:superuser-alex@hostsharing.net}" "hsadminng.superuser=${HSADMINNG_SUPERUSER:superuser-alex@hostsharing.net}"
}) })
@ActiveProfiles("without-test-data")
@DirtiesContext @DirtiesContext
@Import({ Context.class, JpaAttempt.class }) @Import({ Context.class, JpaAttempt.class })
@TestMethodOrder(MethodOrderer.OrderAnnotation.class) @TestMethodOrder(MethodOrderer.OrderAnnotation.class)