leekeiabstraction commented on code in PR #197:
URL: 
https://github.com/apache/flink-connector-aws/pull/197#discussion_r2056055824


##########
flink-connector-aws-base/src/test/java/org/apache/flink/connector/aws/util/AWSGeneralUtilTest.java:
##########
@@ -952,4 +958,41 @@ void 
testNewInstanceOfDefaultCredentialsProviderCreatedForEachClient() {
 
         return builder;
     }
+
+  @Test
+  void testGetCredentialsProviderReturnsSsoProviderForSsoProfile() throws 
IOException {
+    String profileName = "my-sso-profile";
+    String ssoStartUrl = "https://my-dummy-sso-portal.awsapps.com/start";;
+    String ssoRegion = "us-east-1";
+    String ssoAccountId = "123456789012";
+    String ssoRoleName = "MyTestRole";
+
+    String configFileContent =
+      "[profile " + profileName + "]\n"
+        + "sso_start_url = " + ssoStartUrl + "\n"
+        + "sso_region = " + ssoRegion + "\n"
+        + "sso_account_id = " + ssoAccountId + "\n"
+        + "sso_role_name = " + ssoRoleName + "\n"
+        + "region = " + ssoRegion + "\n";
+
+    ProfileFile profileFile = ProfileFile.builder()
+      .content(new StringInputStream(configFileContent))
+      .type(ProfileFile.Type.CONFIGURATION)
+      .build();
+
+    Profile profile = profileFile.profile(profileName).orElseThrow();
+
+    ProfileProviderCredentialsContext context = 
ProfileProviderCredentialsContext.builder()
+      .profile(profile)
+      .profileFile(profileFile)
+      .build();
+
+    SsoProfileCredentialsProviderFactory factory = new 
SsoProfileCredentialsProviderFactory();
+
+    assertThatThrownBy(() -> factory.create(context))
+      .isInstanceOf(java.io.UncheckedIOException.class)
+      .hasRootCauseInstanceOf(java.nio.file.NoSuchFileException.class)
+      .hasMessageContaining(".aws/sso/cache/");
+  }

Review Comment:
   Can you elaborate why we're asserting that an exception is thrown here? What 
would the full exception message look like?



##########
flink-connector-aws-base/src/test/java/org/apache/flink/connector/aws/util/AWSGeneralUtilTest.java:
##########
@@ -952,4 +958,41 @@ void 
testNewInstanceOfDefaultCredentialsProviderCreatedForEachClient() {
 
         return builder;
     }
+
+  @Test
+  void testGetCredentialsProviderReturnsSsoProviderForSsoProfile() throws 
IOException {

Review Comment:
   The test case name indicates that we're expecting SsoProvider to be returned 
but actual assertion is on `UncheckedIOException` being thrown. Can you 
elaborate?



##########
flink-connector-aws-base/src/test/java/org/apache/flink/connector/aws/util/AWSGeneralUtilTest.java:
##########
@@ -952,4 +958,41 @@ void 
testNewInstanceOfDefaultCredentialsProviderCreatedForEachClient() {
 
         return builder;
     }
+
+  @Test
+  void testGetCredentialsProviderReturnsSsoProviderForSsoProfile() throws 
IOException {
+    String profileName = "my-sso-profile";
+    String ssoStartUrl = "https://my-dummy-sso-portal.awsapps.com/start";;
+    String ssoRegion = "us-east-1";
+    String ssoAccountId = "123456789012";
+    String ssoRoleName = "MyTestRole";
+
+    String configFileContent =
+      "[profile " + profileName + "]\n"
+        + "sso_start_url = " + ssoStartUrl + "\n"
+        + "sso_region = " + ssoRegion + "\n"
+        + "sso_account_id = " + ssoAccountId + "\n"
+        + "sso_role_name = " + ssoRoleName + "\n"
+        + "region = " + ssoRegion + "\n";
+
+    ProfileFile profileFile = ProfileFile.builder()
+      .content(new StringInputStream(configFileContent))
+      .type(ProfileFile.Type.CONFIGURATION)
+      .build();
+
+    Profile profile = profileFile.profile(profileName).orElseThrow();
+
+    ProfileProviderCredentialsContext context = 
ProfileProviderCredentialsContext.builder()
+      .profile(profile)
+      .profileFile(profileFile)
+      .build();
+
+    SsoProfileCredentialsProviderFactory factory = new 
SsoProfileCredentialsProviderFactory();
+
+    assertThatThrownBy(() -> factory.create(context))
+      .isInstanceOf(java.io.UncheckedIOException.class)
+      .hasRootCauseInstanceOf(java.nio.file.NoSuchFileException.class)
+      .hasMessageContaining(".aws/sso/cache/");
+  }

Review Comment:
   Can you elaborate why we're asserting that an exception is thrown here? What 
would the full exception message look like?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to