feature/remove-office-data-import (#155)
Co-authored-by: Michael Hoennig <michael@hoennig.de> Reviewed-on: https://dev.hostsharing.net/hostsharing/hs.hsadmin.ng/pulls/155 Reviewed-by: Marc Sandlus <marc.sandlus@hostsharing.net>
This commit is contained in:
		
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,74 +0,0 @@ | ||||
| package net.hostsharing.hsadminng.hs.migration; | ||||
|  | ||||
| import net.hostsharing.hsadminng.context.Context; | ||||
| import net.hostsharing.hsadminng.rbac.test.JpaAttempt; | ||||
| import org.junit.jupiter.api.*; | ||||
| import org.junit.jupiter.api.extension.ExtendWith; | ||||
| import org.springframework.beans.factory.annotation.Value; | ||||
| import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; | ||||
| import org.springframework.context.annotation.Import; | ||||
| import org.springframework.test.annotation.DirtiesContext; | ||||
| import org.springframework.test.context.ActiveProfiles; | ||||
|  | ||||
| import java.io.File; | ||||
|  | ||||
| /* | ||||
|  * This 'test' includes the complete legacy 'office' data import. | ||||
|  * | ||||
|  * There is no code in 'main' because the import is not needed a normal runtime. | ||||
|  * There is some test data in Java resources to verify the data conversion. | ||||
|  * For a real import a main method will be added later | ||||
|  * which reads CSV files from the file system. | ||||
|  * | ||||
|  * When run on a Hostsharing database, it needs the following settings (hsh99_... just examples). | ||||
|  * | ||||
|  * In a real Hostsharing environment, these are created via (the old) hsadmin: | ||||
|  | ||||
|     CREATE USER hsh99_admin WITH PASSWORD 'password'; | ||||
|     CREATE DATABASE hsh99_hsadminng  ENCODING 'UTF8' TEMPLATE template0; | ||||
|     REVOKE ALL ON DATABASE hsh99_hsadminng FROM public; -- why does hsadmin do that? | ||||
|     ALTER DATABASE hsh99_hsadminng OWNER TO hsh99_admin; | ||||
|  | ||||
|     CREATE USER hsh99_restricted WITH PASSWORD 'password'; | ||||
|  | ||||
|     \c hsh99_hsadminng | ||||
|  | ||||
|     GRANT ALL PRIVILEGES ON SCHEMA public to hsh99_admin; | ||||
|  | ||||
|  * Additionally, we need these settings (because the Hostsharing DB-Admin has no CREATE right): | ||||
|  | ||||
|     CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; | ||||
|  | ||||
|     -- maybe something like that is needed for the 2nd user | ||||
|     -- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public to hsh99_restricted; | ||||
|  | ||||
|  * Then copy the file .tc-environment to a file named .environment (excluded from git) and fill in your specific values. | ||||
|  | ||||
|  * To finally import the office data, run: | ||||
|  * | ||||
|  *   gw-importOfficeTables # comes from .aliases file and uses .environment | ||||
|  */ | ||||
| @Tag("importOfficeData") | ||||
| @DataJpaTest(properties = { | ||||
|         "spring.datasource.url=${HSADMINNG_POSTGRES_JDBC_URL:jdbc:tc:postgresql:15.5-bookworm:///importOfficeDataTC}", | ||||
|         "spring.datasource.username=${HSADMINNG_POSTGRES_ADMIN_USERNAME:ADMIN}", | ||||
|         "spring.datasource.password=${HSADMINNG_POSTGRES_ADMIN_PASSWORD:password}", | ||||
|         "hsadminng.superuser=${HSADMINNG_SUPERUSER:import-superuser@hostsharing.net}", | ||||
|         "spring.liquibase.contexts=only-office,without-test-data" | ||||
| }) | ||||
| @ActiveProfiles("without-test-data") | ||||
| @DirtiesContext | ||||
| @Import({ Context.class, JpaAttempt.class }) | ||||
| @TestMethodOrder(MethodOrderer.OrderAnnotation.class) | ||||
| @ExtendWith(OrderedDependedTestsExtension.class) | ||||
| public class ImportOfficeData extends BaseOfficeDataImport { | ||||
|  | ||||
|     @Value("${spring.datasource.url}") | ||||
|     private String jdbcUrl; | ||||
|  | ||||
|     @Test | ||||
|     @Order(9999) | ||||
|     public void dumpOfficeData() { | ||||
|         PostgresTestcontainer.dump(jdbcUrl, new File("build/db/released-only-office-schema-with-import-test-data.sql")); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user