summaryrefslogtreecommitdiffstats
path: root/jdisc-cloud-aws
diff options
context:
space:
mode:
authorMorten Tokle <mortent@yahooinc.com>2023-11-16 21:32:58 +0100
committerMorten Tokle <mortent@yahooinc.com>2023-11-16 21:32:58 +0100
commit056efb8b64fe96ea74c1491cd57ac9870f906230 (patch)
tree83b9e04ded88a33fc547b3e335af9bad82da6d3e /jdisc-cloud-aws
parentff4546f393f5e2ece01be654610dd9b2170ef200 (diff)
Fix typo
Diffstat (limited to 'jdisc-cloud-aws')
-rw-r--r--jdisc-cloud-aws/src/main/java/com/yahoo/jdisc/cloud/aws/VespaAwsCredentialsProvider.java2
-rw-r--r--jdisc-cloud-aws/src/test/java/com/yahoo/jdisc/cloud/aws/VespaAwsCredentialsProviderTest.java38
2 files changed, 26 insertions, 14 deletions
diff --git a/jdisc-cloud-aws/src/main/java/com/yahoo/jdisc/cloud/aws/VespaAwsCredentialsProvider.java b/jdisc-cloud-aws/src/main/java/com/yahoo/jdisc/cloud/aws/VespaAwsCredentialsProvider.java
index 4bca505620b..6de8b5c0142 100644
--- a/jdisc-cloud-aws/src/main/java/com/yahoo/jdisc/cloud/aws/VespaAwsCredentialsProvider.java
+++ b/jdisc-cloud-aws/src/main/java/com/yahoo/jdisc/cloud/aws/VespaAwsCredentialsProvider.java
@@ -66,7 +66,7 @@ public class VespaAwsCredentialsProvider implements AWSCredentialsProvider {
Cursor cursor = slime.get();
String accessKey = cursor.field("awsAccessKey").asString();
String secretKey = cursor.field("awsSecretKey").asString();
- String sessionToken = cursor.field("sessionTToken").asString();
+ String sessionToken = cursor.field("sessionToken").asString();
Instant defaultExpiry = Instant.now().plus(Duration.ofHours(1));
Instant expiry;
try {
diff --git a/jdisc-cloud-aws/src/test/java/com/yahoo/jdisc/cloud/aws/VespaAwsCredentialsProviderTest.java b/jdisc-cloud-aws/src/test/java/com/yahoo/jdisc/cloud/aws/VespaAwsCredentialsProviderTest.java
index 2725d28651e..63cfd2f1eeb 100644
--- a/jdisc-cloud-aws/src/test/java/com/yahoo/jdisc/cloud/aws/VespaAwsCredentialsProviderTest.java
+++ b/jdisc-cloud-aws/src/test/java/com/yahoo/jdisc/cloud/aws/VespaAwsCredentialsProviderTest.java
@@ -7,48 +7,60 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.io.IOException;
-import java.nio.file.FileSystem;
-import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.time.Duration;
import java.time.Instant;
+
public class VespaAwsCredentialsProviderTest {
+ Path credentialsPath = TestFileSystem.create().getPath("/credentials.json");
+ ManualClock clock = new ManualClock(Instant.now());
@Test
void refreshes_credentials() throws IOException {
- Path credentialsPath = TestFileSystem.create().getPath("/credentials.json");
- ManualClock clock = new ManualClock(Instant.now());
-
Instant originalExpiry = clock.instant().plus(Duration.ofHours(12));
writeCredentials(credentialsPath, originalExpiry);
VespaAwsCredentialsProvider credentialsProvider = new VespaAwsCredentialsProvider(credentialsPath, clock);
-
AWSCredentials credentials = credentialsProvider.getCredentials();
- Assertions.assertEquals(originalExpiry.toString(), credentials.getAWSAccessKeyId());
+ assertExpiryEquals(originalExpiry, credentials);
Instant updatedExpiry = clock.instant().plus(Duration.ofHours(24));
writeCredentials(credentialsPath, updatedExpiry);
// File updated, but old credentials still valid
credentials = credentialsProvider.getCredentials();
- Assertions.assertEquals(originalExpiry.toString(), credentials.getAWSAccessKeyId());
+ assertExpiryEquals(originalExpiry, credentials);
// Credentials refreshes when it is < 30 minutes left until expiry
clock.advance(Duration.ofHours(11).plus(Duration.ofMinutes(31)));
credentials = credentialsProvider.getCredentials();
- Assertions.assertEquals(updatedExpiry.toString(), credentials.getAWSAccessKeyId());
+ assertExpiryEquals(updatedExpiry, credentials);
+ }
+ @Test
+ void deserializes_credentials() throws IOException {
+ Instant originalExpiry = clock.instant().plus(Duration.ofHours(12));
+ writeCredentials(credentialsPath, originalExpiry);
+ VespaAwsCredentialsProvider credentialsProvider = new VespaAwsCredentialsProvider(credentialsPath, clock);
+ AWSCredentials credentials = credentialsProvider.getCredentials();
+ assertExpiryEquals(originalExpiry, credentials);
+ Assertions.assertEquals("awsAccessKey", credentials.getAWSAccessKeyId());
+ Assertions.assertEquals("awsSecretKey", credentials.getAWSSecretKey());
+ Assertions.assertEquals("sessionToken", ((VespaAwsCredentialsProvider.Credentials)credentials).getSessionToken());
}
private void writeCredentials(Path path, Instant expiry) throws IOException {
String content = """
{
- "awsAccessKey": "%1$s",
- "awsSecretKey": "%1$s",
- "sessionToken": "%1$s",
- "expiry": "%1$s"
+ "awsAccessKey": "awsAccessKey",
+ "awsSecretKey": "awsSecretKey",
+ "sessionToken": "sessionToken",
+ "expiry": "%s"
}""".formatted(expiry.toString());
Files.writeString(path, content);
}
+
+ private void assertExpiryEquals(Instant expiry, AWSCredentials credentials) {
+ Assertions.assertEquals(expiry, ((VespaAwsCredentialsProvider.Credentials)credentials).expiry());
+ }
}