Skip to content

Commit

Permalink
Fix format of header list in OAuth2ServiceException message
Browse files Browse the repository at this point in the history
  • Loading branch information
finkmanAtSap committed Aug 11, 2023
1 parent c6aa58d commit d5d5890
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import java.io.Serial;
import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
Expand Down Expand Up @@ -120,16 +121,11 @@ public Builder withResponseBody(String responseBody) {
}

public Builder withHeaders(String... headers) {
StringBuilder sb = new StringBuilder();
sb.append("[");
for (String header : headers) {
if (header != null) {
this.headers.add(header);
}
sb.append(header);
}
sb.append("]");
this.headersString = sb.toString();
List<String> headerList = Arrays.stream(headers).filter(Objects::nonNull).toList();

this.headers.addAll(headerList);
this.headersString = headerList.stream().collect(Collectors.joining(", ", "[", "]"));

return this;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.sap.cloud.security.xsuaa.client;

import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

import java.util.List;

import static org.junit.jupiter.api.Assertions.*;

class OAuth2ServiceExceptionTest {
public static final String SERVICE_EXCEPTION = "Service Exception";
private static List<String> headers;
private static OAuth2ServiceException builtWithHeaders;
private static OAuth2ServiceException createdWithHeaders;

@BeforeAll
static void setup() {
headers = List.of("header1", "header2");
builtWithHeaders = OAuth2ServiceException.builder(SERVICE_EXCEPTION).withHeaders(headers.toArray(String[]::new)).build();
createdWithHeaders = new OAuth2ServiceException(SERVICE_EXCEPTION, 400, headers);
}

@Test
void testWithHeaders() {
assertIterableEquals(headers, builtWithHeaders.getHeaders());
assertTrue(builtWithHeaders.getMessage().contains(SERVICE_EXCEPTION));
assertTrue(builtWithHeaders.getMessage().contains("[header1, header2]"));

assertIterableEquals(headers, createdWithHeaders.getHeaders());
assertTrue(createdWithHeaders.getMessage().contains(SERVICE_EXCEPTION));
assertFalse(createdWithHeaders.getMessage().contains("[header1, header2]"));
}
}

0 comments on commit d5d5890

Please sign in to comment.