11package uk .nhs .adaptors .gp2gp .common .storage ;
22
3- import com . adobe . testing . s3mock .junit5 . S3MockExtension ;
3+ import io . findify . s3mock .S3Mock ;
44import org .junit .jupiter .api .BeforeAll ;
55import org .junit .jupiter .api .Test ;
6- import org .junit .jupiter .api .extension .RegisterExtension ;
6+ import software .amazon .awssdk .auth .credentials .AwsBasicCredentials ;
7+ import software .amazon .awssdk .auth .credentials .StaticCredentialsProvider ;
78import software .amazon .awssdk .core .ResponseInputStream ;
89import software .amazon .awssdk .core .sync .RequestBody ;
10+ import software .amazon .awssdk .regions .Region ;
911import software .amazon .awssdk .services .s3 .S3Client ;
12+ import software .amazon .awssdk .services .s3 .S3Configuration ;
1013import software .amazon .awssdk .services .s3 .model .CreateBucketRequest ;
1114import software .amazon .awssdk .services .s3 .model .GetObjectResponse ;
1215import software .amazon .awssdk .services .s3 .model .HeadObjectRequest ;
1619import java .io .ByteArrayInputStream ;
1720import java .io .IOException ;
1821import java .io .InputStream ;
22+ import java .net .URI ;
1923import java .nio .charset .StandardCharsets ;
2024import java .util .Optional ;
2125
@@ -30,9 +34,7 @@ class S3StorageConnectorTest {
3034 private static final String BUCKET_NAME = "s3bucket" ;
3135 private static final String FILE_NAME = "test-file.txt" ;
3236
33- @ RegisterExtension
34- static final S3MockExtension S3_MOCK = S3MockExtension .builder ().withSecureConnection (false ).build ();
35-
37+ private static S3Mock s3Mock ;
3638 private static S3StorageConnector s3StorageConnector ;
3739 private static StorageConnectorConfiguration config ;
3840
@@ -41,13 +43,22 @@ class S3StorageConnectorTest {
4143 @ BeforeAll
4244 static void setUp () {
4345
44- s3Client = S3_MOCK .createS3ClientV2 ();
46+ s3Mock = new S3Mock .Builder ().withPort (PORT ).withInMemoryBackend ().build ();
47+ s3Mock .start ();
48+ System .out .println ("S3Mock started at http://localhost:" + PORT );
49+
50+ s3Client = S3Client .builder ()
51+ .endpointOverride (URI .create ("http://localhost:" + PORT ))
52+ .credentialsProvider (StaticCredentialsProvider .create (
53+ AwsBasicCredentials .create ("accessKey" , "secretKey" )))
54+ .serviceConfiguration (S3Configuration .builder ().pathStyleAccessEnabled (true ).build ())
55+ .region (Region .EU_WEST_2 )
56+ .build ();
57+ s3Client .createBucket (CreateBucketRequest .builder ().bucket (BUCKET_NAME ).build ());
4558
4659 config = new StorageConnectorConfiguration ();
4760 config .setContainerName (BUCKET_NAME );
4861
49- s3Client .createBucket (CreateBucketRequest .builder ().bucket (BUCKET_NAME ).build ());
50-
5162 s3StorageConnector = new S3StorageConnector (s3Client , config );
5263 }
5364
0 commit comments