1
+ package org .sirix .io .cloud .amazon ;
2
+ import static org .junit .jupiter .api .Assertions .assertNotNull ;
3
+ import static org .junit .jupiter .api .Assertions .assertTrue ;
4
+
5
+ import java .net .URI ;
6
+
7
+ import org .junit .After ;
8
+ import org .junit .Before ;
9
+ import org .junit .Test ;
10
+ import org .sirix .XmlTestHelper ;
11
+ import org .sirix .XmlTestHelper .PATHS ;
12
+ import org .sirix .access .ResourceConfiguration ;
13
+ import org .sirix .api .Database ;
14
+ import org .sirix .api .xml .XmlResourceSession ;
15
+ import org .sirix .io .StorageType ;
16
+
17
+ import io .findify .s3mock .S3Mock ;
18
+ import software .amazon .awssdk .auth .credentials .AnonymousCredentialsProvider ;
19
+ import software .amazon .awssdk .regions .Region ;
20
+ import software .amazon .awssdk .services .s3 .S3Client ;
21
+
22
+ public class AWSS3StorageTest {
23
+
24
+ private AmazonS3Storage awsStorage ;
25
+ private S3Client s3Client ;
26
+ private AmazonS3StorageWriter cloudWriter ;
27
+ private AmazonS3StorageReader cloudReader ;
28
+
29
+ @ Before
30
+ public void setup () {
31
+ final ResourceConfiguration .Builder resourceConfig = new ResourceConfiguration .Builder (XmlTestHelper .RESOURCE );
32
+ resourceConfig .storageType (StorageType .CLOUD );
33
+ Database <XmlResourceSession > xmlDatabase = XmlTestHelper .getDatabase (PATHS .PATH1 .getFile ());
34
+ resourceConfig .awsStoreInfo (new ResourceConfiguration .AWSStorageInformation ("default" ,
35
+ Region .US_EAST_1 .id (), xmlDatabase .getName (), true ));
36
+ ResourceConfiguration testResources = resourceConfig .build ();
37
+ S3Mock api = S3Mock .create (8001 , "." );
38
+ api .start ();
39
+ s3Client = S3Client .builder ().region (Region .of (testResources .awsStoreInfo .getAwsRegion ()))
40
+ .credentialsProvider (AnonymousCredentialsProvider .create ())
41
+ .dualstackEnabled (true )
42
+ .endpointOverride (URI .create ("http://127.0.0.1:8001" ))
43
+ .build ();
44
+ testResources .resourcePath = PATHS .PATH1 .getFile ();
45
+
46
+ awsStorage = (AmazonS3Storage )StorageType .CLOUD .getInstance (testResources );
47
+ awsStorage .setS3Client (s3Client );
48
+ cloudWriter = (AmazonS3StorageWriter )awsStorage .createWriter ();
49
+ cloudReader = (AmazonS3StorageReader )awsStorage .createReader ();
50
+ }
51
+
52
+ @ Test
53
+ public void testS3StorageWriterNotNull () {
54
+ assertNotNull (cloudWriter );
55
+ }
56
+
57
+ @ Test
58
+ public void testS3StorageReaderNotNull () {
59
+ assertNotNull (cloudReader );
60
+ }
61
+
62
+ @ Test
63
+ public void testCreateBucket () {
64
+ awsStorage .createBucket ();
65
+ assertTrue (awsStorage .isBucketExists ());
66
+ }
67
+
68
+
69
+ @ After
70
+ public void tearDown () {
71
+ XmlTestHelper .deleteEverything ();
72
+ s3Client .close ();
73
+ }
74
+
75
+
76
+ }
0 commit comments