Skip to content

Commit c4f912a

Browse files
committed
Switch app identifier to option
1 parent a8181e4 commit c4f912a

File tree

2 files changed

+27
-3
lines changed

2 files changed

+27
-3
lines changed

cloudplatform/connectivity-ztis/src/main/java/com/sap/cloud/sdk/cloudplatform/connectivity/ZeroTrustIdentityService.java

+10-2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import io.spiffe.workloadapi.X509Source;
3333
import io.vavr.Lazy;
3434
import io.vavr.NotImplementedError;
35+
import io.vavr.control.Option;
3536
import lombok.AccessLevel;
3637
import lombok.Getter;
3738
import lombok.RequiredArgsConstructor;
@@ -149,9 +150,16 @@ public String getSpiffeId()
149150
* @return The app identifier.
150151
*/
151152
@Nonnull
152-
public String getAppIdentifier()
153+
public Option<String> getAppIdentifier()
153154
{
154-
return credentials.get().getMapView("parameters").getString("app-identifier");
155+
final TypedMapView mapView = credentials.get();
156+
return Option
157+
.some(mapView)
158+
.filter(m -> m.containsKey("parameters"))
159+
.map(m -> m.getMapView("parameters"))
160+
.filter(m -> m.containsKey("app-identifier"))
161+
.map(m -> m.getString("app-identifier"))
162+
.filter(s -> !s.isBlank());
155163
}
156164

157165
/**

cloudplatform/connectivity-ztis/src/test/java/com/sap/cloud/sdk/cloudplatform/connectivity/ZeroTrustIdentityServiceTest.java

+17-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.junit.jupiter.api.BeforeEach;
2121
import org.junit.jupiter.api.Test;
2222

23+
import com.sap.cloud.environment.servicebinding.api.DefaultServiceBinding;
2324
import com.sap.cloud.environment.servicebinding.api.DefaultServiceBindingBuilder;
2425
import com.sap.cloud.environment.servicebinding.api.ServiceBinding;
2526
import com.sap.cloud.environment.servicebinding.api.exception.ServiceBindingAccessException;
@@ -91,7 +92,22 @@ void testSpiffeId()
9192
@Test
9293
void testAppIdentifier()
9394
{
94-
assertThat(sut.getAppIdentifier()).isEqualTo("test-app");
95+
assertThat(sut.getAppIdentifier()).contains("test-app");
96+
97+
final DefaultServiceBinding emptyBinding =
98+
new DefaultServiceBindingBuilder().withServiceIdentifier(ZTIS_IDENTIFIER).build();
99+
100+
sut = new ZeroTrustIdentityService(emptyBinding);
101+
assertThat(sut.getAppIdentifier()).isEmpty();
102+
103+
final DefaultServiceBinding emptyValue =
104+
new DefaultServiceBindingBuilder()
105+
.withServiceIdentifier(ZTIS_IDENTIFIER)
106+
.withCredentials(Map.of("parameters", Map.of("app-identifier", "")))
107+
.build();
108+
109+
sut = new ZeroTrustIdentityService(emptyValue);
110+
assertThat(sut.getAppIdentifier()).isEmpty();
95111
}
96112

97113
@Test

0 commit comments

Comments
 (0)