diff --git a/.gitattributes b/.gitattributes index 7b2dfd8a3..cbac638a7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,5 @@ # The following file will be copied to a unix Docker image and imported to InfluxDB data base. Therefore, the line # ending plays a crucial role. This prevents the endings from being adjusted with 'core.autocrlf=true' -src/test/resources/testContainerFiles/influxDb/cosmo/weather.txt eol=lf -src/test/resources/testContainerFiles/influxDb/icon/weather.txt eol=lf +src/test/resources/edu/ie3/datamodel/io/source/influxdb/_weather/cosmo/weather.txt eol=lf +src/test/resources/edu/ie3/datamodel/io/source/influxdb/_weather/icon/weather.txt eol=lf + diff --git a/src/test/groovy/edu/ie3/datamodel/io/connectors/CsvFileConnectorTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/connectors/CsvFileConnectorTest.groovy index a0837650a..01fb46b30 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/connectors/CsvFileConnectorTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/connectors/CsvFileConnectorTest.groovy @@ -53,8 +53,7 @@ class CsvFileConnectorTest extends Specification { "its_p_fcf0b851-a836-4bde-8090-f44c382ed226.csv", "its_pqh_5022a70e-a58f-4bac-b8ec-1c62376c216b.csv", "its_c_b88dee50-5484-4136-901d-050d8c1c97d1.csv", - "its_c_c7b0d9d6-5044-4f51-80b4-f221d8b1f14b.csv", - "its_weather_085d98ee-09a2-4de4-b119-83949690d7b6.csv" + "its_c_c7b0d9d6-5044-4f51-80b4-f221d8b1f14b.csv" ] pathsToIgnore = [ "file_to_be_ignored.txt" @@ -85,8 +84,7 @@ class CsvFileConnectorTest extends Specification { (UUID.fromString("fcf0b851-a836-4bde-8090-f44c382ed226")): new CsvIndividualTimeSeriesMetaInformation(UUID.fromString("fcf0b851-a836-4bde-8090-f44c382ed226"), ColumnScheme.ACTIVE_POWER, "its_p_fcf0b851-a836-4bde-8090-f44c382ed226"), (UUID.fromString("5022a70e-a58f-4bac-b8ec-1c62376c216b")): new CsvIndividualTimeSeriesMetaInformation(UUID.fromString("5022a70e-a58f-4bac-b8ec-1c62376c216b"), ColumnScheme.APPARENT_POWER_AND_HEAT_DEMAND, "its_pqh_5022a70e-a58f-4bac-b8ec-1c62376c216b"), (UUID.fromString("b88dee50-5484-4136-901d-050d8c1c97d1")): new CsvIndividualTimeSeriesMetaInformation(UUID.fromString("b88dee50-5484-4136-901d-050d8c1c97d1"), ColumnScheme.ENERGY_PRICE, "its_c_b88dee50-5484-4136-901d-050d8c1c97d1"), - (UUID.fromString("c7b0d9d6-5044-4f51-80b4-f221d8b1f14b")): new CsvIndividualTimeSeriesMetaInformation(UUID.fromString("c7b0d9d6-5044-4f51-80b4-f221d8b1f14b"), ColumnScheme.ENERGY_PRICE, "its_c_c7b0d9d6-5044-4f51-80b4-f221d8b1f14b"), - (UUID.fromString("085d98ee-09a2-4de4-b119-83949690d7b6")): new CsvIndividualTimeSeriesMetaInformation(UUID.fromString("085d98ee-09a2-4de4-b119-83949690d7b6"), ColumnScheme.WEATHER, "its_weather_085d98ee-09a2-4de4-b119-83949690d7b6") + (UUID.fromString("c7b0d9d6-5044-4f51-80b4-f221d8b1f14b")): new CsvIndividualTimeSeriesMetaInformation(UUID.fromString("c7b0d9d6-5044-4f51-80b4-f221d8b1f14b"), ColumnScheme.ENERGY_PRICE, "its_c_c7b0d9d6-5044-4f51-80b4-f221d8b1f14b") ] when: diff --git a/src/test/groovy/edu/ie3/datamodel/io/connectors/SqlConnectorIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/connectors/SqlConnectorIT.groovy index d8c0380c2..a40d410b0 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/connectors/SqlConnectorIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/connectors/SqlConnectorIT.groovy @@ -5,6 +5,7 @@ */ package edu.ie3.datamodel.io.connectors +import edu.ie3.test.helper.TestContainerHelper import org.testcontainers.containers.PostgreSQLContainer import org.testcontainers.spock.Testcontainers import org.testcontainers.utility.MountableFile @@ -14,7 +15,7 @@ import spock.lang.Specification import java.sql.SQLException @Testcontainers -class SqlConnectorIT extends Specification { +class SqlConnectorIT extends Specification implements TestContainerHelper { @Shared PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer("postgres:14.2") @@ -23,7 +24,7 @@ class SqlConnectorIT extends Specification { def setupSpec() { // Copy sql import script into docker - MountableFile sqlImportFile = MountableFile.forClasspathResource("/testcontainersFiles/sql/connector/connectorTest.sql") + MountableFile sqlImportFile = getMountableFile("_sql/connectorTest.sql") postgreSQLContainer.copyFileToContainer(sqlImportFile, "/home/connectorTest.sql") // Execute import script postgreSQLContainer.execInContainer("psql", "-Utest", "-f/home/connectorTest.sql") diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/couchbase/CouchbaseWeatherSourceCosmoIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/couchbase/CouchbaseWeatherSourceCosmoIT.groovy index 476996337..3d9f347c9 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/couchbase/CouchbaseWeatherSourceCosmoIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/couchbase/CouchbaseWeatherSourceCosmoIT.groovy @@ -11,6 +11,7 @@ import edu.ie3.datamodel.models.timeseries.individual.IndividualTimeSeries import edu.ie3.datamodel.models.timeseries.individual.TimeBasedValue import edu.ie3.datamodel.models.value.WeatherValue import edu.ie3.test.common.CosmoWeatherTestData +import edu.ie3.test.helper.TestContainerHelper import edu.ie3.test.helper.WeatherSourceTestHelper import edu.ie3.util.TimeUtil import edu.ie3.util.interval.ClosedInterval @@ -25,13 +26,14 @@ import spock.lang.Specification import java.time.ZoneId @Testcontainers -class CouchbaseWeatherSourceCosmoIT extends Specification implements WeatherSourceTestHelper { +class CouchbaseWeatherSourceCosmoIT extends Specification implements TestContainerHelper, WeatherSourceTestHelper { @Shared BucketDefinition bucketDefinition = new BucketDefinition("ie3_in") @Shared - CouchbaseContainer couchbaseContainer = new CouchbaseContainer("couchbase/server:6.0.2").withBucket(bucketDefinition) + CouchbaseContainer couchbaseContainer = new CouchbaseContainer("couchbase/server:6.0.2") + .withBucket(bucketDefinition) .withExposedPorts(8091, 8092, 8093, 8094, 11210) @Shared @@ -41,8 +43,8 @@ class CouchbaseWeatherSourceCosmoIT extends Specification implements WeatherSour def setupSpec() { // Copy import file with json array of documents into docker - MountableFile couchbaseWeatherJsonsFile = MountableFile.forClasspathResource("/testcontainersFiles/couchbase/cosmo/weather.json") - couchbaseContainer.copyFileToContainer(couchbaseWeatherJsonsFile, "/home/weather.json") + MountableFile couchbaseWeatherJsonsFile = getMountableFile("_weather/cosmo/weather.json") + couchbaseContainer.copyFileToContainer(couchbaseWeatherJsonsFile, "/home/weather_cosmo.json") // create an index for the document keys couchbaseContainer.execInContainer("cbq", @@ -59,7 +61,7 @@ class CouchbaseWeatherSourceCosmoIT extends Specification implements WeatherSour "--password", couchbaseContainer.password, "--format", "list", "--generate-key", "weather::%" + coordinateIdColumnName + "%::%time%", - "--dataset", "file:///home/weather.json") + "--dataset", "file:///home/weather_cosmo.json") def connector = new CouchbaseConnector(couchbaseContainer.connectionString, bucketDefinition.name, couchbaseContainer.username, couchbaseContainer.password) def dtfPattern = "yyyy-MM-dd'T'HH:mm:ssxxx" diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/couchbase/CouchbaseWeatherSourceIconIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/couchbase/CouchbaseWeatherSourceIconIT.groovy index 34273b6fe..ad32946a3 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/couchbase/CouchbaseWeatherSourceIconIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/couchbase/CouchbaseWeatherSourceIconIT.groovy @@ -10,20 +10,20 @@ import edu.ie3.datamodel.io.factory.timeseries.IconTimeBasedWeatherValueFactory import edu.ie3.datamodel.models.timeseries.individual.IndividualTimeSeries import edu.ie3.datamodel.models.timeseries.individual.TimeBasedValue import edu.ie3.test.common.IconWeatherTestData +import edu.ie3.test.helper.TestContainerHelper import edu.ie3.test.helper.WeatherSourceTestHelper import edu.ie3.util.TimeUtil import edu.ie3.util.interval.ClosedInterval import org.testcontainers.couchbase.BucketDefinition import org.testcontainers.couchbase.CouchbaseContainer import org.testcontainers.spock.Testcontainers -import org.testcontainers.utility.MountableFile import spock.lang.Shared import spock.lang.Specification import java.time.ZoneId @Testcontainers -class CouchbaseWeatherSourceIconIT extends Specification implements WeatherSourceTestHelper { +class CouchbaseWeatherSourceIconIT extends Specification implements TestContainerHelper, WeatherSourceTestHelper { @Shared BucketDefinition bucketDefinition = new BucketDefinition("ie3_in") @@ -39,8 +39,8 @@ class CouchbaseWeatherSourceIconIT extends Specification implements WeatherSourc def setupSpec() { // Copy import file with json array of documents into docker - def couchbaseWeatherJsonsFile = MountableFile.forClasspathResource("/testcontainersFiles/couchbase/icon/weather.json") - couchbaseContainer.copyFileToContainer(couchbaseWeatherJsonsFile, "/home/weather.json") + def couchbaseWeatherJsonsFile = getMountableFile("_weather/icon/weather.json") + couchbaseContainer.copyFileToContainer(couchbaseWeatherJsonsFile, "/home/weather_icon.json") // create an index for the document keys couchbaseContainer.execInContainer("cbq", @@ -57,7 +57,7 @@ class CouchbaseWeatherSourceIconIT extends Specification implements WeatherSourc "--password", couchbaseContainer.password, "--format", "list", "--generate-key", "weather::%" + coordinateIdColumnName + "%::%time%", - "--dataset", "file:///home/weather.json") + "--dataset", "file:///home/weather_icon.json") def connector = new CouchbaseConnector(couchbaseContainer.connectionString, bucketDefinition.name, couchbaseContainer.username, couchbaseContainer.password) def dtfPattern = "yyyy-MM-dd'T'HH:mm:ssxxx" diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvDataSourceTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvDataSourceTest.groovy index 09390bd1f..d82a2f0c8 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvDataSourceTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvDataSourceTest.groovy @@ -63,9 +63,12 @@ class CsvDataSourceTest extends Specification { @Shared String csvSep = "," - String testBaseFolderPath = new File(getClass().getResource('/testGridFiles').toURI()).getAbsolutePath() + @Shared + String testBaseFolderPath = "testBaseFolderPath" // does not have to exist for this test + @Shared FileNamingStrategy fileNamingStrategy = new FileNamingStrategy() + @Shared DummyCsvSource dummyCsvSource = new DummyCsvSource(csvSep, testBaseFolderPath, fileNamingStrategy) def "A csv data source is able to find the correct first entity by uuid"() { diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvGraphicSourceTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvGraphicSourceTest.groovy index 17b84c890..d66ab983d 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvGraphicSourceTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvGraphicSourceTest.groovy @@ -21,7 +21,7 @@ class CsvGraphicSourceTest extends Specification implements CsvTestDataMeta { def "A CsvGraphicSource should provide an instance of GraphicElements based on valid input data correctly"() { given: def typeSource = new CsvTypeSource(csvSep, typeFolderPath, fileNamingStrategy) - def rawGridSource = new CsvRawGridSource(csvSep, gridFolderPath, fileNamingStrategy, typeSource) + def rawGridSource = new CsvRawGridSource(csvSep, gridDefaultFolderPath, fileNamingStrategy, typeSource) def csvGraphicSource = new CsvGraphicSource(csvSep, graphicsFolderPath, fileNamingStrategy, typeSource, rawGridSource) when: @@ -40,7 +40,7 @@ class CsvGraphicSourceTest extends Specification implements CsvTestDataMeta { given: def typeSource = new CsvTypeSource(csvSep, typeFolderPath, fileNamingStrategy) def rawGridSource = - new CsvRawGridSource(csvSep, gridFolderPath, fileNamingStrategy, typeSource) { + new CsvRawGridSource(csvSep, gridDefaultFolderPath, fileNamingStrategy, typeSource) { @Override Set getNodes() { return Collections.emptySet() diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvIdCoordinateSourceCosmoIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvIdCoordinateSourceCosmoIT.groovy index 97ef1a953..08c0cd1cd 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvIdCoordinateSourceCosmoIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvIdCoordinateSourceCosmoIT.groovy @@ -20,7 +20,7 @@ class CsvIdCoordinateSourceCosmoIT extends Specification implements CsvTestDataM CsvIdCoordinateSource source def setupSpec() { - source = new CsvIdCoordinateSource(csvSep, coordinatesFolderPath + "_cosmo", fileNamingStrategy, new CosmoIdCoordinateFactory()) + source = new CsvIdCoordinateSource(csvSep, coordinatesCosmoFolderPath, fileNamingStrategy, new CosmoIdCoordinateFactory()) } def "The CsvCoordinateSource is able to create a valid stream from a coordinate file"() { diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvIdCoordinateSourceIconIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvIdCoordinateSourceIconIT.groovy index 6e692962a..121304342 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvIdCoordinateSourceIconIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvIdCoordinateSourceIconIT.groovy @@ -20,7 +20,7 @@ class CsvIdCoordinateSourceIconIT extends Specification implements CsvTestDataMe CsvIdCoordinateSource source def setupSpec() { - source = new CsvIdCoordinateSource(csvSep, coordinatesFolderPath + "_icon", fileNamingStrategy, new IconIdCoordinateFactory()) + source = new CsvIdCoordinateSource(csvSep, coordinatesIconFolderPath, fileNamingStrategy, new IconIdCoordinateFactory()) } def "The CsvCoordinateSource is able to create a valid stream from a coordinate file"() { diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvRawGridSourceTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvRawGridSourceTest.groovy index 4e9dc064f..2d4f37663 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvRawGridSourceTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvRawGridSourceTest.groovy @@ -28,7 +28,7 @@ class CsvRawGridSourceTest extends Specification implements CsvTestDataMeta { def setupSpec() { CsvTypeSource typeSource = new CsvTypeSource(csvSep, typeFolderPath, fileNamingStrategy) - source = new CsvRawGridSource(csvSep, gridFolderPath, fileNamingStrategy, typeSource) + source = new CsvRawGridSource(csvSep, gridDefaultFolderPath, fileNamingStrategy, typeSource) } def "The CsvRawGridSource is able to convert single valid AssetInputEntityData to ConnectorInputEntityData"() { @@ -742,7 +742,7 @@ class CsvRawGridSourceTest extends Specification implements CsvTestDataMeta { def "The CsvRawGridSource returns an empty Optional, if one mandatory element for the RawGridElements is missing"() { given: "a source pointing to malformed grid data" CsvTypeSource typeSource = new CsvTypeSource(csvSep, typeFolderPath, fileNamingStrategy) - source = new CsvRawGridSource(csvSep, gridFolderPath + "_malformed", fileNamingStrategy, typeSource) + source = new CsvRawGridSource(csvSep, gridMalformedFolderPath, fileNamingStrategy, typeSource) when: "loading a total grid structure from file" def actual = source.getGridData() @@ -754,7 +754,7 @@ class CsvRawGridSourceTest extends Specification implements CsvTestDataMeta { def "The CsvRawGridSource returns an empty Optional, if the RawGridElements contain no single element"() { given: "a source pointing to malformed grid data" CsvTypeSource typeSource = new CsvTypeSource(csvSep, typeFolderPath, fileNamingStrategy) - source = new CsvRawGridSource(csvSep, gridFolderPath + "_empty", fileNamingStrategy, typeSource) + source = new CsvRawGridSource(csvSep, gridEmptyFolderPath, fileNamingStrategy, typeSource) when: "loading a total grid structure from file" def actual = source.getGridData() diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvSystemParticipantSourceTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvSystemParticipantSourceTest.groovy index 99f525c33..38c98a788 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvSystemParticipantSourceTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvSystemParticipantSourceTest.groovy @@ -33,7 +33,7 @@ class CsvSystemParticipantSourceTest extends Specification implements CsvTestDat given: def typeSource = new CsvTypeSource(csvSep, typeFolderPath, fileNamingStrategy) def thermalSource = new CsvThermalSource(csvSep, participantsFolderPath, fileNamingStrategy, typeSource) - def rawGridSource = new CsvRawGridSource(csvSep, gridFolderPath, fileNamingStrategy, typeSource) + def rawGridSource = new CsvRawGridSource(csvSep, gridDefaultFolderPath, fileNamingStrategy, typeSource) def csvSystemParticipantSource = new CsvSystemParticipantSource(csvSep, participantsFolderPath, fileNamingStrategy, typeSource, thermalSource, rawGridSource) @@ -63,10 +63,10 @@ class CsvSystemParticipantSourceTest extends Specification implements CsvTestDat def typeSource = new CsvTypeSource(csvSep, typeFolderPath, fileNamingStrategy) def thermalSource = new CsvThermalSource(csvSep, participantsFolderPath, fileNamingStrategy, typeSource) def rawGridSource = Spy(CsvRawGridSource, constructorArgs: [ - csvSep, - gridFolderPath, - fileNamingStrategy, - typeSource + csvSep, + gridDefaultFolderPath, + fileNamingStrategy, + typeSource ]) { // partly fake the return method of the csv raw grid source to always return empty node sets // -> elements to build NodeGraphicInputs are missing diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvTestDataMeta.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvTestDataMeta.groovy index f3c5459e3..eeead8e58 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvTestDataMeta.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvTestDataMeta.groovy @@ -7,25 +7,32 @@ package edu.ie3.datamodel.io.source.csv import edu.ie3.datamodel.io.naming.FileNamingStrategy +import java.nio.file.Paths + /** * Holds meta data for csv tests e.g. file and folder paths */ trait CsvTestDataMeta { - static String testParticipantsBaseFolderPath = new File(CsvTestDataMeta.getResource('/testGridFiles').toURI()).absolutePath - static String testTimeSeriesBaseFolderPath = new File(CsvTestDataMeta.getResource('/testTimeSeriesFiles').toURI()).absolutePath - static String graphicsFolderPath = testParticipantsBaseFolderPath.concat(File.separator).concat("graphics") - static String typeFolderPath = testParticipantsBaseFolderPath.concat(File.separator).concat("types") - static String gridFolderPath = testParticipantsBaseFolderPath.concat(File.separator).concat("grid") - static String participantsFolderPath = testParticipantsBaseFolderPath.concat(File.separator).concat("participants") - static String resultEntitiesFolderPath = testParticipantsBaseFolderPath.concat(File.separator).concat("results") - static String timeSeriesFolderPath = testTimeSeriesBaseFolderPath - static String weatherFolderPath = new File(CsvTestDataMeta.getResource('weather').toURI()).absolutePath - static String cosmoWeatherFolderPath = weatherFolderPath.concat(File.separator).concat("cosmo") - static String iconWeatherFolderPath = weatherFolderPath.concat(File.separator).concat("icon") - static String thermalFolderPath = testParticipantsBaseFolderPath.concat(File.separator).concat("thermal") - static String coordinatesFolderPath = testParticipantsBaseFolderPath.concat(File.separator).concat("coordinates") + static String timeSeriesFolderPath = getResourceAbs("_timeseries") + static String graphicsFolderPath = getResourceAbs("_graphics") + static String typeFolderPath = getResourceAbs("_types") + static String participantsFolderPath = getResourceAbs("_participants") + static String resultEntitiesFolderPath = getResourceAbs("_results") + static String thermalFolderPath = getResourceAbs("_thermal") + static String coordinatesIconFolderPath = getResourceAbs("_coordinates/icon") + static String coordinatesCosmoFolderPath = getResourceAbs("_coordinates/cosmo") + static String weatherCosmoFolderPath = getResourceAbs("_weather/cosmo") + static String weatherIconFolderPath = getResourceAbs("_weather/icon") + + static String gridDefaultFolderPath = getResourceAbs("_grid/default") + static String gridMalformedFolderPath = getResourceAbs("_grid/malformed") + static String gridEmptyFolderPath = getResourceAbs("_grid/empty") static String csvSep = "," static FileNamingStrategy fileNamingStrategy = new FileNamingStrategy() + + static String getResourceAbs(String directory) { + return Paths.get(CsvTestDataMeta.getResource(directory).toURI()).toString() + } } \ No newline at end of file diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvWeatherSourceCosmoTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvWeatherSourceCosmoTest.groovy index b93cdbf11..1821e9e54 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvWeatherSourceCosmoTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvWeatherSourceCosmoTest.groovy @@ -38,14 +38,16 @@ class CsvWeatherSourceCosmoTest extends Specification implements CsvTestDataMeta def setupSpec() { coordinateSource = CosmoWeatherTestData.coordinateSource def weatherFactory = new CosmoTimeBasedWeatherValueFactory() - source = new CsvWeatherSource(";", cosmoWeatherFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) + source = new CsvWeatherSource(";", weatherCosmoFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) } def "A CsvWeatherSource can read and correctly parse a single value for a specific date and coordinate"() { given: def expectedTimeBasedValue = new TimeBasedValue(CosmoWeatherTestData.TIME_15H, CosmoWeatherTestData.WEATHER_VALUE_193186_15H) + when: def optTimeBasedValue = source.getWeather(CosmoWeatherTestData.TIME_15H, CosmoWeatherTestData.COORDINATE_193186) + then: optTimeBasedValue.present equalsIgnoreUUID(optTimeBasedValue.get(), expectedTimeBasedValue) @@ -66,8 +68,10 @@ class CsvWeatherSourceCosmoTest extends Specification implements CsvTestDataMeta def timeSeries193187 = new IndividualTimeSeries(null, [ new TimeBasedValue(CosmoWeatherTestData.TIME_16H, CosmoWeatherTestData.WEATHER_VALUE_193187_16H)] as Set) + when: Map> coordinateToTimeSeries = source.getWeather(timeInterval, coordinates) + then: coordinateToTimeSeries.keySet().size() == 2 equalsIgnoreUUID(coordinateToTimeSeries.get(CosmoWeatherTestData.COORDINATE_193186), timeSeries193186) @@ -90,8 +94,10 @@ class CsvWeatherSourceCosmoTest extends Specification implements CsvTestDataMeta def timeSeries193188 = new IndividualTimeSeries(null, [ new TimeBasedValue(CosmoWeatherTestData.TIME_15H, CosmoWeatherTestData.WEATHER_VALUE_193188_15H)] as Set) + when: Map> coordinateToTimeSeries = source.getWeather(timeInterval) + then: coordinateToTimeSeries.keySet().size() == 3 equalsIgnoreUUID(coordinateToTimeSeries.get(CosmoWeatherTestData.COORDINATE_193186).entries, timeSeries193186.entries) @@ -105,7 +111,7 @@ class CsvWeatherSourceCosmoTest extends Specification implements CsvTestDataMeta def coordinateSource = Mock(IdCoordinateSource) coordinateSource.getCoordinate(_) >> { args -> args[0] == 5 ? Optional.of(defaultCoordinate) : Optional.empty() } def weatherFactory = new CosmoTimeBasedWeatherValueFactory() - def source = new CsvWeatherSource(";", cosmoWeatherFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) + def source = new CsvWeatherSource(";", weatherCosmoFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) def fieldToValues = [ "uuid" : "71a79f59-eebf-40c1-8358-ba7414077d57", "time" : "2020-10-16T12:40:42Z", @@ -149,7 +155,7 @@ class CsvWeatherSourceCosmoTest extends Specification implements CsvTestDataMeta def coordinateSource = Mock(IdCoordinateSource) coordinateSource.getCoordinate(_) >> { args -> args[0] == 5 ? Optional.of(defaultCoordinate) : Optional.empty() } def weatherFactory = new CosmoTimeBasedWeatherValueFactory() - def source = new CsvWeatherSource(";", cosmoWeatherFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) + def source = new CsvWeatherSource(";", weatherCosmoFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) def fieldToValues = [ "uuid" : "71a79f59-eebf-40c1-8358-ba7414077d57", "time" : "2020-10-16T12:40:42Z", @@ -165,7 +171,7 @@ class CsvWeatherSourceCosmoTest extends Specification implements CsvTestDataMeta def actual = source.buildWeatherValue(fieldToValues) then: - !actual.present + actual.empty } def "The CsvWeatherSource returns no WeatherValue, if the coordinate field is missing"() { @@ -174,7 +180,7 @@ class CsvWeatherSourceCosmoTest extends Specification implements CsvTestDataMeta def coordinateSource = Mock(IdCoordinateSource) coordinateSource.getCoordinate(_) >> { args -> args[0] == 5 ? Optional.of(defaultCoordinate) : Optional.empty() } def weatherFactory = new CosmoTimeBasedWeatherValueFactory() - def source = new CsvWeatherSource(";", cosmoWeatherFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) + def source = new CsvWeatherSource(";", weatherCosmoFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) def fieldToValues = [ "uuid" : "71a79f59-eebf-40c1-8358-ba7414077d57", "time" : "2020-10-16T12:40:42Z", @@ -189,7 +195,7 @@ class CsvWeatherSourceCosmoTest extends Specification implements CsvTestDataMeta def actual = source.buildWeatherValue(fieldToValues) then: - !actual.present + actual.empty } def "The CsvWeatherSource returns no WeatherValue, if the coordinate cannot be obtained"() { @@ -197,7 +203,7 @@ class CsvWeatherSourceCosmoTest extends Specification implements CsvTestDataMeta def coordinateSource = Mock(IdCoordinateSource) coordinateSource.getCoordinate(_) >> Optional.empty() def weatherFactory = new CosmoTimeBasedWeatherValueFactory() - def source = new CsvWeatherSource(";", cosmoWeatherFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) + def source = new CsvWeatherSource(";", weatherCosmoFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) def fieldToValues = [ "uuid" : "71a79f59-eebf-40c1-8358-ba7414077d57", "time" : "2020-10-16T12:40:42Z", @@ -213,6 +219,6 @@ class CsvWeatherSourceCosmoTest extends Specification implements CsvTestDataMeta def actual = source.buildWeatherValue(fieldToValues) then: - !actual.present + actual.empty } } diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvWeatherSourceIconTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvWeatherSourceIconTest.groovy index b4869c6ad..838b81267 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvWeatherSourceIconTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/csv/CsvWeatherSourceIconTest.groovy @@ -32,7 +32,7 @@ class CsvWeatherSourceIconTest extends Specification implements CsvTestDataMeta, def setupSpec() { coordinateSource = WeatherTestData.coordinateSource def weatherFactory = new IconTimeBasedWeatherValueFactory() - source = new CsvWeatherSource(",", iconWeatherFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) + source = new CsvWeatherSource(",", weatherIconFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) } def "A CsvWeatherSource can read and correctly parse a single value for a specific date and coordinate"() { @@ -105,7 +105,7 @@ class CsvWeatherSourceIconTest extends Specification implements CsvTestDataMeta, def coordinateSource = Mock(IdCoordinateSource) coordinateSource.getCoordinate(_) >> { args -> args[0] == 67775 ? Optional.of(expectedCoordinate) : Optional.empty() } def weatherFactory = new IconTimeBasedWeatherValueFactory() - def source = new CsvWeatherSource(",", iconWeatherFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) + def source = new CsvWeatherSource(",", weatherIconFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) def fieldToValues = new TreeMap<>(String.CASE_INSENSITIVE_ORDER) fieldToValues.putAll( [ @@ -152,7 +152,7 @@ class CsvWeatherSourceIconTest extends Specification implements CsvTestDataMeta, given: def coordinateSource = new WeatherTestData.DummyIdCoordinateSource() def weatherFactory = new IconTimeBasedWeatherValueFactory() - def source = new CsvWeatherSource(",", iconWeatherFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) + def source = new CsvWeatherSource(",", weatherIconFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) def fieldToValues = [ "datum" : "2019-08-01 01:00:00", "albRad" : "13.015240669", @@ -189,14 +189,14 @@ class CsvWeatherSourceIconTest extends Specification implements CsvTestDataMeta, def actual = source.buildWeatherValue(fieldToValues) then: - !actual.present + actual.empty } def "The CsvWeatherSource returns no WeatherValue, if the coordinate field is missing"() { given: def coordinateSource = new WeatherTestData.DummyIdCoordinateSource() def weatherFactory = new IconTimeBasedWeatherValueFactory() - def source = new CsvWeatherSource(",", iconWeatherFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) + def source = new CsvWeatherSource(",", weatherIconFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) def fieldToValues = [ "datum" : "2019-08-01 01:00:00", "albRad" : "13.015240669", @@ -232,14 +232,14 @@ class CsvWeatherSourceIconTest extends Specification implements CsvTestDataMeta, def actual = source.buildWeatherValue(fieldToValues) then: - !actual.present + actual.empty } def "The CsvWeatherSource returns no WeatherValue, if the coordinate cannot be obtained"() { given: def coordinateSource = new WeatherTestData.DummyIdCoordinateSource() def weatherFactory = new IconTimeBasedWeatherValueFactory() - def source = new CsvWeatherSource(",", iconWeatherFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) + def source = new CsvWeatherSource(",", weatherIconFolderPath, new FileNamingStrategy(), coordinateSource, weatherFactory) def fieldToValues = [ "datum" : "2019-08-01 01:00:00", "albrad" : "13.015240669", @@ -276,6 +276,6 @@ class CsvWeatherSourceIconTest extends Specification implements CsvTestDataMeta, def actual = source.buildWeatherValue(fieldToValues) then: - !actual.present + actual.empty } } diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/influxdb/InfluxDbWeatherSourceCosmoIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/influxdb/InfluxDbWeatherSourceCosmoIT.groovy index d76cb7f73..83293f42c 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/influxdb/InfluxDbWeatherSourceCosmoIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/influxdb/InfluxDbWeatherSourceCosmoIT.groovy @@ -16,6 +16,7 @@ import edu.ie3.test.helper.WeatherSourceTestHelper import edu.ie3.util.geo.GeoUtils import edu.ie3.util.interval.ClosedInterval import org.locationtech.jts.geom.Point +import org.testcontainers.containers.Container import org.testcontainers.containers.InfluxDBContainer import org.testcontainers.spock.Testcontainers import org.testcontainers.utility.DockerImageName @@ -24,10 +25,10 @@ import spock.lang.Shared import spock.lang.Specification @Testcontainers -class InfluxDbWeatherSourceCosmoIT extends Specification implements WeatherSourceTestHelper, TestContainerHelper { +class InfluxDbWeatherSourceCosmoIT extends Specification implements TestContainerHelper, WeatherSourceTestHelper { @Shared - InfluxDBContainer influxDbContainer = new InfluxDBContainer(DockerImageName.parse("influxdb:1.8.10")) + InfluxDBContainer influxDbContainer = new InfluxDBContainer(DockerImageName.parse("influxdb").withTag("1.8.10")) .withAuthEnabled(false) .withDatabase("test_weather") @@ -37,24 +38,21 @@ class InfluxDbWeatherSourceCosmoIT extends Specification implements WeatherSourc def setupSpec() { // Copy import file into docker and then import it via influx CLI // more information on file format and usage here: https://docs.influxdata.com/influxdb/v1.7/tools/shell/#import-data-from-a-file-with-import - MountableFile influxWeatherImportFile = getMountableFile("/testcontainersFiles/influxDb/cosmo/weather.txt") - influxDbContainer.copyFileToContainer(influxWeatherImportFile, "/home/weather.txt") + MountableFile influxWeatherImportFile = getMountableFile("_weather/cosmo/weather.txt") + influxDbContainer.copyFileToContainer(influxWeatherImportFile, "/home/weather_cosmo.txt") - String[] command = ["influx", "-import", "-path=/home/weather.txt", "-precision=ms"] - def execResult = influxDbContainer.execInContainer(command) - if (!execResult.stderr.empty) { - throw new IllegalStateException("Command '" + String.join(" ", command) + "' failed:\n" + execResult.stderr) - } + Container.ExecResult res = influxDbContainer.execInContainer("influx", "-import", "-path=/home/weather_cosmo.txt", "-precision=ms") + assert res.stderr.empty def connector = new InfluxDbConnector(influxDbContainer.url, "test_weather", "test_scenario") def weatherFactory = new CosmoTimeBasedWeatherValueFactory() source = new InfluxDbWeatherSource(connector, CosmoWeatherTestData.coordinateSource, weatherFactory) } - def "The test container can establish a valid connection"() { when: def connector = new InfluxDbConnector(influxDbContainer.url,"test_weather", "test_scenario") + then: connector.connectionValid } @@ -62,8 +60,10 @@ class InfluxDbWeatherSourceCosmoIT extends Specification implements WeatherSourc def "An InfluxDbWeatherSource can read and correctly parse a single value for a specific date and coordinate"() { given: def expectedTimeBasedValue = new TimeBasedValue(CosmoWeatherTestData.TIME_15H, CosmoWeatherTestData.WEATHER_VALUE_193186_15H) + when: def optTimeBasedValue = source.getWeather(CosmoWeatherTestData.TIME_15H, CosmoWeatherTestData.COORDINATE_193186) + then: optTimeBasedValue.present equalsIgnoreUUID(optTimeBasedValue.get(), expectedTimeBasedValue) @@ -86,8 +86,10 @@ class InfluxDbWeatherSourceCosmoIT extends Specification implements WeatherSourc [ new TimeBasedValue(CosmoWeatherTestData.TIME_16H, CosmoWeatherTestData.WEATHER_VALUE_193187_16H) ] as Set) + when: Map> coordinateToTimeSeries = source.getWeather(timeInterval, coordinates) + then: coordinateToTimeSeries.keySet().size() == 2 equalsIgnoreUUID(coordinateToTimeSeries.get(CosmoWeatherTestData.COORDINATE_193186), timeseries_193186) @@ -112,8 +114,10 @@ class InfluxDbWeatherSourceCosmoIT extends Specification implements WeatherSourc [ new TimeBasedValue(CosmoWeatherTestData.TIME_15H, CosmoWeatherTestData.WEATHER_VALUE_193188_15H) ] as Set) + when: Map> coordinateToTimeSeries = source.getWeather(timeInterval) + then: coordinateToTimeSeries.keySet().size() == 3 equalsIgnoreUUID(coordinateToTimeSeries.get(CosmoWeatherTestData.COORDINATE_193186).entries, timeseries_193186.entries) @@ -122,6 +126,7 @@ class InfluxDbWeatherSourceCosmoIT extends Specification implements WeatherSourc } def "An InfluxDbWeatherSource will return an equivalent to 'empty' when being unable to map a coordinate to it's ID"() { + given: def validCoordinate = CosmoWeatherTestData.COORDINATE_193186 def invalidCoordinate = GeoUtils.xyToPoint(48d, 7d) def time = CosmoWeatherTestData.TIME_15H @@ -133,6 +138,7 @@ class InfluxDbWeatherSourceCosmoIT extends Specification implements WeatherSourc new TimeBasedValue(CosmoWeatherTestData.TIME_16H, CosmoWeatherTestData.WEATHER_VALUE_193186_16H), new TimeBasedValue(CosmoWeatherTestData.TIME_17H, CosmoWeatherTestData.WEATHER_VALUE_193186_17H) ] as Set) + when: def coordinateAtDate = source.getWeather(time, invalidCoordinate) def coordinateInInterval = source.getWeather(timeInterval, invalidCoordinate) diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/influxdb/InfluxDbWeatherSourceIconIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/influxdb/InfluxDbWeatherSourceIconIT.groovy index 9185194f1..7ba9664ca 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/influxdb/InfluxDbWeatherSourceIconIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/influxdb/InfluxDbWeatherSourceIconIT.groovy @@ -14,6 +14,7 @@ import edu.ie3.test.helper.TestContainerHelper import edu.ie3.test.helper.WeatherSourceTestHelper import edu.ie3.util.geo.GeoUtils import edu.ie3.util.interval.ClosedInterval +import org.testcontainers.containers.Container import org.testcontainers.containers.InfluxDBContainer import org.testcontainers.spock.Testcontainers import org.testcontainers.utility.DockerImageName @@ -25,7 +26,7 @@ import spock.lang.Specification class InfluxDbWeatherSourceIconIT extends Specification implements WeatherSourceTestHelper, TestContainerHelper { @Shared - InfluxDBContainer influxDbContainer = new InfluxDBContainer(DockerImageName.parse("influxdb:1.8.10")) + InfluxDBContainer influxDbContainer = new InfluxDBContainer(DockerImageName.parse("influxdb").withTag("1.8.10")) .withAuthEnabled(false) .withDatabase("test_weather") @@ -35,14 +36,11 @@ class InfluxDbWeatherSourceIconIT extends Specification implements WeatherSource def setupSpec() { // Copy import file into docker and then import it via influx CLI // more information on file format and usage here: https://docs.influxdata.com/influxdb/v1.7/tools/shell/#import-data-from-a-file-with-import - MountableFile influxWeatherImportFile = getMountableFile("/testcontainersFiles/influxDb/icon/weather.txt") - influxDbContainer.copyFileToContainer(influxWeatherImportFile, "/home/weather.txt") + MountableFile influxWeatherImportFile = getMountableFile("_weather/icon/weather.txt") + influxDbContainer.copyFileToContainer(influxWeatherImportFile, "/home/weather_icon.txt") - String[] command = ["influx", "-import", "-path=/home/weather.txt", "-precision=ms"] - def execResult = influxDbContainer.execInContainer(command) - if (!execResult.stderr.empty) { - throw new IllegalStateException("Command '" + String.join(" ", command) + "' failed:\n" + execResult.stderr) - } + Container.ExecResult res = influxDbContainer.execInContainer("influx", "-import", "-path=/home/weather_icon.txt", "-precision=ms") + assert res.stderr.empty def connector = new InfluxDbConnector(influxDbContainer.url, "test_weather", "test_scenario") def weatherFactory = new IconTimeBasedWeatherValueFactory("yyyy-MM-dd'T'HH:mm:ss[.S[S][S]]'Z'") @@ -52,6 +50,7 @@ class InfluxDbWeatherSourceIconIT extends Specification implements WeatherSource def "The test container can establish a valid connection"() { when: def connector = new InfluxDbConnector(influxDbContainer.url, "test_weather", "test_scenario") + then: connector.connectionValid } @@ -116,6 +115,7 @@ class InfluxDbWeatherSourceIconIT extends Specification implements WeatherSource } def "An InfluxDbWeatherSource will return an equivalent to 'empty' when being unable to map a coordinate to it's ID"() { + given: def validCoordinate = IconWeatherTestData.COORDINATE_67775 def invalidCoordinate = GeoUtils.xyToPoint(48d, 7d) def time = IconWeatherTestData.TIME_15H diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesMappingSourceIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesMappingSourceIT.groovy index 9578319ca..a8162033c 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesMappingSourceIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesMappingSourceIT.groovy @@ -7,6 +7,7 @@ package edu.ie3.datamodel.io.source.sql import edu.ie3.datamodel.io.connectors.SqlConnector import edu.ie3.datamodel.io.naming.EntityPersistenceNamingStrategy +import edu.ie3.test.helper.TestContainerHelper import org.testcontainers.containers.Container import org.testcontainers.containers.PostgreSQLContainer import org.testcontainers.spock.Testcontainers @@ -14,11 +15,8 @@ import org.testcontainers.utility.MountableFile import spock.lang.Shared import spock.lang.Specification -import java.nio.file.Path -import java.nio.file.Paths - @Testcontainers -class SqlTimeSeriesMappingSourceIT extends Specification { +class SqlTimeSeriesMappingSourceIT extends Specification implements TestContainerHelper { @Shared PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer("postgres:14.2") @@ -30,12 +28,8 @@ class SqlTimeSeriesMappingSourceIT extends Specification { SqlTimeSeriesMappingSource source def setupSpec() { - URL url = getClass().getResource("timeseries/") - assert url != null - Path path = Paths.get(url.toURI()) - // Copy sql import script into docker - MountableFile sqlImportFile = MountableFile.forHostPath(path) + MountableFile sqlImportFile = getMountableFile("_timeseries/") postgreSQLContainer.copyFileToContainer(sqlImportFile, "/home/") // Execute import script diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesSourceIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesSourceIT.groovy index a78962da3..b9d098d8e 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesSourceIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesSourceIT.groovy @@ -5,6 +5,8 @@ */ package edu.ie3.datamodel.io.source.sql +import edu.ie3.test.helper.TestContainerHelper + import static edu.ie3.test.common.TimeSeriesSourceTestData.* import edu.ie3.datamodel.exceptions.SourceException @@ -21,11 +23,8 @@ import org.testcontainers.utility.MountableFile import spock.lang.Shared import spock.lang.Specification -import java.nio.file.Path -import java.nio.file.Paths - @Testcontainers -class SqlTimeSeriesSourceIT extends Specification { +class SqlTimeSeriesSourceIT extends Specification implements TestContainerHelper { @Shared PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer("postgres:14.2") @@ -44,12 +43,8 @@ class SqlTimeSeriesSourceIT extends Specification { static UUID pTimeSeriesUuid = UUID.fromString("9185b8c1-86ba-4a16-8dea-5ac898e8caa5") def setupSpec() { - URL url = getClass().getResource("timeseries/") - assert url != null - Path path = Paths.get(url.toURI()) - // Copy sql import scripts into docker - MountableFile sqlImportFile = MountableFile.forHostPath(path) + MountableFile sqlImportFile = getMountableFile("_timeseries/") postgreSQLContainer.copyFileToContainer(sqlImportFile, "/home/") // Execute import script diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesTypeSourceIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesTypeSourceIT.groovy index c72c7e5ba..83560d702 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesTypeSourceIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlTimeSeriesTypeSourceIT.groovy @@ -9,6 +9,7 @@ import edu.ie3.datamodel.io.connectors.SqlConnector import edu.ie3.datamodel.io.naming.DatabaseNamingStrategy import edu.ie3.datamodel.io.naming.timeseries.ColumnScheme import edu.ie3.datamodel.io.naming.timeseries.IndividualTimeSeriesMetaInformation +import edu.ie3.test.helper.TestContainerHelper import org.testcontainers.containers.Container import org.testcontainers.containers.PostgreSQLContainer import org.testcontainers.spock.Testcontainers @@ -16,11 +17,8 @@ import org.testcontainers.utility.MountableFile import spock.lang.Shared import spock.lang.Specification -import java.nio.file.Path -import java.nio.file.Paths - @Testcontainers -class SqlTimeSeriesTypeSourceIT extends Specification { +class SqlTimeSeriesTypeSourceIT extends Specification implements TestContainerHelper { @Shared PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer("postgres:14.2") @@ -32,12 +30,8 @@ class SqlTimeSeriesTypeSourceIT extends Specification { SqlTimeSeriesTypeSource source def setupSpec() { - URL url = getClass().getResource("timeseries/") - assert url != null - Path path = Paths.get(url.toURI()) - // Copy sql import script into docker - MountableFile sqlImportFile = MountableFile.forHostPath(path) + MountableFile sqlImportFile = getMountableFile("_timeseries/") postgreSQLContainer.copyFileToContainer(sqlImportFile, "/home/") // Execute import script @@ -47,7 +41,7 @@ class SqlTimeSeriesTypeSourceIT extends Specification { "time_series_p.sql", "time_series_ph.sql", "time_series_pq.sql", - "time_series_pqh.sql",) + "time_series_pqh.sql") for (String file: importFiles) { Container.ExecResult res = postgreSQLContainer.execInContainer("psql", "-Utest", "-f/home/" + file) assert res.stderr.empty diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlWeatherSourceCosmoIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlWeatherSourceCosmoIT.groovy index 70f27642c..af5d94c5d 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlWeatherSourceCosmoIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlWeatherSourceCosmoIT.groovy @@ -11,10 +11,13 @@ import edu.ie3.datamodel.models.timeseries.individual.IndividualTimeSeries import edu.ie3.datamodel.models.timeseries.individual.TimeBasedValue import edu.ie3.datamodel.models.value.WeatherValue import edu.ie3.test.common.CosmoWeatherTestData +import edu.ie3.test.helper.TestContainerHelper import edu.ie3.test.helper.WeatherSourceTestHelper import edu.ie3.util.TimeUtil +import edu.ie3.util.geo.GeoUtils import edu.ie3.util.interval.ClosedInterval import org.locationtech.jts.geom.Point +import org.testcontainers.containers.Container import org.testcontainers.containers.PostgreSQLContainer import org.testcontainers.spock.Testcontainers import org.testcontainers.utility.MountableFile @@ -22,7 +25,7 @@ import spock.lang.Shared import spock.lang.Specification @Testcontainers -class SqlWeatherSourceCosmoIT extends Specification implements WeatherSourceTestHelper { +class SqlWeatherSourceCosmoIT extends Specification implements TestContainerHelper, WeatherSourceTestHelper { @Shared PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer("postgres:14.2") @@ -35,27 +38,38 @@ class SqlWeatherSourceCosmoIT extends Specification implements WeatherSourceTest def setupSpec() { // Copy sql import script into docker - MountableFile sqlImportFile = MountableFile.forClasspathResource("/testcontainersFiles/sql/cosmo/weather.sql") - postgreSQLContainer.copyFileToContainer(sqlImportFile, "/home/weather.sql") + MountableFile sqlImportFile = getMountableFile("_weather/cosmo/weather.sql") + postgreSQLContainer.copyFileToContainer(sqlImportFile, "/home/weather_cosmo.sql") // Execute import script - postgreSQLContainer.execInContainer("psql", "-Utest", "-f/home/weather.sql") + Container.ExecResult res = postgreSQLContainer.execInContainer("psql", "-Utest", "-f/home/weather_cosmo.sql") + assert res.stderr.empty def connector = new SqlConnector(postgreSQLContainer.jdbcUrl, postgreSQLContainer.username, postgreSQLContainer.password) def weatherFactory = new CosmoTimeBasedWeatherValueFactory(TimeUtil.withDefaults) source = new SqlWeatherSource(connector, CosmoWeatherTestData.coordinateSource, schemaName, weatherTableName, weatherFactory) } - def "A NativeSqlWeatherSource can read and correctly parse a single value for a specific date and coordinate"() { + def "A SqlWeatherSource can read and correctly parse a single value for a specific date and coordinate"() { given: def expectedTimeBasedValue = new TimeBasedValue(CosmoWeatherTestData.TIME_15H, CosmoWeatherTestData.WEATHER_VALUE_193186_15H) + when: def optTimeBasedValue = source.getWeather(CosmoWeatherTestData.TIME_15H, CosmoWeatherTestData.COORDINATE_193186) + then: optTimeBasedValue.present equalsIgnoreUUID(optTimeBasedValue.get(), expectedTimeBasedValue ) } - def "A NativeSqlWeatherSource can read multiple timeseries values for multiple coordinates"() { + def "A SqlWeatherSource returns nothing for an invalid coordinate"() { + when: + def optTimeBasedValue = source.getWeather(CosmoWeatherTestData.TIME_15H, GeoUtils.xyToPoint(88d, 89d)) + + then: + optTimeBasedValue.empty + } + + def "A SqlWeatherSource can read multiple timeseries values for multiple coordinates"() { given: def coordinates = [ CosmoWeatherTestData.COORDINATE_193186, @@ -70,17 +84,32 @@ class SqlWeatherSourceCosmoIT extends Specification implements WeatherSourceTest def timeSeries193187 = new IndividualTimeSeries(null, [ new TimeBasedValue(CosmoWeatherTestData.TIME_16H, CosmoWeatherTestData.WEATHER_VALUE_193187_16H)] as Set) + when: Map> coordinateToTimeSeries = source.getWeather(timeInterval, coordinates) + then: coordinateToTimeSeries.keySet().size() == 2 equalsIgnoreUUID(coordinateToTimeSeries.get(CosmoWeatherTestData.COORDINATE_193186), timeSeries193186) equalsIgnoreUUID(coordinateToTimeSeries.get(CosmoWeatherTestData.COORDINATE_193187), timeSeries193187) } + def "A SqlWeatherSource returns nothing for invalid coordinates"() { + given: + def coordinates = [ + GeoUtils.xyToPoint(88d, 89d), + GeoUtils.xyToPoint(89d, 89d) + ] + def timeInterval = new ClosedInterval(CosmoWeatherTestData.TIME_16H, CosmoWeatherTestData.TIME_17H) + + when: + Map> coordinateToTimeSeries = source.getWeather(timeInterval, coordinates) + then: + coordinateToTimeSeries.keySet().empty + } - def "A NativeSqlWeatherSource can read all weather data in a given time interval"() { + def "A SqlWeatherSource can read all weather data in a given time interval"() { given: def timeInterval = new ClosedInterval(CosmoWeatherTestData.TIME_15H, CosmoWeatherTestData.TIME_17H) def timeSeries193186 = new IndividualTimeSeries(null, @@ -95,8 +124,10 @@ class SqlWeatherSourceCosmoIT extends Specification implements WeatherSourceTest def timeSeries193188 = new IndividualTimeSeries(null, [ new TimeBasedValue(CosmoWeatherTestData.TIME_15H, CosmoWeatherTestData.WEATHER_VALUE_193188_15H)] as Set) + when: Map> coordinateToTimeSeries = source.getWeather(timeInterval) + then: coordinateToTimeSeries.keySet().size() == 3 equalsIgnoreUUID(coordinateToTimeSeries.get(CosmoWeatherTestData.COORDINATE_193186).entries, timeSeries193186.entries) diff --git a/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlWeatherSourceIconIT.groovy b/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlWeatherSourceIconIT.groovy index 128e037b2..c827d656d 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlWeatherSourceIconIT.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/source/sql/SqlWeatherSourceIconIT.groovy @@ -11,6 +11,7 @@ import edu.ie3.datamodel.models.timeseries.individual.IndividualTimeSeries import edu.ie3.datamodel.models.timeseries.individual.TimeBasedValue import edu.ie3.datamodel.models.value.WeatherValue import edu.ie3.test.common.IconWeatherTestData +import edu.ie3.test.helper.TestContainerHelper import edu.ie3.test.helper.WeatherSourceTestHelper import edu.ie3.util.TimeUtil import edu.ie3.util.interval.ClosedInterval @@ -23,7 +24,7 @@ import spock.lang.Shared import spock.lang.Specification @Testcontainers -class SqlWeatherSourceIconIT extends Specification implements WeatherSourceTestHelper { +class SqlWeatherSourceIconIT extends Specification implements TestContainerHelper, WeatherSourceTestHelper { @Shared PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer("postgres:14.2") @@ -36,10 +37,10 @@ class SqlWeatherSourceIconIT extends Specification implements WeatherSourceTestH def setupSpec() { // Copy sql import script into docker - MountableFile sqlImportFile = MountableFile.forClasspathResource("/testcontainersFiles/sql/icon/weather.sql") - postgreSQLContainer.copyFileToContainer(sqlImportFile, "/home/weather.sql") + MountableFile sqlImportFile = getMountableFile("_weather/icon/weather.sql") + postgreSQLContainer.copyFileToContainer(sqlImportFile, "/home/weather_icon.sql") // Execute import script - Container.ExecResult res = postgreSQLContainer.execInContainer("psql", "-Utest", "-f/home/weather.sql") + Container.ExecResult res = postgreSQLContainer.execInContainer("psql", "-Utest", "-f/home/weather_icon.sql") assert res.stderr.empty def connector = new SqlConnector(postgreSQLContainer.jdbcUrl, postgreSQLContainer.username, postgreSQLContainer.password) diff --git a/src/test/groovy/edu/ie3/test/common/CosmoWeatherTestData.groovy b/src/test/groovy/edu/ie3/test/common/CosmoWeatherTestData.groovy index 33612e176..8f6395e39 100644 --- a/src/test/groovy/edu/ie3/test/common/CosmoWeatherTestData.groovy +++ b/src/test/groovy/edu/ie3/test/common/CosmoWeatherTestData.groovy @@ -13,12 +13,10 @@ import java.time.ZoneId import java.time.ZonedDateTime class CosmoWeatherTestData extends WeatherTestData { - public static final ZonedDateTime TIME_15H = ZonedDateTime.of(2020, 04, 28, 15, 0, 0, 0, ZoneId.of("UTC")) public static final ZonedDateTime TIME_16H = ZonedDateTime.of(2020, 04, 28, 16, 0, 0, 0, ZoneId.of("UTC")) public static final ZonedDateTime TIME_17H = ZonedDateTime.of(2020, 04, 28, 17, 0, 0, 0, ZoneId.of("UTC")) - public static final WeatherValue WEATHER_VALUE_193186_15H = new WeatherValue( COORDINATE_193186, Quantities.getQuantity(282.671997070312d, StandardUnits.SOLAR_IRRADIANCE), @@ -27,6 +25,7 @@ class CosmoWeatherTestData extends WeatherTestData { Quantities.getQuantity(0d, StandardUnits.WIND_DIRECTION), Quantities.getQuantity(1.66103506088257d, StandardUnits.WIND_VELOCITY) ) + public static final WeatherValue WEATHER_VALUE_193186_16H = new WeatherValue( COORDINATE_193186, Quantities.getQuantity(282.672d, StandardUnits.SOLAR_IRRADIANCE), @@ -35,6 +34,7 @@ class CosmoWeatherTestData extends WeatherTestData { Quantities.getQuantity(0d, StandardUnits.WIND_DIRECTION), Quantities.getQuantity(1.662d, StandardUnits.WIND_VELOCITY) ) + public static final WeatherValue WEATHER_VALUE_193186_17H = new WeatherValue( COORDINATE_193186, Quantities.getQuantity(282.673d, StandardUnits.SOLAR_IRRADIANCE), @@ -52,6 +52,7 @@ class CosmoWeatherTestData extends WeatherTestData { Quantities.getQuantity(0d, StandardUnits.WIND_DIRECTION), Quantities.getQuantity(1.76103506088257d, StandardUnits.WIND_VELOCITY) ) + public static final WeatherValue WEATHER_VALUE_193187_16H = new WeatherValue( COORDINATE_193187, Quantities.getQuantity(283.672d, StandardUnits.SOLAR_IRRADIANCE), diff --git a/src/test/groovy/edu/ie3/test/common/IconWeatherTestData.groovy b/src/test/groovy/edu/ie3/test/common/IconWeatherTestData.groovy index 8ad6b055d..1a46db71e 100644 --- a/src/test/groovy/edu/ie3/test/common/IconWeatherTestData.groovy +++ b/src/test/groovy/edu/ie3/test/common/IconWeatherTestData.groovy @@ -25,6 +25,7 @@ class IconWeatherTestData extends WeatherTestData { Quantities.getQuantity(270.45278309919627, StandardUnits.WIND_DIRECTION), Quantities.getQuantity(3.76601470961371, StandardUnits.WIND_VELOCITY) ) + public static final WeatherValue WEATHER_VALUE_67775_16H = new WeatherValue( COORDINATE_67775, Quantities.getQuantity(204.38963365625, StandardUnits.SOLAR_IRRADIANCE), @@ -33,6 +34,7 @@ class IconWeatherTestData extends WeatherTestData { Quantities.getQuantity(278.144331776102, StandardUnits.WIND_DIRECTION), Quantities.getQuantity(4.05744164637287, StandardUnits.WIND_VELOCITY) ) + public static final WeatherValue WEATHER_VALUE_67775_17H = new WeatherValue( COORDINATE_67775, Quantities.getQuantity(175.039569078125, StandardUnits.SOLAR_IRRADIANCE), @@ -50,6 +52,7 @@ class IconWeatherTestData extends WeatherTestData { Quantities.getQuantity(245.604554131632, StandardUnits.WIND_DIRECTION), Quantities.getQuantity(4.39390441381814, StandardUnits.WIND_VELOCITY) ) + public static final WeatherValue WEATHER_VALUE_67776_16H = new WeatherValue( COORDINATE_67776, Quantities.getQuantity(091.70939132297, StandardUnits.SOLAR_IRRADIANCE), diff --git a/src/test/resources/testcontainersFiles/sql/connector/connectorTest.sql b/src/test/resources/edu/ie3/datamodel/io/connectors/_sql/connectorTest.sql similarity index 100% rename from src/test/resources/testcontainersFiles/sql/connector/connectorTest.sql rename to src/test/resources/edu/ie3/datamodel/io/connectors/_sql/connectorTest.sql diff --git a/src/test/resources/testcontainersFiles/couchbase/cosmo/weather.json b/src/test/resources/edu/ie3/datamodel/io/source/couchbase/_weather/cosmo/weather.json similarity index 100% rename from src/test/resources/testcontainersFiles/couchbase/cosmo/weather.json rename to src/test/resources/edu/ie3/datamodel/io/source/couchbase/_weather/cosmo/weather.json diff --git a/src/test/resources/testcontainersFiles/couchbase/icon/weather.json b/src/test/resources/edu/ie3/datamodel/io/source/couchbase/_weather/icon/weather.json similarity index 100% rename from src/test/resources/testcontainersFiles/couchbase/icon/weather.json rename to src/test/resources/edu/ie3/datamodel/io/source/couchbase/_weather/icon/weather.json diff --git a/src/test/resources/testGridFiles/coordinates_cosmo/coordinates.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_coordinates/cosmo/coordinates.csv similarity index 100% rename from src/test/resources/testGridFiles/coordinates_cosmo/coordinates.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_coordinates/cosmo/coordinates.csv diff --git a/src/test/resources/testGridFiles/coordinates_icon/coordinates.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_coordinates/icon/coordinates.csv similarity index 100% rename from src/test/resources/testGridFiles/coordinates_icon/coordinates.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_coordinates/icon/coordinates.csv diff --git a/src/test/resources/testGridFiles/graphics/line_graphic_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_graphics/line_graphic_input.csv similarity index 100% rename from src/test/resources/testGridFiles/graphics/line_graphic_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_graphics/line_graphic_input.csv diff --git a/src/test/resources/testGridFiles/graphics/node_graphic_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_graphics/node_graphic_input.csv similarity index 100% rename from src/test/resources/testGridFiles/graphics/node_graphic_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_graphics/node_graphic_input.csv diff --git a/src/test/resources/testGridFiles/grid/line_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/line_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid/line_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/line_input.csv diff --git a/src/test/resources/testGridFiles/grid/measurement_unit_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/measurement_unit_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid/measurement_unit_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/measurement_unit_input.csv diff --git a/src/test/resources/testGridFiles/grid/node_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/node_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid/node_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/node_input.csv diff --git a/src/test/resources/testGridFiles/grid/switch_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/switch_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid/switch_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/switch_input.csv diff --git a/src/test/resources/testGridFiles/grid/transformer_2_w_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/transformer_2_w_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid/transformer_2_w_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/transformer_2_w_input.csv diff --git a/src/test/resources/testGridFiles/grid/transformer_3_w_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/transformer_3_w_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid/transformer_3_w_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/default/transformer_3_w_input.csv diff --git a/src/test/resources/testGridFiles/grid_empty/line_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/line_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_empty/line_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/line_input.csv diff --git a/src/test/resources/testGridFiles/grid_empty/measurement_unit_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/measurement_unit_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_empty/measurement_unit_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/measurement_unit_input.csv diff --git a/src/test/resources/testGridFiles/grid_empty/node_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/node_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_empty/node_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/node_input.csv diff --git a/src/test/resources/testGridFiles/grid_empty/switch_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/switch_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_empty/switch_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/switch_input.csv diff --git a/src/test/resources/testGridFiles/grid_empty/transformer_2_w_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/transformer_2_w_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_empty/transformer_2_w_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/transformer_2_w_input.csv diff --git a/src/test/resources/testGridFiles/grid_empty/transformer_3_w_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/transformer_3_w_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_empty/transformer_3_w_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/empty/transformer_3_w_input.csv diff --git a/src/test/resources/testGridFiles/grid_default_hierarchy/grid/line_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/line_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_default_hierarchy/grid/line_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/line_input.csv diff --git a/src/test/resources/testGridFiles/grid_default_hierarchy/grid/measurement_unit_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/measurement_unit_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_default_hierarchy/grid/measurement_unit_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/measurement_unit_input.csv diff --git a/src/test/resources/testGridFiles/grid_malformed/node_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/node_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_malformed/node_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/node_input.csv diff --git a/src/test/resources/testGridFiles/grid_default_hierarchy/grid/switch_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/switch_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_default_hierarchy/grid/switch_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/switch_input.csv diff --git a/src/test/resources/testGridFiles/grid_default_hierarchy/grid/transformer_2_w_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/transformer_2_w_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_default_hierarchy/grid/transformer_2_w_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/transformer_2_w_input.csv diff --git a/src/test/resources/testGridFiles/grid_default_hierarchy/grid/transformer_3_w_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/transformer_3_w_input.csv similarity index 100% rename from src/test/resources/testGridFiles/grid_default_hierarchy/grid/transformer_3_w_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_grid/malformed/transformer_3_w_input.csv diff --git a/src/test/resources/testGridFiles/participants/bm_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/bm_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/bm_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/bm_input.csv diff --git a/src/test/resources/testGridFiles/participants/chp_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/chp_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/chp_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/chp_input.csv diff --git a/src/test/resources/testGridFiles/participants/cylindrical_storage_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/cylindrical_storage_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/cylindrical_storage_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/cylindrical_storage_input.csv diff --git a/src/test/resources/testGridFiles/participants/ev_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/ev_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/ev_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/ev_input.csv diff --git a/src/test/resources/testGridFiles/participants/evcs_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/evcs_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/evcs_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/evcs_input.csv diff --git a/src/test/resources/testGridFiles/participants/fixed_feed_in_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/fixed_feed_in_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/fixed_feed_in_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/fixed_feed_in_input.csv diff --git a/src/test/resources/testGridFiles/participants/hp_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/hp_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/hp_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/hp_input.csv diff --git a/src/test/resources/testGridFiles/participants/load_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/load_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/load_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/load_input.csv diff --git a/src/test/resources/testGridFiles/participants/pv_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/pv_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/pv_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/pv_input.csv diff --git a/src/test/resources/testGridFiles/participants/storage_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/storage_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/storage_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/storage_input.csv diff --git a/src/test/resources/testGridFiles/participants/thermal_bus_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/thermal_bus_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/thermal_bus_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/thermal_bus_input.csv diff --git a/src/test/resources/testGridFiles/participants/time_series_mapping.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/time_series_mapping.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/time_series_mapping.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/time_series_mapping.csv diff --git a/src/test/resources/testGridFiles/participants/wec_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/wec_input.csv similarity index 100% rename from src/test/resources/testGridFiles/participants/wec_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_participants/wec_input.csv diff --git a/src/test/resources/testGridFiles/results/bm_res.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_results/bm_res.csv similarity index 100% rename from src/test/resources/testGridFiles/results/bm_res.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_results/bm_res.csv diff --git a/src/test/resources/testGridFiles/results/chp_res.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_results/chp_res.csv similarity index 100% rename from src/test/resources/testGridFiles/results/chp_res.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_results/chp_res.csv diff --git a/src/test/resources/testGridFiles/results/ev_res.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_results/ev_res.csv similarity index 100% rename from src/test/resources/testGridFiles/results/ev_res.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_results/ev_res.csv diff --git a/src/test/resources/testGridFiles/results/evcs_res.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_results/evcs_res.csv similarity index 100% rename from src/test/resources/testGridFiles/results/evcs_res.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_results/evcs_res.csv diff --git a/src/test/resources/testGridFiles/results/fixed_feed_in_res.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_results/fixed_feed_in_res.csv similarity index 100% rename from src/test/resources/testGridFiles/results/fixed_feed_in_res.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_results/fixed_feed_in_res.csv diff --git a/src/test/resources/testGridFiles/results/hp_res.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_results/hp_res.csv similarity index 100% rename from src/test/resources/testGridFiles/results/hp_res.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_results/hp_res.csv diff --git a/src/test/resources/testGridFiles/results/load_res.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_results/load_res.csv similarity index 100% rename from src/test/resources/testGridFiles/results/load_res.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_results/load_res.csv diff --git a/src/test/resources/testGridFiles/results/pv_res.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_results/pv_res.csv similarity index 100% rename from src/test/resources/testGridFiles/results/pv_res.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_results/pv_res.csv diff --git a/src/test/resources/testGridFiles/results/storage_res.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_results/storage_res.csv similarity index 100% rename from src/test/resources/testGridFiles/results/storage_res.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_results/storage_res.csv diff --git a/src/test/resources/testGridFiles/results/thermal_house_res.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_results/thermal_house_res.csv similarity index 100% rename from src/test/resources/testGridFiles/results/thermal_house_res.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_results/thermal_house_res.csv diff --git a/src/test/resources/testGridFiles/results/wec_res.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_results/wec_res.csv similarity index 100% rename from src/test/resources/testGridFiles/results/wec_res.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_results/wec_res.csv diff --git a/src/test/resources/testGridFiles/thermal/cylindrical_storage_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_thermal/cylindrical_storage_input.csv similarity index 100% rename from src/test/resources/testGridFiles/thermal/cylindrical_storage_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_thermal/cylindrical_storage_input.csv diff --git a/src/test/resources/testGridFiles/thermal/thermal_bus_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_thermal/thermal_bus_input.csv similarity index 100% rename from src/test/resources/testGridFiles/thermal/thermal_bus_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_thermal/thermal_bus_input.csv diff --git a/src/test/resources/testGridFiles/thermal/thermal_house_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_thermal/thermal_house_input.csv similarity index 100% rename from src/test/resources/testGridFiles/thermal/thermal_house_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_thermal/thermal_house_input.csv diff --git a/src/test/resources/testTimeSeriesFiles/its_c_2fcb3e53-b94a-4b96-bea4-c469e499f1a1.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_c_2fcb3e53-b94a-4b96-bea4-c469e499f1a1.csv similarity index 100% rename from src/test/resources/testTimeSeriesFiles/its_c_2fcb3e53-b94a-4b96-bea4-c469e499f1a1.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_c_2fcb3e53-b94a-4b96-bea4-c469e499f1a1.csv diff --git a/src/test/resources/testTimeSeriesFiles/its_h_c8fe6547-fd85-4fdf-a169-e4da6ce5c3d0.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_h_c8fe6547-fd85-4fdf-a169-e4da6ce5c3d0.csv similarity index 100% rename from src/test/resources/testTimeSeriesFiles/its_h_c8fe6547-fd85-4fdf-a169-e4da6ce5c3d0.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_h_c8fe6547-fd85-4fdf-a169-e4da6ce5c3d0.csv diff --git a/src/test/resources/testTimeSeriesFiles/its_p_9185b8c1-86ba-4a16-8dea-5ac898e8caa5.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_p_9185b8c1-86ba-4a16-8dea-5ac898e8caa5.csv similarity index 100% rename from src/test/resources/testTimeSeriesFiles/its_p_9185b8c1-86ba-4a16-8dea-5ac898e8caa5.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_p_9185b8c1-86ba-4a16-8dea-5ac898e8caa5.csv diff --git a/src/test/resources/testTimeSeriesFiles/its_ph_76c9d846-797c-4f07-b7ec-2245f679f5c7.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_ph_76c9d846-797c-4f07-b7ec-2245f679f5c7.csv similarity index 100% rename from src/test/resources/testTimeSeriesFiles/its_ph_76c9d846-797c-4f07-b7ec-2245f679f5c7.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_ph_76c9d846-797c-4f07-b7ec-2245f679f5c7.csv diff --git a/src/test/resources/testTimeSeriesFiles/its_pq_1061af70-1c03-46e1-b960-940b956c429f.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_pq_1061af70-1c03-46e1-b960-940b956c429f.csv similarity index 100% rename from src/test/resources/testTimeSeriesFiles/its_pq_1061af70-1c03-46e1-b960-940b956c429f.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_pq_1061af70-1c03-46e1-b960-940b956c429f.csv diff --git a/src/test/resources/testTimeSeriesFiles/its_pq_3fbfaa97-cff4-46d4-95ba-a95665e87c26.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_pq_3fbfaa97-cff4-46d4-95ba-a95665e87c26.csv similarity index 100% rename from src/test/resources/testTimeSeriesFiles/its_pq_3fbfaa97-cff4-46d4-95ba-a95665e87c26.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_pq_3fbfaa97-cff4-46d4-95ba-a95665e87c26.csv diff --git a/src/test/resources/testTimeSeriesFiles/its_pqh_46be1e57-e4ed-4ef7-95f1-b2b321cb2047.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_pqh_46be1e57-e4ed-4ef7-95f1-b2b321cb2047.csv similarity index 100% rename from src/test/resources/testTimeSeriesFiles/its_pqh_46be1e57-e4ed-4ef7-95f1-b2b321cb2047.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/its_pqh_46be1e57-e4ed-4ef7-95f1-b2b321cb2047.csv diff --git a/src/test/resources/testTimeSeriesFiles/time_series_mapping.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/time_series_mapping.csv similarity index 100% rename from src/test/resources/testTimeSeriesFiles/time_series_mapping.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_timeseries/time_series_mapping.csv diff --git a/src/test/resources/testGridFiles/types/bm_type_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_types/bm_type_input.csv similarity index 100% rename from src/test/resources/testGridFiles/types/bm_type_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_types/bm_type_input.csv diff --git a/src/test/resources/testGridFiles/types/chp_type_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_types/chp_type_input.csv similarity index 100% rename from src/test/resources/testGridFiles/types/chp_type_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_types/chp_type_input.csv diff --git a/src/test/resources/testGridFiles/types/ev_type_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_types/ev_type_input.csv similarity index 100% rename from src/test/resources/testGridFiles/types/ev_type_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_types/ev_type_input.csv diff --git a/src/test/resources/testGridFiles/types/hp_type_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_types/hp_type_input.csv similarity index 100% rename from src/test/resources/testGridFiles/types/hp_type_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_types/hp_type_input.csv diff --git a/src/test/resources/testGridFiles/types/line_type_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_types/line_type_input.csv similarity index 100% rename from src/test/resources/testGridFiles/types/line_type_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_types/line_type_input.csv diff --git a/src/test/resources/testGridFiles/types/operator_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_types/operator_input.csv similarity index 100% rename from src/test/resources/testGridFiles/types/operator_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_types/operator_input.csv diff --git a/src/test/resources/testGridFiles/types/storage_type_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_types/storage_type_input.csv similarity index 100% rename from src/test/resources/testGridFiles/types/storage_type_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_types/storage_type_input.csv diff --git a/src/test/resources/testGridFiles/types/transformer_2_w_type_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_types/transformer_2_w_type_input.csv similarity index 100% rename from src/test/resources/testGridFiles/types/transformer_2_w_type_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_types/transformer_2_w_type_input.csv diff --git a/src/test/resources/testGridFiles/types/transformer_3_w_type_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_types/transformer_3_w_type_input.csv similarity index 100% rename from src/test/resources/testGridFiles/types/transformer_3_w_type_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_types/transformer_3_w_type_input.csv diff --git a/src/test/resources/testGridFiles/types/wec_type_input.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_types/wec_type_input.csv similarity index 100% rename from src/test/resources/testGridFiles/types/wec_type_input.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_types/wec_type_input.csv diff --git a/src/test/resources/edu/ie3/datamodel/io/source/csv/weather/cosmo/its_weather_8bc9120d-fb9b-4484-b4e3-0cdadf0feea9.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_weather/cosmo/its_weather_8bc9120d-fb9b-4484-b4e3-0cdadf0feea9.csv similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/csv/weather/cosmo/its_weather_8bc9120d-fb9b-4484-b4e3-0cdadf0feea9.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_weather/cosmo/its_weather_8bc9120d-fb9b-4484-b4e3-0cdadf0feea9.csv diff --git a/src/test/resources/edu/ie3/datamodel/io/source/csv/weather/icon/its_weather_513606bc-539e-445b-9675-2f98be3d9231.csv b/src/test/resources/edu/ie3/datamodel/io/source/csv/_weather/icon/its_weather_513606bc-539e-445b-9675-2f98be3d9231.csv similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/csv/weather/icon/its_weather_513606bc-539e-445b-9675-2f98be3d9231.csv rename to src/test/resources/edu/ie3/datamodel/io/source/csv/_weather/icon/its_weather_513606bc-539e-445b-9675-2f98be3d9231.csv diff --git a/src/test/resources/testcontainersFiles/influxDb/cosmo/weather.txt b/src/test/resources/edu/ie3/datamodel/io/source/influxdb/_weather/cosmo/weather.txt similarity index 100% rename from src/test/resources/testcontainersFiles/influxDb/cosmo/weather.txt rename to src/test/resources/edu/ie3/datamodel/io/source/influxdb/_weather/cosmo/weather.txt diff --git a/src/test/resources/testcontainersFiles/influxDb/icon/weather.txt b/src/test/resources/edu/ie3/datamodel/io/source/influxdb/_weather/icon/weather.txt similarity index 100% rename from src/test/resources/testcontainersFiles/influxDb/icon/weather.txt rename to src/test/resources/edu/ie3/datamodel/io/source/influxdb/_weather/icon/weather.txt diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_c_2fcb3e53-b94a-4b96-bea4-c469e499f1a1.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_c_2fcb3e53-b94a-4b96-bea4-c469e499f1a1.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_c_2fcb3e53-b94a-4b96-bea4-c469e499f1a1.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_c_2fcb3e53-b94a-4b96-bea4-c469e499f1a1.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_h_c8fe6547-fd85-4fdf-a169-e4da6ce5c3d0.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_h_c8fe6547-fd85-4fdf-a169-e4da6ce5c3d0.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_h_c8fe6547-fd85-4fdf-a169-e4da6ce5c3d0.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_h_c8fe6547-fd85-4fdf-a169-e4da6ce5c3d0.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_p_9185b8c1-86ba-4a16-8dea-5ac898e8caa5.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_p_9185b8c1-86ba-4a16-8dea-5ac898e8caa5.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_p_9185b8c1-86ba-4a16-8dea-5ac898e8caa5.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_p_9185b8c1-86ba-4a16-8dea-5ac898e8caa5.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_ph_76c9d846-797c-4f07-b7ec-2245f679f5c7.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_ph_76c9d846-797c-4f07-b7ec-2245f679f5c7.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_ph_76c9d846-797c-4f07-b7ec-2245f679f5c7.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_ph_76c9d846-797c-4f07-b7ec-2245f679f5c7.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_pq_3fbfaa97-cff4-46d4-95ba-a95665e87c26.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_pq_3fbfaa97-cff4-46d4-95ba-a95665e87c26.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_pq_3fbfaa97-cff4-46d4-95ba-a95665e87c26.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_pq_3fbfaa97-cff4-46d4-95ba-a95665e87c26.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_pqh_46be1e57-e4ed-4ef7-95f1-b2b321cb2047.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_pqh_46be1e57-e4ed-4ef7-95f1-b2b321cb2047.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/its_pqh_46be1e57-e4ed-4ef7-95f1-b2b321cb2047.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/its_pqh_46be1e57-e4ed-4ef7-95f1-b2b321cb2047.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_c.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_c.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_c.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_c.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_h.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_h.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_h.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_h.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_mapping.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_mapping.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_mapping.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_mapping.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_p.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_p.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_p.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_p.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_ph.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_ph.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_ph.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_ph.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_pq.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_pq.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_pq.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_pq.sql diff --git a/src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_pqh.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_pqh.sql similarity index 100% rename from src/test/resources/edu/ie3/datamodel/io/source/sql/timeseries/time_series_pqh.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_timeseries/time_series_pqh.sql diff --git a/src/test/resources/testcontainersFiles/sql/cosmo/weather.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_weather/cosmo/weather.sql similarity index 100% rename from src/test/resources/testcontainersFiles/sql/cosmo/weather.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_weather/cosmo/weather.sql diff --git a/src/test/resources/testcontainersFiles/sql/icon/weather.sql b/src/test/resources/edu/ie3/datamodel/io/source/sql/_weather/icon/weather.sql similarity index 100% rename from src/test/resources/testcontainersFiles/sql/icon/weather.sql rename to src/test/resources/edu/ie3/datamodel/io/source/sql/_weather/icon/weather.sql diff --git a/src/test/resources/testGridFiles/grid_default_hierarchy/grid/node_input.csv b/src/test/resources/testGridFiles/grid_default_hierarchy/grid/node_input.csv deleted file mode 100644 index 8b2b387e5..000000000 --- a/src/test/resources/testGridFiles/grid_default_hierarchy/grid/node_input.csv +++ /dev/null @@ -1,8 +0,0 @@ -uuid,geo_position,id,operates_from,operates_until,operator,slack,subnet,v_rated,v_target,volt_lvl -4ca90220-74c2-4369-9afa-a18bf068840d,"{""type"":""Point"",""coordinates"":[7.411111,51.492528],""crs"":{""type"":""name"",""properties"":{""name"":""EPSG:4326""}}}",node_a,2020-03-24T15:11:31Z[UTC],2020-03-25T15:11:31Z[UTC],f15105c4-a2de-4ab8-a621-4bc98e372d92,true,1,380.0,1.0,Höchstspannung -47d29df0-ba2d-4d23-8e75-c82229c5c758,,node_b,,,,false,2,110.0,1.0,Hochspannung -bd837a25-58f3-44ac-aa90-c6b6e3cd91b2,,node_c,,,,false,3,20.0,1.0,Mittelspannung -6e0980e0-10f2-4e18-862b-eb2b7c90509b,,node_d,,,,false,4,20.0,1.0,Mittelspannung -98a3e7fa-c456-455b-a5ea-bb19e7cbeb63,,node_e,,,,false,5,10.0,1.0,Mittelspannung -9e37ce48-9650-44ec-b888-c2fd182aff01,,node_f,,,,false,6,0.4,1.0,Niederspannung -aaa74c1a-d07e-4615-99a5-e991f1d81cc4,,node_g,,,,false,6,0.4,1.0,Niederspannung diff --git a/src/test/resources/testGridFiles/grid_default_hierarchy/participants/ev_input.csv b/src/test/resources/testGridFiles/grid_default_hierarchy/participants/ev_input.csv deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/test/resources/testGridFiles/grid_malformed/line_input.csv b/src/test/resources/testGridFiles/grid_malformed/line_input.csv deleted file mode 100644 index c5f849c5c..000000000 --- a/src/test/resources/testGridFiles/grid_malformed/line_input.csv +++ /dev/null @@ -1,3 +0,0 @@ -uuid,geo_position,id,length,node_a,node_b,olm_characteristic,operates_from,operates_until,operator,parallel_devices,type -92ec3bcf-1777-4d38-af67-0bf7c9fa73c7,"{""type"":""LineString"",""coordinates"":[[7.411111,51.492528],[7.414116,51.484136]],""crs"":{""type"":""name"",""properties"":{""name"":""EPSG:4326""}}}",test_line_AtoB,0.003,4ca90220-74c2-4369-9afa-a18bf068840d,47d29df0-ba2d-4d23-8e75-c82229c5c758,olm:{(0.00,1.00)},2020-03-24T15:11:31Z[UTC],2020-03-25T15:11:31Z[UTC],f15105c4-a2de-4ab8-a621-4bc98e372d92,2,3bed3eb3-9790-4874-89b5-a5434d408088 -91ec3bcf-1777-4d38-af67-0bf7c9fa73c7,"{""type"":""LineString"",""coordinates"":[[7.411111,51.492528],[7.414116,51.484136]],""crs"":{""type"":""name"",""properties"":{""name"":""EPSG:4326""}}}",test_line_CtoD,0.003,bd837a25-58f3-44ac-aa90-c6b6e3cd91b2,6e0980e0-10f2-4e18-862b-eb2b7c90509b,olm:{(0.00,1.00)},2020-03-24T15:11:31Z[UTC],2020-03-25T15:11:31Z[UTC],f15105c4-a2de-4ab8-a621-4bc98e372d92,2,3bed3eb3-9790-4874-89b5-a5434d408088 \ No newline at end of file diff --git a/src/test/resources/testGridFiles/grid_malformed/measurement_unit_input.csv b/src/test/resources/testGridFiles/grid_malformed/measurement_unit_input.csv deleted file mode 100644 index d9e432af9..000000000 --- a/src/test/resources/testGridFiles/grid_malformed/measurement_unit_input.csv +++ /dev/null @@ -1,2 +0,0 @@ -uuid,v_ang,v_mag,id,node,operates_from,operates_until,operator,p,q -ce6119e3-f725-4166-b6e0-59f62e0c293d,true,true,test_measurementUnit,aaa74c1a-d07e-4615-99a5-e991f1d81cc4,2020-03-24T15:11:31Z[UTC],2020-03-25T15:11:31Z[UTC],f15105c4-a2de-4ab8-a621-4bc98e372d92,true,true diff --git a/src/test/resources/testGridFiles/grid_malformed/switch_input.csv b/src/test/resources/testGridFiles/grid_malformed/switch_input.csv deleted file mode 100644 index af37806f6..000000000 --- a/src/test/resources/testGridFiles/grid_malformed/switch_input.csv +++ /dev/null @@ -1,2 +0,0 @@ -uuid,closed,id,node_a,node_b,operates_from,operates_until,operator -5dc88077-aeb6-4711-9142-db57287640b1,true,test_switch_AtoB,4ca90220-74c2-4369-9afa-a18bf068840d,47d29df0-ba2d-4d23-8e75-c82229c5c758,2020-03-24T15:11:31Z[UTC],2020-03-25T15:11:31Z[UTC],f15105c4-a2de-4ab8-a621-4bc98e372d92 diff --git a/src/test/resources/testGridFiles/grid_malformed/transformer_2_w_input.csv b/src/test/resources/testGridFiles/grid_malformed/transformer_2_w_input.csv deleted file mode 100644 index 564775304..000000000 --- a/src/test/resources/testGridFiles/grid_malformed/transformer_2_w_input.csv +++ /dev/null @@ -1,6 +0,0 @@ -uuid,auto_tap,id,node_a,node_b,operates_from,operates_until,operator,parallel_devices,tap_pos,type -58247de7-e297-4d9b-a5e4-b662c058c655,true,2w_single_test,47d29df0-ba2d-4d23-8e75-c82229c5c758,6e0980e0-10f2-4e18-862b-eb2b7c90509b,,,,1,0,202069a7-bcf8-422c-837c-273575220c8a -8542bfa5-dc34-4367-b549-e9f515e6cced,true,2w_v_1,47d29df0-ba2d-4d23-8e75-c82229c5c758,98a3e7fa-c456-455b-a5ea-bb19e7cbeb63,,,,1,0,ac30443b-29e7-4635-b399-1062cfb3ffda -0c03391d-47e1-49b3-9c9c-1616258e78a7,true,2w_v_2,bd837a25-58f3-44ac-aa90-c6b6e3cd91b2,98a3e7fa-c456-455b-a5ea-bb19e7cbeb63,,,,1,0,8441dd78-c528-4e63-830d-52d341131432 -26a3583e-8e62-40b7-ba4c-092f6fd5a70d,true,2w_parallel_1,bd837a25-58f3-44ac-aa90-c6b6e3cd91b2,9e37ce48-9650-44ec-b888-c2fd182aff01,,,,1,0,08559390-d7c0-4427-a2dc-97ba312ae0ac -5dc88077-aeb6-4711-9142-db57292640b1,true,2w_parallel_2,bd837a25-58f3-44ac-aa90-c6b6e3cd91b2,aaa74c1a-d07e-4615-99a5-e991f1d81cc4,2020-03-24T15:11:31Z[UTC],2020-03-25T15:11:31Z[UTC],f15105c4-a2de-4ab8-a621-4bc98e372d92,1,0,08559390-d7c0-4427-a2dc-97ba312ae0ac diff --git a/src/test/resources/testGridFiles/grid_malformed/transformer_3_w_input.csv b/src/test/resources/testGridFiles/grid_malformed/transformer_3_w_input.csv deleted file mode 100644 index b970ceefb..000000000 --- a/src/test/resources/testGridFiles/grid_malformed/transformer_3_w_input.csv +++ /dev/null @@ -1,2 +0,0 @@ -uuid,auto_tap,id,node_a,node_b,node_c,operates_from,operates_until,operator,parallel_devices,tap_pos,type -cc327469-7d56-472b-a0df-edbb64f90e8f,true,3w_test,4ca90220-74c2-4369-9afa-a18bf068840d,47d29df0-ba2d-4d23-8e75-c82229c5c758,bd837a25-58f3-44ac-aa90-c6b6e3cd91b2,2020-03-24T15:11:31Z[UTC],2020-03-25T15:11:31Z[UTC],f15105c4-a2de-4ab8-a621-4bc98e372d92,1,0,5b0ee546-21fb-4a7f-a801-5dbd3d7bb356