11package com .here .naksha .cli .copy .service .psql ;
22
3- import com .here .naksha .cli .copy .service .*;
3+ import static naksha .model .RandomFeatures .randomFeatures ;
4+ import static naksha .model .util .RequestHelper .createFeaturesRequest ;
5+ import static naksha .model .util .RequestHelper .createWriteCollectionsRequest ;
6+ import static naksha .model .util .ResultHelper .extractResponseItems ;
7+ import static org .junit .jupiter .api .Assertions .assertEquals ;
8+ import static org .junit .jupiter .api .Assertions .assertInstanceOf ;
9+ import static org .junit .jupiter .api .Assertions .assertIterableEquals ;
10+
11+ import com .here .naksha .cli .copy .service .CopyElement ;
12+ import com .here .naksha .cli .copy .service .CopyService ;
13+ import com .here .naksha .cli .copy .service .CopyServiceException ;
14+ import com .here .naksha .cli .copy .service .CopyServiceSuccessResultPayload ;
15+ import com .here .naksha .cli .copy .service .StorageProvider ;
416import com .here .naksha .cli .copy .service .executors .OneShotFeaturesWriteExecutor ;
517import com .here .naksha .cli .copy .service .executors .ParallelFeaturesWriteExecutor ;
618import com .here .naksha .cli .copy .service .executors .model .FeaturesWriteExecutor ;
719import com .here .naksha .cli .results .CommandResult ;
820import com .here .naksha .cli .results .CommandSuccess ;
921import com .here .naksha .cli .storages .GeneratingStorage ;
1022import com .here .naksha .cli .storages .GeneratingStorageConfig ;
11- import com .here .naksha .cli .testcontainers .TestContainersPsqlStorage ;
1223import com .here .naksha .lib .core .models .geojson .WebMercatorTile ;
24+ import java .util .List ;
25+ import java .util .UUID ;
26+ import java .util .stream .Stream ;
1327import naksha .base .StringList ;
28+ import naksha .common .test .CommonTestConstants ;
1429import naksha .model .IStorage ;
1530import naksha .model .Naksha ;
1631import naksha .model .NakshaContext ;
1732import naksha .model .SessionOptions ;
1833import naksha .model .objects .NakshaCollection ;
1934import naksha .model .objects .NakshaFeature ;
2035import naksha .model .objects .NakshaMap ;
21- import naksha .model .request .*;
36+ import naksha .model .objects .NakshaStorage ;
37+ import naksha .model .request .ReadFeatures ;
38+ import naksha .model .request .Request ;
39+ import naksha .model .request .RequestQuery ;
40+ import naksha .model .request .Response ;
41+ import naksha .model .request .SuccessResponse ;
42+ import naksha .model .request .Write ;
43+ import naksha .model .request .WriteRequest ;
2244import naksha .model .request .query .SpIntersects ;
2345import naksha .model .request .query .SpOr ;
2446import org .junit .jupiter .api .BeforeEach ;
2547import org .junit .jupiter .params .ParameterizedTest ;
2648import org .junit .jupiter .params .provider .Arguments ;
2749import org .junit .jupiter .params .provider .MethodSource ;
2850
29- import java .util .List ;
30- import java .util .UUID ;
31- import java .util .stream .Stream ;
32-
33- import static naksha .model .RandomFeatures .randomFeatures ;
34- import static naksha .model .util .RequestHelper .createFeaturesRequest ;
35- import static naksha .model .util .RequestHelper .createWriteCollectionsRequest ;
36- import static naksha .model .util .ResultHelper .extractResponseItems ;
37- import static org .junit .jupiter .api .Assertions .*;
38-
3951class PsqlCopyTest {
4052 private final String srcCollectionId = "srccolid" ;
4153 private final String targetCollectionId = "targetcolid" ;
4254 private SessionOptions sessionOptions ;
55+ private static final NakshaStorage storageConfig = NakshaStorage .fromJSON ("""
56+ {
57+ "id": "%s",
58+ "className": "naksha.psql.PsqlTestStorage"
59+ }
60+ """ .formatted (CommonTestConstants .getTestStorageId ()));
61+ private IStorage psqlStorage ;
4362
4463 @ BeforeEach
4564 void beforeEach () {
4665 NakshaContext .currentContext ().withAppId ("testapp" );
4766 sessionOptions = SessionOptions .from (NakshaContext .currentContext ());
67+ psqlStorage = Naksha .useStorage (storageConfig );
4868 }
4969
5070 @ ParameterizedTest
@@ -58,7 +78,7 @@ void shouldCopyFeaturesBetweenGeneratingStorageAndPostgres(FeaturesWriteExecutor
5878 CopyElement source = copyElementForGeneratingStorage (sourceStorage );
5979
6080 // And: prepared target
61- IStorage targetStorage = TestContainersPsqlStorage . getInstance (). getStorage () ;
81+ IStorage targetStorage = psqlStorage ;
6282 CopyElement target = createMapWithEmptyCollection (targetStorage , targetCollectionId );
6383
6484 // And: copy service
@@ -79,7 +99,7 @@ void shouldCopyFeaturesBetweenGeneratingStorageAndPostgres(FeaturesWriteExecutor
7999 @ MethodSource ("featuresWriteExecutors" )
80100 void shouldCopyFeaturesBetweenMapsOnTheSameStorage (FeaturesWriteExecutor featuresWriteExecutor ) {
81101 // Given: the same storage for source and target
82- IStorage storage = TestContainersPsqlStorage . getInstance (). getStorage () ;
102+ IStorage storage = psqlStorage ;
83103
84104 // Given: prepared source
85105 CopyElement source = createMapWithEmptyCollection (storage , srcCollectionId );
@@ -110,7 +130,7 @@ void shouldCopyFeaturesBetweenMapsOnTheSameStorage(FeaturesWriteExecutor feature
110130 @ MethodSource ("featuresWriteExecutors" )
111131 void shouldCreateMapAndCollectionThenCopy (FeaturesWriteExecutor featuresWriteExecutor ) {
112132 // Given: the same storage for source and target
113- IStorage storage = TestContainersPsqlStorage . getInstance (). getStorage () ;
133+ IStorage storage = psqlStorage ;
114134
115135 // Given: prepared source
116136 CopyElement source = createMapWithEmptyCollection (storage , srcCollectionId );
0 commit comments