From 3cdd23368ad6dcfd23946a3dfbfff789b2fa4824 Mon Sep 17 00:00:00 2001 From: James Agnew Date: Wed, 12 Feb 2025 13:58:42 -0500 Subject: [PATCH] Test fix --- .../uhn/fhir/jpa/starter/AppProperties.java | 1264 ++++++++--------- .../jpa/starter/MultitenantServerR4IT.java | 143 +- 2 files changed, 702 insertions(+), 705 deletions(-) diff --git a/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java b/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java index dc9ab23..d8fe64b 100644 --- a/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java +++ b/src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java @@ -24,86 +24,77 @@ import java.util.Set; @EnableConfigurationProperties public class AppProperties { - private Boolean cr_enabled = false; - private Boolean ips_enabled = false; - private Boolean openapi_enabled = false; - private Boolean mdm_enabled = false; - private String mdm_rules_json_location = "mdm-rules.json"; - private boolean advanced_lucene_indexing = false; - private boolean enable_index_of_type = false; - private Boolean allow_cascading_deletes = false; - private Boolean allow_contains_searches = true; - private Boolean allow_external_references = false; - private Boolean allow_multiple_delete = false; - private Boolean allow_override_default_search_params = true; - private Boolean auto_create_placeholder_reference_targets = false; - private Boolean mass_ingestion_mode_enabled = false; - private final Set auto_version_reference_at_paths = new HashSet<>(); - private Boolean language_search_parameter_enabled = false; - private Boolean dao_scheduling_enabled = true; - private Boolean delete_expunge_enabled = false; - private Boolean enable_index_missing_fields = false; - private Boolean enable_index_contained_resource = false; - private Boolean enable_repository_validating_interceptor = false; - private Boolean enforce_referential_integrity_on_delete = true; - private Boolean enforce_referential_integrity_on_write = true; - private Boolean etag_support_enabled = true; - private Boolean expunge_enabled = true; - private Boolean fhirpath_interceptor_enabled = false; - private Boolean filter_search_enabled = true; - private Boolean graphql_enabled = false; - private Boolean binary_storage_enabled = false; - private Integer inline_resource_storage_below_size = 0; - private Boolean bulk_export_enabled = false; - private Boolean bulk_import_enabled = false; - private Boolean default_pretty_print = true; - private Integer default_page_size = 20; - private Integer max_binary_size = null; - private Integer max_page_size = Integer.MAX_VALUE; - private Integer defer_indexing_for_codesystems_of_size = 100; - private Long retain_cached_searches_mins = 60L; - private Long reuse_cached_search_results_millis = 60000L; - private String server_address = null; - private EncodingEnum default_encoding = EncodingEnum.JSON; - private FhirVersionEnum fhir_version = FhirVersionEnum.R4; - private ClientIdStrategyEnum client_id_strategy = ClientIdStrategyEnum.ALPHANUMERIC; - private IdStrategyEnum server_id_strategy = null; - private List supported_resource_types = new ArrayList<>(); - private List allowed_bundle_types = null; - private Boolean narrative_enabled = true; - - private Boolean ig_runtime_upload_enabled = false; - - private Validation validation = new Validation(); - private Map tester = null; - private Logger logger = new Logger(); - private Subscription subscription = new Subscription(); - private Cors cors = null; - private Partitioning partitioning = null; - private Boolean validate_resource_status_for_package_upload = true; - private Boolean install_transitive_ig_dependencies = true; - private Map implementationGuides = null; - - private String custom_content_path = null; - private String app_content_path = null; - - private Boolean lastn_enabled = false; - private boolean store_resource_in_lucene_index_enabled = false; - private NormalizedQuantitySearchLevel normalized_quantity_search_level = NormalizedQuantitySearchLevel.NORMALIZED_QUANTITY_SEARCH_NOT_SUPPORTED; - - private Boolean use_apache_address_strategy = false; - private Boolean use_apache_address_strategy_https = false; - - private Integer bundle_batch_pool_size = 20; - private Integer bundle_batch_pool_max_size = 100; - private final Set local_base_urls = new HashSet<>(); - private final Set logical_urls = new HashSet<>(); - - private Boolean resource_dbhistory_enabled = true; - - private final List custom_interceptor_classes = new ArrayList<>(); - + private final Set auto_version_reference_at_paths = new HashSet<>(); + private final Set local_base_urls = new HashSet<>(); + private final Set logical_urls = new HashSet<>(); + private final List custom_interceptor_classes = new ArrayList<>(); private final List custom_provider_classes = new ArrayList<>(); + private Boolean cr_enabled = false; + private Boolean ips_enabled = false; + private Boolean openapi_enabled = false; + private Boolean mdm_enabled = false; + private String mdm_rules_json_location = "mdm-rules.json"; + private boolean advanced_lucene_indexing = false; + private boolean enable_index_of_type = false; + private Boolean allow_cascading_deletes = false; + private Boolean allow_contains_searches = true; + private Boolean allow_external_references = false; + private Boolean allow_multiple_delete = false; + private Boolean allow_override_default_search_params = true; + private Boolean auto_create_placeholder_reference_targets = false; + private Boolean mass_ingestion_mode_enabled = false; + private Boolean language_search_parameter_enabled = false; + private Boolean dao_scheduling_enabled = true; + private Boolean delete_expunge_enabled = false; + private Boolean enable_index_missing_fields = false; + private Boolean enable_index_contained_resource = false; + private Boolean enable_repository_validating_interceptor = false; + private Boolean enforce_referential_integrity_on_delete = true; + private Boolean enforce_referential_integrity_on_write = true; + private Boolean etag_support_enabled = true; + private Boolean expunge_enabled = true; + private Boolean fhirpath_interceptor_enabled = false; + private Boolean filter_search_enabled = true; + private Boolean graphql_enabled = false; + private Boolean binary_storage_enabled = false; + private Integer inline_resource_storage_below_size = 0; + private Boolean bulk_export_enabled = false; + private Boolean bulk_import_enabled = false; + private Boolean default_pretty_print = true; + private Integer default_page_size = 20; + private Integer max_binary_size = null; + private Integer max_page_size = Integer.MAX_VALUE; + private Integer defer_indexing_for_codesystems_of_size = 100; + private Long retain_cached_searches_mins = 60L; + private Long reuse_cached_search_results_millis = 60000L; + private String server_address = null; + private EncodingEnum default_encoding = EncodingEnum.JSON; + private FhirVersionEnum fhir_version = FhirVersionEnum.R4; + private ClientIdStrategyEnum client_id_strategy = ClientIdStrategyEnum.ALPHANUMERIC; + private IdStrategyEnum server_id_strategy = null; + private List supported_resource_types = new ArrayList<>(); + private List allowed_bundle_types = null; + private Boolean narrative_enabled = true; + private Boolean ig_runtime_upload_enabled = false; + private Validation validation = new Validation(); + private Map tester = null; + private Logger logger = new Logger(); + private Subscription subscription = new Subscription(); + private Cors cors = null; + private Partitioning partitioning = null; + private Boolean validate_resource_status_for_package_upload = true; + private Boolean install_transitive_ig_dependencies = true; + private Map implementationGuides = null; + private String custom_content_path = null; + private String app_content_path = null; + private Boolean lastn_enabled = false; + private boolean store_resource_in_lucene_index_enabled = false; + private NormalizedQuantitySearchLevel normalized_quantity_search_level = NormalizedQuantitySearchLevel.NORMALIZED_QUANTITY_SEARCH_NOT_SUPPORTED; + private Boolean use_apache_address_strategy = false; + private Boolean use_apache_address_strategy_https = false; + private Integer bundle_batch_pool_size = 20; + private Integer bundle_batch_pool_max_size = 100; + private Boolean resource_dbhistory_enabled = true; private Boolean upliftedRefchains_enabled = false; private boolean userRequestRetryVersionConflictsInterceptorEnabled = false; @@ -111,8 +102,8 @@ public class AppProperties { private List search_prefetch_thresholds = new ArrayList<>(); public List getCustomInterceptorClasses() { - return custom_interceptor_classes; - } + return custom_interceptor_classes; + } public List getCustomProviderClasses() { return custom_provider_classes; @@ -128,160 +119,160 @@ public class AppProperties { } public Boolean getUse_apache_address_strategy() { - return use_apache_address_strategy; - } + return use_apache_address_strategy; + } - public void setUse_apache_address_strategy(Boolean use_apache_address_strategy) { - this.use_apache_address_strategy = use_apache_address_strategy; - } + public void setUse_apache_address_strategy(Boolean use_apache_address_strategy) { + this.use_apache_address_strategy = use_apache_address_strategy; + } - public Boolean getUse_apache_address_strategy_https() { - return use_apache_address_strategy_https; - } + public Boolean getUse_apache_address_strategy_https() { + return use_apache_address_strategy_https; + } - public void setUse_apache_address_strategy_https(Boolean use_apache_address_strategy_https) { - this.use_apache_address_strategy_https = use_apache_address_strategy_https; - } + public void setUse_apache_address_strategy_https(Boolean use_apache_address_strategy_https) { + this.use_apache_address_strategy_https = use_apache_address_strategy_https; + } - public Integer getDefer_indexing_for_codesystems_of_size() { - return defer_indexing_for_codesystems_of_size; - } + public Integer getDefer_indexing_for_codesystems_of_size() { + return defer_indexing_for_codesystems_of_size; + } - public void setDefer_indexing_for_codesystems_of_size(Integer defer_indexing_for_codesystems_of_size) { - this.defer_indexing_for_codesystems_of_size = defer_indexing_for_codesystems_of_size; - } + public void setDefer_indexing_for_codesystems_of_size(Integer defer_indexing_for_codesystems_of_size) { + this.defer_indexing_for_codesystems_of_size = defer_indexing_for_codesystems_of_size; + } - public Map getImplementationGuides() { - return implementationGuides; - } + public Map getImplementationGuides() { + return implementationGuides; + } - public void setImplementationGuides(Map implementationGuides) { - this.implementationGuides = implementationGuides; - } + public void setImplementationGuides(Map implementationGuides) { + this.implementationGuides = implementationGuides; + } - public Partitioning getPartitioning() { - return partitioning; - } + public Partitioning getPartitioning() { + return partitioning; + } - public void setPartitioning(Partitioning partitioning) { - this.partitioning = partitioning; - } + public void setPartitioning(Partitioning partitioning) { + this.partitioning = partitioning; + } - public Boolean getCr_enabled() { - return cr_enabled; - } + public Boolean getCr_enabled() { + return cr_enabled; + } - public void setCr_enabled(Boolean cr_enabled) { - this.cr_enabled = cr_enabled; - } + public void setCr_enabled(Boolean cr_enabled) { + this.cr_enabled = cr_enabled; + } public Boolean getIps_enabled() { - return ips_enabled; - } + return ips_enabled; + } public void setIps_enabled(Boolean ips_enabled) { - this.ips_enabled = ips_enabled; - } + this.ips_enabled = ips_enabled; + } - public Boolean getMdm_enabled() { - return mdm_enabled; - } + public Boolean getMdm_enabled() { + return mdm_enabled; + } - public void setMdm_enabled(Boolean mdm_enabled) { - this.mdm_enabled = mdm_enabled; - } + public void setMdm_enabled(Boolean mdm_enabled) { + this.mdm_enabled = mdm_enabled; + } - public String getMdm_rules_json_location() { - return mdm_rules_json_location; -} + public String getMdm_rules_json_location() { + return mdm_rules_json_location; + } -public void setMdm_rules_json_location(String mdm_rules_json_location) { - this.mdm_rules_json_location = mdm_rules_json_location; -} + public void setMdm_rules_json_location(String mdm_rules_json_location) { + this.mdm_rules_json_location = mdm_rules_json_location; + } -public Cors getCors() { - return cors; - } + public Cors getCors() { + return cors; + } - public void setCors(Cors cors) { - this.cors = cors; - } + public void setCors(Cors cors) { + this.cors = cors; + } - public List getAllowed_bundle_types() { - return allowed_bundle_types; - } + public List getAllowed_bundle_types() { + return allowed_bundle_types; + } - public void setAllowed_bundle_types(List allowed_bundle_types) { - this.allowed_bundle_types = allowed_bundle_types; - } + public void setAllowed_bundle_types(List allowed_bundle_types) { + this.allowed_bundle_types = allowed_bundle_types; + } - public String getServer_address() { - return server_address; - } + public String getServer_address() { + return server_address; + } - public void setServer_address(String server_address) { - this.server_address = server_address; - } + public void setServer_address(String server_address) { + this.server_address = server_address; + } - public Subscription getSubscription() { - return subscription; - } + public Subscription getSubscription() { + return subscription; + } - public Boolean getDefault_pretty_print() { - return default_pretty_print; - } + public void setSubscription(Subscription subscription) { + this.subscription = subscription; + } - public void setDefault_pretty_print(Boolean default_pretty_print) { - this.default_pretty_print = default_pretty_print; - } + public Boolean getDefault_pretty_print() { + return default_pretty_print; + } - public void setSubscription(Subscription subscription) { - this.subscription = subscription; - } + public void setDefault_pretty_print(Boolean default_pretty_print) { + this.default_pretty_print = default_pretty_print; + } - public Validation getValidation() { - return validation; - } + public Validation getValidation() { + return validation; + } - public void setValidation(Validation validation) { - this.validation = validation; - } + public void setValidation(Validation validation) { + this.validation = validation; + } - public List getSupported_resource_types() { - return supported_resource_types; - } + public List getSupported_resource_types() { + return supported_resource_types; + } - public void setSupported_resource_types(List supported_resource_types) { - this.supported_resource_types = supported_resource_types; - } + public void setSupported_resource_types(List supported_resource_types) { + this.supported_resource_types = supported_resource_types; + } public Logger getLogger() { - return logger; - } + return logger; + } - public void setLogger(Logger logger) { - this.logger = logger; - } + public void setLogger(Logger logger) { + this.logger = logger; + } - public ClientIdStrategyEnum getClient_id_strategy() { - return client_id_strategy; - } + public ClientIdStrategyEnum getClient_id_strategy() { + return client_id_strategy; + } - public void setClient_id_strategy( - ClientIdStrategyEnum client_id_strategy) { - this.client_id_strategy = client_id_strategy; - } + public void setClient_id_strategy( + ClientIdStrategyEnum client_id_strategy) { + this.client_id_strategy = client_id_strategy; + } - public IdStrategyEnum getServer_id_strategy() { - return server_id_strategy; - } + public IdStrategyEnum getServer_id_strategy() { + return server_id_strategy; + } - public void setServer_id_strategy(IdStrategyEnum server_id_strategy) { - this.server_id_strategy = server_id_strategy; - } + public void setServer_id_strategy(IdStrategyEnum server_id_strategy) { + this.server_id_strategy = server_id_strategy; + } - public boolean getAdvanced_lucene_indexing() { + public boolean getAdvanced_lucene_indexing() { return this.advanced_lucene_indexing; } @@ -290,98 +281,98 @@ public Cors getCors() { } public Boolean getAllow_cascading_deletes() { - return allow_cascading_deletes; - } + return allow_cascading_deletes; + } - public void setAllow_cascading_deletes(Boolean allow_cascading_deletes) { - this.allow_cascading_deletes = allow_cascading_deletes; - } + public void setAllow_cascading_deletes(Boolean allow_cascading_deletes) { + this.allow_cascading_deletes = allow_cascading_deletes; + } - public Boolean getAllow_contains_searches() { - return allow_contains_searches; - } + public Boolean getAllow_contains_searches() { + return allow_contains_searches; + } - public void setAllow_contains_searches(Boolean allow_contains_searches) { - this.allow_contains_searches = allow_contains_searches; - } + public void setAllow_contains_searches(Boolean allow_contains_searches) { + this.allow_contains_searches = allow_contains_searches; + } - public Boolean getAllow_external_references() { - return allow_external_references; - } + public Boolean getAllow_external_references() { + return allow_external_references; + } - public void setAllow_external_references(Boolean allow_external_references) { - this.allow_external_references = allow_external_references; - } + public void setAllow_external_references(Boolean allow_external_references) { + this.allow_external_references = allow_external_references; + } - public Boolean getAllow_multiple_delete() { - return allow_multiple_delete; - } + public Boolean getAllow_multiple_delete() { + return allow_multiple_delete; + } - public void setAllow_multiple_delete(Boolean allow_multiple_delete) { - this.allow_multiple_delete = allow_multiple_delete; - } + public void setAllow_multiple_delete(Boolean allow_multiple_delete) { + this.allow_multiple_delete = allow_multiple_delete; + } - public Boolean getAllow_override_default_search_params() { - return allow_override_default_search_params; - } + public Boolean getAllow_override_default_search_params() { + return allow_override_default_search_params; + } - public void setAllow_override_default_search_params( - Boolean allow_override_default_search_params) { - this.allow_override_default_search_params = allow_override_default_search_params; - } + public void setAllow_override_default_search_params( + Boolean allow_override_default_search_params) { + this.allow_override_default_search_params = allow_override_default_search_params; + } - public Boolean getMass_ingestion_mode_enabled() { - return mass_ingestion_mode_enabled; - } + public Boolean getMass_ingestion_mode_enabled() { + return mass_ingestion_mode_enabled; + } - public void setMass_ingestion_mode_enabled(Boolean mass_ingestion_mode_enabled) { - this.mass_ingestion_mode_enabled = mass_ingestion_mode_enabled; - } + public void setMass_ingestion_mode_enabled(Boolean mass_ingestion_mode_enabled) { + this.mass_ingestion_mode_enabled = mass_ingestion_mode_enabled; + } - public Boolean getAuto_create_placeholder_reference_targets() { - return auto_create_placeholder_reference_targets; - } + public Boolean getAuto_create_placeholder_reference_targets() { + return auto_create_placeholder_reference_targets; + } - public void setAuto_create_placeholder_reference_targets( - Boolean auto_create_placeholder_reference_targets) { - this.auto_create_placeholder_reference_targets = auto_create_placeholder_reference_targets; - } + public void setAuto_create_placeholder_reference_targets( + Boolean auto_create_placeholder_reference_targets) { + this.auto_create_placeholder_reference_targets = auto_create_placeholder_reference_targets; + } - public Set getAuto_version_reference_at_paths() { - return auto_version_reference_at_paths; - } + public Set getAuto_version_reference_at_paths() { + return auto_version_reference_at_paths; + } - public Integer getDefault_page_size() { - return default_page_size; - } + public Integer getDefault_page_size() { + return default_page_size; + } - public void setDefault_page_size(Integer default_page_size) { - this.default_page_size = default_page_size; - } + public void setDefault_page_size(Integer default_page_size) { + this.default_page_size = default_page_size; + } - public Boolean getDao_scheduling_enabled() { - return dao_scheduling_enabled; - } + public Boolean getDao_scheduling_enabled() { + return dao_scheduling_enabled; + } - public void setDao_scheduling_enabled(Boolean dao_scheduling_enabled) { - this.dao_scheduling_enabled = dao_scheduling_enabled; - } + public void setDao_scheduling_enabled(Boolean dao_scheduling_enabled) { + this.dao_scheduling_enabled = dao_scheduling_enabled; + } - public Boolean getDelete_expunge_enabled() { - return delete_expunge_enabled; - } + public Boolean getDelete_expunge_enabled() { + return delete_expunge_enabled; + } - public void setDelete_expunge_enabled(Boolean delete_expunge_enabled) { - this.delete_expunge_enabled = delete_expunge_enabled; - } + public void setDelete_expunge_enabled(Boolean delete_expunge_enabled) { + this.delete_expunge_enabled = delete_expunge_enabled; + } - public Boolean getEnable_index_missing_fields() { - return enable_index_missing_fields; - } + public Boolean getEnable_index_missing_fields() { + return enable_index_missing_fields; + } - public void setEnable_index_missing_fields(Boolean enable_index_missing_fields) { - this.enable_index_missing_fields = enable_index_missing_fields; - } + public void setEnable_index_missing_fields(Boolean enable_index_missing_fields) { + this.enable_index_missing_fields = enable_index_missing_fields; + } public Boolean getEnable_index_contained_resource() { return enable_index_contained_resource; @@ -400,70 +391,70 @@ public Cors getCors() { } public Boolean getEnforce_referential_integrity_on_delete() { - return enforce_referential_integrity_on_delete; - } + return enforce_referential_integrity_on_delete; + } - public void setEnforce_referential_integrity_on_delete( - Boolean enforce_referential_integrity_on_delete) { - this.enforce_referential_integrity_on_delete = enforce_referential_integrity_on_delete; - } + public void setEnforce_referential_integrity_on_delete( + Boolean enforce_referential_integrity_on_delete) { + this.enforce_referential_integrity_on_delete = enforce_referential_integrity_on_delete; + } - public Boolean getEnforce_referential_integrity_on_write() { - return enforce_referential_integrity_on_write; - } + public Boolean getEnforce_referential_integrity_on_write() { + return enforce_referential_integrity_on_write; + } - public void setEnforce_referential_integrity_on_write( - Boolean enforce_referential_integrity_on_write) { - this.enforce_referential_integrity_on_write = enforce_referential_integrity_on_write; - } + public void setEnforce_referential_integrity_on_write( + Boolean enforce_referential_integrity_on_write) { + this.enforce_referential_integrity_on_write = enforce_referential_integrity_on_write; + } - public Boolean getEtag_support_enabled() { - return etag_support_enabled; - } + public Boolean getEtag_support_enabled() { + return etag_support_enabled; + } - public void setEtag_support_enabled(Boolean etag_support_enabled) { - this.etag_support_enabled = etag_support_enabled; - } + public void setEtag_support_enabled(Boolean etag_support_enabled) { + this.etag_support_enabled = etag_support_enabled; + } - public Boolean getExpunge_enabled() { - return expunge_enabled; - } + public Boolean getExpunge_enabled() { + return expunge_enabled; + } - public void setExpunge_enabled(Boolean expunge_enabled) { - this.expunge_enabled = expunge_enabled; - } + public void setExpunge_enabled(Boolean expunge_enabled) { + this.expunge_enabled = expunge_enabled; + } - public Boolean getFhirpath_interceptor_enabled() { - return fhirpath_interceptor_enabled; - } + public Boolean getFhirpath_interceptor_enabled() { + return fhirpath_interceptor_enabled; + } - public void setFhirpath_interceptor_enabled(Boolean fhirpath_interceptor_enabled) { - this.fhirpath_interceptor_enabled = fhirpath_interceptor_enabled; - } + public void setFhirpath_interceptor_enabled(Boolean fhirpath_interceptor_enabled) { + this.fhirpath_interceptor_enabled = fhirpath_interceptor_enabled; + } - public Boolean getFilter_search_enabled() { - return filter_search_enabled; - } + public Boolean getFilter_search_enabled() { + return filter_search_enabled; + } - public void setFilter_search_enabled(Boolean filter_search_enabled) { - this.filter_search_enabled = filter_search_enabled; - } + public void setFilter_search_enabled(Boolean filter_search_enabled) { + this.filter_search_enabled = filter_search_enabled; + } - public Boolean getGraphql_enabled() { - return graphql_enabled; - } + public Boolean getGraphql_enabled() { + return graphql_enabled; + } - public void setGraphql_enabled(Boolean graphql_enabled) { - this.graphql_enabled = graphql_enabled; - } + public void setGraphql_enabled(Boolean graphql_enabled) { + this.graphql_enabled = graphql_enabled; + } - public Boolean getBinary_storage_enabled() { - return binary_storage_enabled; - } + public Boolean getBinary_storage_enabled() { + return binary_storage_enabled; + } - public void setBinary_storage_enabled(Boolean binary_storage_enabled) { - this.binary_storage_enabled = binary_storage_enabled; - } + public void setBinary_storage_enabled(Boolean binary_storage_enabled) { + this.binary_storage_enabled = binary_storage_enabled; + } public Integer getInline_resource_storage_below_size() { return inline_resource_storage_below_size; @@ -474,98 +465,96 @@ public Cors getCors() { } public Boolean getBulk_export_enabled() { - return bulk_export_enabled; - } + return bulk_export_enabled; + } - public void setBulk_export_enabled(Boolean bulk_export_enabled) { - this.bulk_export_enabled = bulk_export_enabled; - } + public void setBulk_export_enabled(Boolean bulk_export_enabled) { + this.bulk_export_enabled = bulk_export_enabled; + } - public Boolean getBulk_import_enabled() { - return bulk_import_enabled; - } + public Boolean getBulk_import_enabled() { + return bulk_import_enabled; + } - public void setBulk_import_enabled(Boolean bulk_import_enabled) { - this.bulk_import_enabled = bulk_import_enabled; - } + public void setBulk_import_enabled(Boolean bulk_import_enabled) { + this.bulk_import_enabled = bulk_import_enabled; + } - public EncodingEnum getDefault_encoding() { - return default_encoding; - } + public EncodingEnum getDefault_encoding() { + return default_encoding; + } - public void setDefault_encoding(EncodingEnum default_encoding) { - this.default_encoding = default_encoding; - } + public void setDefault_encoding(EncodingEnum default_encoding) { + this.default_encoding = default_encoding; + } - public FhirVersionEnum getFhir_version() { - return fhir_version; - } + public FhirVersionEnum getFhir_version() { + return fhir_version; + } - public void setFhir_version(FhirVersionEnum fhir_version) { - this.fhir_version = fhir_version; - } + public void setFhir_version(FhirVersionEnum fhir_version) { + this.fhir_version = fhir_version; + } - public Integer getMax_binary_size() { - return max_binary_size; - } + public Integer getMax_binary_size() { + return max_binary_size; + } - public void setMax_binary_size(Integer max_binary_size) { - this.max_binary_size = max_binary_size; - } + public void setMax_binary_size(Integer max_binary_size) { + this.max_binary_size = max_binary_size; + } - public Integer getMax_page_size() { - return max_page_size; - } + public Integer getMax_page_size() { + return max_page_size; + } - public void setMax_page_size(Integer max_page_size) { - this.max_page_size = max_page_size; - } + public void setMax_page_size(Integer max_page_size) { + this.max_page_size = max_page_size; + } - public Long getRetain_cached_searches_mins() { - return retain_cached_searches_mins; - } + public Long getRetain_cached_searches_mins() { + return retain_cached_searches_mins; + } - public void setRetain_cached_searches_mins(Long retain_cached_searches_mins) { - this.retain_cached_searches_mins = retain_cached_searches_mins; - } + public void setRetain_cached_searches_mins(Long retain_cached_searches_mins) { + this.retain_cached_searches_mins = retain_cached_searches_mins; + } - public Long getReuse_cached_search_results_millis() { - return reuse_cached_search_results_millis; - } + public Long getReuse_cached_search_results_millis() { + return reuse_cached_search_results_millis; + } - public void setReuse_cached_search_results_millis(Long reuse_cached_search_results_millis) { - if (Objects.equals(reuse_cached_search_results_millis, 0L)) { - this.reuse_cached_search_results_millis = null; - } else { - this.reuse_cached_search_results_millis = reuse_cached_search_results_millis; - } - } + public void setReuse_cached_search_results_millis(Long reuse_cached_search_results_millis) { + if (Objects.equals(reuse_cached_search_results_millis, 0L)) { + this.reuse_cached_search_results_millis = null; + } else { + this.reuse_cached_search_results_millis = reuse_cached_search_results_millis; + } + } - public Map getTester() { - return tester; - } + public Map getTester() { + return tester; + } - public void setTester(Map tester) { - this.tester = tester; - } + public void setTester(Map tester) { + this.tester = tester; + } - public Boolean getNarrative_enabled() - { - return narrative_enabled; - } + public Boolean getNarrative_enabled() { + return narrative_enabled; + } - public void setNarrative_enabled(Boolean narrative_enabled) - { - this.narrative_enabled = narrative_enabled; - } + public void setNarrative_enabled(Boolean narrative_enabled) { + this.narrative_enabled = narrative_enabled; + } - public Boolean getLastn_enabled() { - return lastn_enabled; - } + public Boolean getLastn_enabled() { + return lastn_enabled; + } - public void setLastn_enabled(Boolean lastn_enabled) { - this.lastn_enabled = lastn_enabled; - } + public void setLastn_enabled(Boolean lastn_enabled) { + this.lastn_enabled = lastn_enabled; + } public boolean getStore_resource_in_lucene_index_enabled() { return store_resource_in_lucene_index_enabled; @@ -576,22 +565,22 @@ public Cors getCors() { } public NormalizedQuantitySearchLevel getNormalized_quantity_search_level() { - return this.normalized_quantity_search_level; - } + return this.normalized_quantity_search_level; + } - public void setNormalized_quantity_search_level(NormalizedQuantitySearchLevel normalized_quantity_search_level) { - this.normalized_quantity_search_level = normalized_quantity_search_level; - } + public void setNormalized_quantity_search_level(NormalizedQuantitySearchLevel normalized_quantity_search_level) { + this.normalized_quantity_search_level = normalized_quantity_search_level; + } public boolean getInstall_transitive_ig_dependencies() { return install_transitive_ig_dependencies; } - + public void setInstall_transitive_ig_dependencies(boolean install_transitive_ig_dependencies) { this.install_transitive_ig_dependencies = install_transitive_ig_dependencies; } - public Boolean getValidate_resource_status_for_package_upload() { + public Boolean getValidate_resource_status_for_package_upload() { return validate_resource_status_for_package_upload; } @@ -619,7 +608,7 @@ public Cors getCors() { return local_base_urls; } - public Set getLogical_urls() { + public Set getLogical_urls() { return logical_urls; } @@ -660,7 +649,7 @@ public Cors getCors() { return this.search_prefetch_thresholds; } - public void setSearch_prefetch_thresholds(List thePrefetchThresholds) { + public void setSearch_prefetch_thresholds(List thePrefetchThresholds) { this.search_prefetch_thresholds = thePrefetchThresholds; } @@ -680,322 +669,329 @@ public Cors getCors() { this.userRequestRetryVersionConflictsInterceptorEnabled = userRequestRetryVersionConflictsInterceptorEnabled; } + public boolean getEnable_index_of_type() { + return enable_index_of_type; + } + + public void setEnable_index_of_type(boolean enable_index_of_type) { + this.enable_index_of_type = enable_index_of_type; + } + + public Boolean getResource_dbhistory_enabled() { + return resource_dbhistory_enabled; + } + + public void setResource_dbhistory_enabled(Boolean resource_dbhistory_enabled) { + this.resource_dbhistory_enabled = resource_dbhistory_enabled; + } + public static class Cors { - private Boolean allow_Credentials = true; - private List allowed_origin = List.of("*"); + private Boolean allow_Credentials = true; + private List allowed_origin = List.of("*"); - public List getAllowed_origin() { - return allowed_origin; - } + public List getAllowed_origin() { + return allowed_origin; + } - public void setAllowed_origin(List allowed_origin) { - this.allowed_origin = allowed_origin; - } + public void setAllowed_origin(List allowed_origin) { + this.allowed_origin = allowed_origin; + } - public Boolean getAllow_Credentials() { - return allow_Credentials; - } + public Boolean getAllow_Credentials() { + return allow_Credentials; + } - public void setAllow_Credentials(Boolean allow_Credentials) { - this.allow_Credentials = allow_Credentials; - } - } + public void setAllow_Credentials(Boolean allow_Credentials) { + this.allow_Credentials = allow_Credentials; + } + } - public static class Logger { + public static class Logger { - private String name = "fhirtest.access"; - private String error_format = "ERROR - ${requestVerb} ${requestUrl}"; - private String format = "Path[${servletPath}] Source[${requestHeader.x-forwarded-for}] Operation[${operationType} ${operationName} ${idOrResourceName}] UA[${requestHeader.user-agent}] Params[${requestParameters}] ResponseEncoding[${responseEncodingNoDefault}] Operation[${operationType} ${operationName} ${idOrResourceName}] UA[${requestHeader.user-agent}] Params[${requestParameters}] ResponseEncoding[${responseEncodingNoDefault}]"; - private Boolean log_exceptions = true; + private String name = "fhirtest.access"; + private String error_format = "ERROR - ${requestVerb} ${requestUrl}"; + private String format = "Path[${servletPath}] Source[${requestHeader.x-forwarded-for}] Operation[${operationType} ${operationName} ${idOrResourceName}] UA[${requestHeader.user-agent}] Params[${requestParameters}] ResponseEncoding[${responseEncodingNoDefault}] Operation[${operationType} ${operationName} ${idOrResourceName}] UA[${requestHeader.user-agent}] Params[${requestParameters}] ResponseEncoding[${responseEncodingNoDefault}]"; + private Boolean log_exceptions = true; - public String getName() { - return name; - } + public String getName() { + return name; + } - public void setName(String name) { - this.name = name; - } + public void setName(String name) { + this.name = name; + } - public String getError_format() { - return error_format; - } + public String getError_format() { + return error_format; + } - public void setError_format(String error_format) { - this.error_format = error_format; - } + public void setError_format(String error_format) { + this.error_format = error_format; + } - public String getFormat() { - return format; - } + public String getFormat() { + return format; + } - public void setFormat(String format) { - this.format = format; - } + public void setFormat(String format) { + this.format = format; + } - public Boolean getLog_exceptions() { - return log_exceptions; - } + public Boolean getLog_exceptions() { + return log_exceptions; + } - public void setLog_exceptions(Boolean log_exceptions) { - this.log_exceptions = log_exceptions; - } - } + public void setLog_exceptions(Boolean log_exceptions) { + this.log_exceptions = log_exceptions; + } + } + public static class Tester { - public static class Tester { + private String name; + private String server_address; + private Boolean refuse_to_fetch_third_party_urls = true; + private FhirVersionEnum fhir_version = FhirVersionEnum.R4; - private String name; - private String server_address; - private Boolean refuse_to_fetch_third_party_urls = true; - private FhirVersionEnum fhir_version = FhirVersionEnum.R4; + public FhirVersionEnum getFhir_version() { + return fhir_version; + } - public FhirVersionEnum getFhir_version() { - return fhir_version; - } + public void setFhir_version(FhirVersionEnum fhir_version) { + this.fhir_version = fhir_version; + } - public void setFhir_version(FhirVersionEnum fhir_version) { - this.fhir_version = fhir_version; - } + public String getName() { + return name; + } - public String getName() { - return name; - } + public void setName(String name) { + this.name = name; + } - public void setName(String name) { - this.name = name; - } + public String getServer_address() { + return server_address; + } - public String getServer_address() { - return server_address; - } + public void setServer_address(String server_address) { + this.server_address = server_address; + } - public void setServer_address(String server_address) { - this.server_address = server_address; - } + public Boolean getRefuse_to_fetch_third_party_urls() { + return refuse_to_fetch_third_party_urls; + } - public Boolean getRefuse_to_fetch_third_party_urls() { - return refuse_to_fetch_third_party_urls; - } + public void setRefuse_to_fetch_third_party_urls(Boolean refuse_to_fetch_third_party_urls) { + this.refuse_to_fetch_third_party_urls = refuse_to_fetch_third_party_urls; + } + } - public void setRefuse_to_fetch_third_party_urls(Boolean refuse_to_fetch_third_party_urls) { - this.refuse_to_fetch_third_party_urls = refuse_to_fetch_third_party_urls; - } - } + public static class Validation { + private Boolean requests_enabled = false; + private Boolean responses_enabled = false; - public static class Validation { + public Boolean getRequests_enabled() { + return requests_enabled; + } - private Boolean requests_enabled = false; - private Boolean responses_enabled = false; + public void setRequests_enabled(Boolean requests_enabled) { + this.requests_enabled = requests_enabled; + } - public Boolean getRequests_enabled() { - return requests_enabled; - } + public Boolean getResponses_enabled() { + return responses_enabled; + } - public void setRequests_enabled(Boolean requests_enabled) { - this.requests_enabled = requests_enabled; - } + public void setResponses_enabled(Boolean responses_enabled) { + this.responses_enabled = responses_enabled; + } + } - public Boolean getResponses_enabled() { - return responses_enabled; - } + public static class Partitioning { - public void setResponses_enabled(Boolean responses_enabled) { - this.responses_enabled = responses_enabled; - } - } - - public static class Partitioning { - - private Boolean partitioning_include_in_search_hashes = false; - private Boolean allow_references_across_partitions = false; - private Boolean conditional_create_duplicate_identifiers_enabled = false; + private Boolean partitioning_include_in_search_hashes = false; + private Boolean allow_references_across_partitions = false; + private Boolean conditional_create_duplicate_identifiers_enabled = false; private Boolean database_partition_mode_enabled = false; private Boolean patient_id_partitioning_mode = false; private Integer default_partition_id = 0; - private boolean request_tenant_partitioning_mode; + private boolean request_tenant_partitioning_mode; - public Integer getDefault_partition_id() { - return default_partition_id; - } + public boolean isRequest_tenant_partitioning_mode() { + return request_tenant_partitioning_mode; + } - public void setDefault_partition_id(Integer theDefault_partition_id) { - default_partition_id = theDefault_partition_id; - } + public Integer getDefault_partition_id() { + return default_partition_id; + } - public Boolean getDatabase_partition_mode_enabled() { - return database_partition_mode_enabled; - } + public void setDefault_partition_id(Integer theDefault_partition_id) { + default_partition_id = theDefault_partition_id; + } - public void setDatabase_partition_mode_enabled(Boolean theDatabase_partition_mode_enabled) { - database_partition_mode_enabled = theDatabase_partition_mode_enabled; - } + public Boolean getDatabase_partition_mode_enabled() { + return database_partition_mode_enabled; + } - public Boolean getPatient_id_partitioning_mode() { - return patient_id_partitioning_mode; - } + public void setDatabase_partition_mode_enabled(Boolean theDatabase_partition_mode_enabled) { + database_partition_mode_enabled = theDatabase_partition_mode_enabled; + } - public void setPatient_id_partitioning_mode(Boolean thePatient_id_partitioning_mode) { - patient_id_partitioning_mode = thePatient_id_partitioning_mode; - } + public Boolean getPatient_id_partitioning_mode() { + return patient_id_partitioning_mode; + } - public Boolean getPartitioning_include_in_search_hashes() { - return partitioning_include_in_search_hashes; - } + public void setPatient_id_partitioning_mode(Boolean thePatient_id_partitioning_mode) { + patient_id_partitioning_mode = thePatient_id_partitioning_mode; + } - public void setPartitioning_include_in_search_hashes(Boolean partitioning_include_in_search_hashes) { - this.partitioning_include_in_search_hashes = partitioning_include_in_search_hashes; - } - public Boolean getAllow_references_across_partitions() { - return allow_references_across_partitions; - } + public Boolean getPartitioning_include_in_search_hashes() { + return partitioning_include_in_search_hashes; + } - public void setAllow_references_across_partitions(Boolean allow_references_across_partitions) { - this.allow_references_across_partitions = allow_references_across_partitions; - } + public void setPartitioning_include_in_search_hashes(Boolean partitioning_include_in_search_hashes) { + this.partitioning_include_in_search_hashes = partitioning_include_in_search_hashes; + } - public Boolean getConditional_create_duplicate_identifiers_enabled() { - return conditional_create_duplicate_identifiers_enabled; - } + public Boolean getAllow_references_across_partitions() { + return allow_references_across_partitions; + } - public void setConditional_create_duplicate_identifiers_enabled(Boolean conditional_create_duplicate_identifiers_enabled) { - this.conditional_create_duplicate_identifiers_enabled = conditional_create_duplicate_identifiers_enabled; - } + public void setAllow_references_across_partitions(Boolean allow_references_across_partitions) { + this.allow_references_across_partitions = allow_references_across_partitions; + } - public boolean getRequest_tenant_partitioning_mode() { - return request_tenant_partitioning_mode; - } - } + public Boolean getConditional_create_duplicate_identifiers_enabled() { + return conditional_create_duplicate_identifiers_enabled; + } - public static class Subscription { + public void setConditional_create_duplicate_identifiers_enabled(Boolean conditional_create_duplicate_identifiers_enabled) { + this.conditional_create_duplicate_identifiers_enabled = conditional_create_duplicate_identifiers_enabled; + } - public Boolean getResthook_enabled() { - return resthook_enabled; - } + public boolean getRequest_tenant_partitioning_mode() { + return request_tenant_partitioning_mode; + } - public void setResthook_enabled(Boolean resthook_enabled) { - this.resthook_enabled = resthook_enabled; - } + public void setRequest_tenant_partitioning_mode(boolean theRequest_tenant_partitioning_mode) { + request_tenant_partitioning_mode = theRequest_tenant_partitioning_mode; + } + } - public Boolean getWebsocket_enabled() { - return websocket_enabled; - } + public static class Subscription { - public void setWebsocket_enabled(Boolean websocket_enabled) { - this.websocket_enabled = websocket_enabled; - } + private Boolean resthook_enabled = false; + private Boolean websocket_enabled = false; + private Email email = null; - private Boolean resthook_enabled = false; - private Boolean websocket_enabled = false; - private Email email = null; + public Boolean getResthook_enabled() { + return resthook_enabled; + } - public Email getEmail() { - return email; - } + public void setResthook_enabled(Boolean resthook_enabled) { + this.resthook_enabled = resthook_enabled; + } - public void setEmail(Email email) { - this.email = email; - } + public Boolean getWebsocket_enabled() { + return websocket_enabled; + } + + public void setWebsocket_enabled(Boolean websocket_enabled) { + this.websocket_enabled = websocket_enabled; + } + + public Email getEmail() { + return email; + } + + public void setEmail(Email email) { + this.email = email; + } - public static class Email { - public String getFrom() { - return from; - } + public static class Email { + private String from; + private String host; + private Integer port = 25; + private String username; + private String password; + private Boolean auth = false; + private Boolean startTlsEnable = false; + private Boolean startTlsRequired = false; + private Boolean quitWait = false; - public void setFrom(String from) { - this.from = from; - } + public String getFrom() { + return from; + } - public String getHost() { - return host; - } + public void setFrom(String from) { + this.from = from; + } - public void setHost(String host) { - this.host = host; - } + public String getHost() { + return host; + } - public Integer getPort() { - return port; - } + public void setHost(String host) { + this.host = host; + } - public void setPort(Integer port) { - this.port = port; - } + public Integer getPort() { + return port; + } - public String getUsername() { - return username; - } + public void setPort(Integer port) { + this.port = port; + } - public void setUsername(String username) { - this.username = username; - } + public String getUsername() { + return username; + } - public String getPassword() { - return password; - } + public void setUsername(String username) { + this.username = username; + } - public void setPassword(String password) { - this.password = password; - } + public String getPassword() { + return password; + } - public Boolean getAuth() { - return auth; - } + public void setPassword(String password) { + this.password = password; + } - public void setAuth(Boolean auth) { - this.auth = auth; - } + public Boolean getAuth() { + return auth; + } - public Boolean getStartTlsEnable() { - return startTlsEnable; - } + public void setAuth(Boolean auth) { + this.auth = auth; + } - public void setStartTlsEnable(Boolean startTlsEnable) { - this.startTlsEnable = startTlsEnable; - } + public Boolean getStartTlsEnable() { + return startTlsEnable; + } - public Boolean getStartTlsRequired() { - return startTlsRequired; - } + public void setStartTlsEnable(Boolean startTlsEnable) { + this.startTlsEnable = startTlsEnable; + } - public void setStartTlsRequired(Boolean startTlsRequired) { - this.startTlsRequired = startTlsRequired; - } + public Boolean getStartTlsRequired() { + return startTlsRequired; + } - public Boolean getQuitWait() { - return quitWait; - } + public void setStartTlsRequired(Boolean startTlsRequired) { + this.startTlsRequired = startTlsRequired; + } - public void setQuitWait(Boolean quitWait) { - this.quitWait = quitWait; - } + public Boolean getQuitWait() { + return quitWait; + } - private String from; - private String host; - private Integer port = 25; - private String username; - private String password; - private Boolean auth = false; - private Boolean startTlsEnable = false; - private Boolean startTlsRequired = false; - private Boolean quitWait = false; - } - } - - public boolean getEnable_index_of_type() { - return enable_index_of_type; - } - - public void setEnable_index_of_type(boolean enable_index_of_type) { - this.enable_index_of_type = enable_index_of_type; - } - -public Boolean getResource_dbhistory_enabled() { - return resource_dbhistory_enabled; -} - -public void setResource_dbhistory_enabled(Boolean resource_dbhistory_enabled) { - this.resource_dbhistory_enabled = resource_dbhistory_enabled; -} + public void setQuitWait(Boolean quitWait) { + this.quitWait = quitWait; + } + } + } } diff --git a/src/test/java/ca/uhn/fhir/jpa/starter/MultitenantServerR4IT.java b/src/test/java/ca/uhn/fhir/jpa/starter/MultitenantServerR4IT.java index bbe1348..9233961 100644 --- a/src/test/java/ca/uhn/fhir/jpa/starter/MultitenantServerR4IT.java +++ b/src/test/java/ca/uhn/fhir/jpa/starter/MultitenantServerR4IT.java @@ -7,7 +7,11 @@ import ca.uhn.fhir.rest.client.api.ServerValidationModeEnum; import ca.uhn.fhir.rest.client.interceptor.LoggingInterceptor; import ca.uhn.fhir.rest.client.interceptor.UrlTenantSelectionInterceptor; import ca.uhn.fhir.rest.server.provider.ProviderConstants; -import org.hl7.fhir.r4.model.*; +import org.hl7.fhir.r4.model.Bundle; +import org.hl7.fhir.r4.model.CodeType; +import org.hl7.fhir.r4.model.IntegerType; +import org.hl7.fhir.r4.model.Parameters; +import org.hl7.fhir.r4.model.Patient; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -19,89 +23,86 @@ import static org.junit.jupiter.api.Assertions.assertEquals; @ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = {Application.class}, properties = - { - "spring.datasource.url=jdbc:h2:mem:dbr4-mt", - "hapi.fhir.fhir_version=r4", - "hapi.fhir.subscription.websocket_enabled=true", - "hapi.fhir.cr_enabled=false", - "hapi.fhir.partitioning.partitioning_include_in_search_hashes=false", - - }) + { + "spring.datasource.url=jdbc:h2:mem:dbr4-mt", + "hapi.fhir.fhir_version=r4", + "hapi.fhir.subscription.websocket_enabled=true", + "hapi.fhir.cr_enabled=false", + "hapi.fhir.partitioning.partitioning_include_in_search_hashes=false", + "hapi.fhir.partitioning.request_tenant_partitioning_mode=true", + }) class MultitenantServerR4IT { - private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ExampleServerDstu2IT.class); - private IGenericClient ourClient; - private FhirContext ourCtx; + private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ExampleServerDstu2IT.class); + private static UrlTenantSelectionInterceptor ourClientTenantInterceptor; + private IGenericClient ourClient; + private FhirContext ourCtx; + @LocalServerPort + private int port; - @LocalServerPort - private int port; - - private static UrlTenantSelectionInterceptor ourClientTenantInterceptor; + @Test + void testCreateAndReadInTenantA() { - @Test - void testCreateAndReadInTenantA() { + // Create tenant A + ourClientTenantInterceptor.setTenantId("DEFAULT"); + ourClient + .operation() + .onServer() + .named(ProviderConstants.PARTITION_MANAGEMENT_CREATE_PARTITION) + .withParameter(Parameters.class, ProviderConstants.PARTITION_MANAGEMENT_PARTITION_ID, new IntegerType(1)) + .andParameter(ProviderConstants.PARTITION_MANAGEMENT_PARTITION_NAME, new CodeType("TENANT-A")) + .execute(); - // Create tenant A - ourClientTenantInterceptor.setTenantId("DEFAULT"); - ourClient - .operation() - .onServer() - .named(ProviderConstants.PARTITION_MANAGEMENT_CREATE_PARTITION) - .withParameter(Parameters.class, ProviderConstants.PARTITION_MANAGEMENT_PARTITION_ID, new IntegerType(1)) - .andParameter(ProviderConstants.PARTITION_MANAGEMENT_PARTITION_NAME, new CodeType("TENANT-A")) - .execute(); + ourClientTenantInterceptor.setTenantId("TENANT-A"); + Patient pt = new Patient(); + pt.addName().setFamily("Family A"); + ourClient.create().resource(pt).execute().getId(); + + Bundle searchResult = ourClient.search().forResource(Patient.class).returnBundle(Bundle.class).cacheControl(new CacheControlDirective().setNoCache(true)).execute(); + assertEquals(1, searchResult.getEntry().size()); + Patient pt2 = (Patient) searchResult.getEntry().get(0).getResource(); + assertEquals("Family A", pt2.getName().get(0).getFamily()); + } + + @Test + void testCreateAndReadInTenantB() { - ourClientTenantInterceptor.setTenantId("TENANT-A"); - Patient pt = new Patient(); - pt.addName().setFamily("Family A"); - ourClient.create().resource(pt).execute().getId(); - - Bundle searchResult = ourClient.search().forResource(Patient.class).returnBundle(Bundle.class).cacheControl(new CacheControlDirective().setNoCache(true)).execute(); - assertEquals(1, searchResult.getEntry().size()); - Patient pt2 = (Patient) searchResult.getEntry().get(0).getResource(); - assertEquals("Family A", pt2.getName().get(0).getFamily()); - } - - @Test - void testCreateAndReadInTenantB() { + // Create tenant A + ourClientTenantInterceptor.setTenantId("DEFAULT"); + ourClient + .operation() + .onServer() + .named(ProviderConstants.PARTITION_MANAGEMENT_CREATE_PARTITION) + .withParameter(Parameters.class, ProviderConstants.PARTITION_MANAGEMENT_PARTITION_ID, new IntegerType(2)) + .andParameter(ProviderConstants.PARTITION_MANAGEMENT_PARTITION_NAME, new CodeType("TENANT-B")) + .execute(); - // Create tenant A - ourClientTenantInterceptor.setTenantId("DEFAULT"); - ourClient - .operation() - .onServer() - .named(ProviderConstants.PARTITION_MANAGEMENT_CREATE_PARTITION) - .withParameter(Parameters.class, ProviderConstants.PARTITION_MANAGEMENT_PARTITION_ID, new IntegerType(2)) - .andParameter(ProviderConstants.PARTITION_MANAGEMENT_PARTITION_NAME, new CodeType("TENANT-B")) - .execute(); + ourClientTenantInterceptor.setTenantId("TENANT-B"); + Patient pt = new Patient(); + pt.addName().setFamily("Family B"); + ourClient.create().resource(pt).execute().getId(); + Bundle searchResult = ourClient.search().forResource(Patient.class).returnBundle(Bundle.class).cacheControl(new CacheControlDirective().setNoCache(true)).execute(); + assertEquals(1, searchResult.getEntry().size()); + Patient pt2 = (Patient) searchResult.getEntry().get(0).getResource(); + assertEquals("Family B", pt2.getName().get(0).getFamily()); + } - ourClientTenantInterceptor.setTenantId("TENANT-B"); - Patient pt = new Patient(); - pt.addName().setFamily("Family B"); - ourClient.create().resource(pt).execute().getId(); + @BeforeEach + void beforeEach() { - Bundle searchResult = ourClient.search().forResource(Patient.class).returnBundle(Bundle.class).cacheControl(new CacheControlDirective().setNoCache(true)).execute(); - assertEquals(1, searchResult.getEntry().size()); - Patient pt2 = (Patient) searchResult.getEntry().get(0).getResource(); - assertEquals("Family B", pt2.getName().get(0).getFamily()); - } - - @BeforeEach - void beforeEach() { - - ourClientTenantInterceptor = new UrlTenantSelectionInterceptor(); - ourCtx = FhirContext.forR4(); - ourCtx.getRestfulClientFactory().setServerValidationMode(ServerValidationModeEnum.NEVER); - ourCtx.getRestfulClientFactory().setSocketTimeout(1200 * 1000); - String ourServerBase = "http://localhost:" + port + "/fhir/"; - ourClient = ourCtx.newRestfulGenericClient(ourServerBase); - ourClient.registerInterceptor(new LoggingInterceptor(true)); - ourClient.registerInterceptor(ourClientTenantInterceptor); - } + ourClientTenantInterceptor = new UrlTenantSelectionInterceptor(); + ourCtx = FhirContext.forR4(); + ourCtx.getRestfulClientFactory().setServerValidationMode(ServerValidationModeEnum.NEVER); + ourCtx.getRestfulClientFactory().setSocketTimeout(1200 * 1000); + String ourServerBase = "http://localhost:" + port + "/fhir/"; + ourClient = ourCtx.newRestfulGenericClient(ourServerBase); + ourClient.registerInterceptor(new LoggingInterceptor(true)); + ourClient.registerInterceptor(ourClientTenantInterceptor); + } }