Skip to content

Commit c55bd2c

Browse files
committed
fix this flakey test
1 parent 200d5b7 commit c55bd2c

File tree

3 files changed

+25
-4
lines changed

3 files changed

+25
-4
lines changed

unirest-bdd-tests/src/test/java/BehaviorTests/HeaderAsserts.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import java.util.Collections;
3737
import java.util.List;
3838
import java.util.Map;
39+
import java.util.function.Consumer;
3940

4041

4142
import static org.assertj.core.api.Assertions.assertThat;
@@ -60,13 +61,17 @@ public void assertNoHeader(String s) {
6061
assertFalse(headers.containsKey(s), "Should Have No Header " + s);
6162
}
6263

63-
public HeaderAsserts assertHeader(String key, String... value) {
64+
public HeaderAsserts assertContainsHeader(String key){
6465
TestUtil.assertMultiMap(headers).containsKeys(key);
66+
return this;
67+
}
68+
69+
public HeaderAsserts assertHeader(String key, String... value) {
70+
assertContainsHeader(key);
6571
assertThat(headers.get(key))
6672
.extracting(HeaderValue::getValue)
6773
.contains(value);
6874
return this;
69-
7075
}
7176

7277
public HeaderAsserts assertBasicAuth(String username, String password) {

unirest-bdd-tests/src/test/java/BehaviorTests/Http2Test.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ void sendsHeadersForHttp2() {
5656
.getBody()
5757
.assertHeader("Connection", "Upgrade, HTTP2-Settings")
5858
.assertHeader("Upgrade", "h2c")
59-
.assertHeader("HTTP2-Settings", "AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA");
59+
.assertHeader("HTTP2-Settings", TestUtil.Matchers.isBase64Encoded());
6060
}
6161

6262
@Test
@@ -81,7 +81,7 @@ void overrideConfigPerRequest() {
8181
.getBody()
8282
.assertHeader("Connection", "Upgrade, HTTP2-Settings")
8383
.assertHeader("Upgrade", "h2c")
84-
.assertHeader("HTTP2-Settings", "AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA");
84+
.assertHeader("HTTP2-Settings", TestUtil.Matchers.isBase64Encoded());
8585
}
8686

8787
@Test

unirest-bdd-tests/src/test/java/BehaviorTests/TestUtil.java

+16
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,12 @@
4343
import java.net.http.HttpClient;
4444
import java.net.http.HttpResponse;
4545
import java.security.KeyStore;
46+
import java.util.Base64;
4647
import java.util.HashMap;
4748
import java.util.Map;
49+
import java.util.function.Consumer;
4850

51+
import static org.assertj.core.api.Fail.fail;
4952
import static org.mockito.ArgumentMatchers.any;
5053
import static org.mockito.Mockito.mock;
5154
import static org.mockito.Mockito.when;
@@ -157,4 +160,17 @@ public PasswordAuthentication requestPasswordAuthenticationInstance(String host,
157160
public static <K, V> MultimapAssert<K, V> assertMultiMap(final Multimap<K, V> actual) {
158161
return org.assertj.guava.api.Assertions.assertThat(actual);
159162
}
163+
164+
public static final class Matchers {
165+
public static Consumer<HeaderAsserts.HeaderValue> isBase64Encoded() {
166+
return h -> {
167+
var value = h.getValue();
168+
try {
169+
Base64.getDecoder().decode(value);
170+
}catch (IllegalArgumentException e){
171+
fail("Header was not base64 encoded: " + value);
172+
}
173+
};
174+
}
175+
}
160176
}

0 commit comments

Comments
 (0)