Skip to content

Commit

Permalink
S2A utility returns S2AConfig.
Browse files Browse the repository at this point in the history
  • Loading branch information
rmehta19 committed Nov 7, 2024
1 parent 7c5ed2f commit a66aecf
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 20 deletions.
13 changes: 4 additions & 9 deletions oauth2_http/java/com/google/auth/oauth2/S2A.java
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
* <p>This is an experimental utility.
*/
@ThreadSafe
public final class S2A {
public class S2A {
static final String S2A_PLAINTEXT_ADDRESS_JSON_KEY = "plaintext_address";
static final String S2A_MTLS_ADDRESS_JSON_KEY = "mtls_address";
static final String S2A_CONFIG_ENDPOINT_POSTFIX =
Expand All @@ -81,14 +81,9 @@ public final class S2A {
this.config = getS2AConfigFromMDS();
}

/** @return the mTLS S2A Address from the mTLS config. */
public String getMtlsS2AAddress() {
return config.getMtlsAddress();
}

/** @return the plaintext S2A Address from the mTLS config. */
public String getPlaintextS2AAddress() {
return config.getPlaintextAddress();
/** @return the cached S2AConfig. */
public S2AConfig getConfigFromMDS() {
return config;
}

public static Builder newBuilder() {
Expand Down
2 changes: 1 addition & 1 deletion oauth2_http/java/com/google/auth/oauth2/S2AConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import com.google.errorprone.annotations.CanIgnoreReturnValue;

/** Holds an mTLS configuration (consists of address of S2A) retrieved from the Metadata Server. */
final class S2AConfig {
public class S2AConfig {
// plaintextAddress is the plaintext address to reach the S2A.
private final String plaintextAddress;

Expand Down
25 changes: 15 additions & 10 deletions oauth2_http/javatests/com/google/auth/oauth2/S2ATest.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,9 @@ public void getS2AAddress_validAddress() {
transportFactory.transport.setRequestStatusCode(HttpStatusCodes.STATUS_CODE_OK);

S2A s2aUtils = S2A.newBuilder().setHttpTransportFactory(transportFactory).build();
String plaintextS2AAddress = s2aUtils.getPlaintextS2AAddress();
String mtlsS2AAddress = s2aUtils.getMtlsS2AAddress();
S2AConfig config = s2aUtils.getConfigFromMDS();
String plaintextS2AAddress = config.getPlaintextAddress();
String mtlsS2AAddress = config.getMtlsAddress();
assertEquals(S2A_PLAINTEXT_ADDRESS, plaintextS2AAddress);
assertEquals(S2A_MTLS_ADDRESS, mtlsS2AAddress);
}
Expand All @@ -79,8 +80,9 @@ public void getS2AAddress_queryEndpointResponseErrorCode_emptyAddress() {
HttpStatusCodes.STATUS_CODE_SERVICE_UNAVAILABLE);

S2A s2aUtils = S2A.newBuilder().setHttpTransportFactory(transportFactory).build();
String plaintextS2AAddress = s2aUtils.getPlaintextS2AAddress();
String mtlsS2AAddress = s2aUtils.getMtlsS2AAddress();
S2AConfig config = s2aUtils.getConfigFromMDS();
String plaintextS2AAddress = config.getPlaintextAddress();
String mtlsS2AAddress = config.getMtlsAddress();
assertTrue(plaintextS2AAddress.isEmpty());
assertTrue(mtlsS2AAddress.isEmpty());
}
Expand All @@ -98,8 +100,9 @@ public void getS2AAddress_queryEndpointResponseEmpty_emptyAddress() {
transportFactory.transport.setEmptyContent(true);

S2A s2aUtils = S2A.newBuilder().setHttpTransportFactory(transportFactory).build();
String plaintextS2AAddress = s2aUtils.getPlaintextS2AAddress();
String mtlsS2AAddress = s2aUtils.getMtlsS2AAddress();
S2AConfig config = s2aUtils.getConfigFromMDS();
String plaintextS2AAddress = config.getPlaintextAddress();
String mtlsS2AAddress = config.getMtlsAddress();
assertTrue(plaintextS2AAddress.isEmpty());
assertTrue(mtlsS2AAddress.isEmpty());
}
Expand All @@ -116,8 +119,9 @@ public void getS2AAddress_queryEndpointResponseInvalidPlaintextJsonKey_plaintext
transportFactory.transport.setRequestStatusCode(HttpStatusCodes.STATUS_CODE_OK);

S2A s2aUtils = S2A.newBuilder().setHttpTransportFactory(transportFactory).build();
String plaintextS2AAddress = s2aUtils.getPlaintextS2AAddress();
String mtlsS2AAddress = s2aUtils.getMtlsS2AAddress();
S2AConfig config = s2aUtils.getConfigFromMDS();
String plaintextS2AAddress = config.getPlaintextAddress();
String mtlsS2AAddress = config.getMtlsAddress();
assertTrue(plaintextS2AAddress.isEmpty());
assertEquals(S2A_MTLS_ADDRESS, mtlsS2AAddress);
}
Expand All @@ -134,8 +138,9 @@ public void getS2AAddress_queryEndpointResponseInvalidMtlsJsonKey_mtlsEmptyAddre
transportFactory.transport.setRequestStatusCode(HttpStatusCodes.STATUS_CODE_OK);

S2A s2aUtils = S2A.newBuilder().setHttpTransportFactory(transportFactory).build();
String plaintextS2AAddress = s2aUtils.getPlaintextS2AAddress();
String mtlsS2AAddress = s2aUtils.getMtlsS2AAddress();
S2AConfig config = s2aUtils.getConfigFromMDS();
String plaintextS2AAddress = config.getPlaintextAddress();
String mtlsS2AAddress = config.getMtlsAddress();
assertEquals(S2A_PLAINTEXT_ADDRESS, plaintextS2AAddress);
assertTrue(mtlsS2AAddress.isEmpty());
}
Expand Down

0 comments on commit a66aecf

Please sign in to comment.