Skip to content

Commit d3fcdd4

Browse files
committed
[s3] Add tests for initBucket + listBucket for s3 and minio
1 parent 9a7655d commit d3fcdd4

File tree

4 files changed

+58
-3
lines changed

4 files changed

+58
-3
lines changed

aws-cloudfront/src/main/scala/busymachines/pureharm/aws/cloudfront/CloudfrontConfig.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ object CloudfrontConfig extends ConfigLoader[CloudfrontConfig] {
2121
override val distributionDomain: CloudfrontDistributionDomain,
2222
override val keyPairID: CloudfrontKeyPairID,
2323
override val urlExpirationTime: CloudfrontURLExpiration,
24-
val privateKeyFilePath: CloudfrontPrivateKeyFilePath,
24+
privateKeyFilePath: CloudfrontPrivateKeyFilePath,
2525
) extends CloudfrontConfig
2626

2727
final case class WithPrivateKey(
@@ -37,7 +37,7 @@ object CloudfrontConfig extends ConfigLoader[CloudfrontConfig] {
3737
ConfigReader[String].emap(s =>
3838
CloudfrontPrivateKey(s).leftMap(an =>
3939
CannotConvert(
40-
value = s"CloudfrontPrivateKeyValue — truncated(10): ${s.take(20)}",
40+
value = s"CloudfrontPrivateKeyValue — truncated(20): ${s.take(20)}",
4141
toType = "CloudfrontPrivateKey",
4242
because = an.toString,
4343
)
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
test-live.pureharm.aws.s3 {
2+
region = "eu-central-1"
3+
region = ${?LIVE_TEST_PUREHARM_AWS_S3_REGION}
4+
5+
access-key-id = "access-key-not-committing-it-to-github-lol"
6+
access-key-id = ${?LIVE_TEST_PUREHARM_AWS_S3_ACCESS_KEY_ID}
7+
8+
secret-access-key = "secret-access-key-not-committing-it-to-github-lol"
9+
secret-access-key = ${?LIVE_TEST_PUREHARM_AWS_SECRET_ACCESS_KEY}
10+
11+
bucket = "pureharm_bucket"
12+
bucket = ${?LIVE_TEST_PUREHARM_AWS_S3_BUCKET}
13+
14+
api-call-attempt-timeout = 2 seconds
15+
api-call-attempt-timeout = ${?LIVE_TEST_PUREHARM_AWS_S3_API_CALL_ATTEMPT_TIMEOUT}
16+
17+
api-call-timeout = 10 seconds
18+
api-call-timeout = ${?LIVE_TEST_PUREHARM_AWS_API_CALL_TIMEOUT}
19+
}
20+
21+
test-live.pureharm.aws.s3.minio {
22+
region = "eu-central-1"
23+
access-key-id = "AKIAIOSFODOO3EXAMPLE" # taken from dockerfile, it's ok, it runs locally
24+
secret-access-key = "wJalrXUtnFEMI/K7MDENG/bPxRACABEXAMPLEKEY" # taken from dockerfile, it's ok, it runs locally
25+
bucket = "minio-bucket"
26+
api-call-attempt-timeout = 2 seconds
27+
api-call-timeout = 10 seconds
28+
endpoint-override = "http://localhost:31312"
29+
}

aws-s3/src/it/scala/busymachines/pureharm/aws/s3/S3LiveTest.scala

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,19 @@ final class S3LiveTest extends PureharmTestWithResource {
5555
"GOOGLE_MURRAY_BOOKCHIN".getBytes(java.nio.charset.StandardCharsets.UTF_8)
5656
)
5757

58+
test("s3 init bucket + list bucket") { case (config, client) =>
59+
val newBucket = S3Bucket("testinitbucket")
60+
for {
61+
buckets <- client.listBuckets
62+
_ = assert(buckets.contains(config.bucket))
63+
att1: Attempt[Unit] <- client.initBucket(config.bucket).attempt
64+
_ = assertSuccess(att1)(())
65+
_ <- Resource.make(client.initBucket(newBucket))(_ => client.deleteBucket(newBucket).attempt.void).use { _ =>
66+
client.listBuckets.map(bs => IO(assert(bs.contains(newBucket))))
67+
}
68+
} yield succeed
69+
}
70+
5871
test("s3 put + get + delete") { case (config, client) =>
5972
for {
6073
_ <- l.info(s"acquired client resource: ${client.toString}")

aws-s3/src/it/scala/busymachines/pureharm/aws/s3/S3MinIOTest.scala

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ final class S3MinIOTest extends PureharmTestWithResource {
4444
s3Client <- AmazonS3Client.resource[IO](config)
4545
_ <- Resource.liftF(l.info(s"creating minio bucket"))
4646
_ <- Resource.liftF(s3Client.deleteBucket(config.bucket).attempt.void) // just in case
47-
_ <- Resource.make(s3Client.createBucket(config.bucket))(_ => s3Client.deleteBucket(config.bucket))
47+
_ <- Resource.make(s3Client.initBucket(config.bucket))(_ => s3Client.deleteBucket(config.bucket))
4848
_ <- Resource.liftF(l.info(s"created minio bucket"))
4949
} yield (config, s3Client)
5050

@@ -58,6 +58,19 @@ final class S3MinIOTest extends PureharmTestWithResource {
5858
"GOOGLE_MURRAY_BOOKCHIN".getBytes(java.nio.charset.StandardCharsets.UTF_8)
5959
)
6060

61+
test("minio init bucket + list bucket") { case (config, client) =>
62+
val newBucket = S3Bucket("testinitbucket")
63+
for {
64+
buckets <- client.listBuckets
65+
_ = assert(buckets.contains(config.bucket))
66+
att1: Attempt[Unit] <- client.initBucket(config.bucket).attempt
67+
_ = assertSuccess(att1)(())
68+
_ <- Resource.make(client.initBucket(newBucket))(_ => client.deleteBucket(newBucket).attempt.void).use { _ =>
69+
client.listBuckets.map(bs => IO(assert(bs.contains(newBucket))))
70+
}
71+
} yield succeed
72+
}
73+
6174
test("minio put + get + delete") { case (config, client) =>
6275
for {
6376
_ <- l.info(s"acquired client resource: ${client.toString}")

0 commit comments

Comments
 (0)