Skip to content

Commit

Permalink
Merge pull request #23052 from dreis2211
Browse files Browse the repository at this point in the history
* pr/23052:
  Simplify InputStream assertions

Closes gh-23052
  • Loading branch information
snicoll committed Aug 24, 2020
2 parents 5b1c484 + 33cd875 commit 1aa7010
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;

import org.springframework.util.StreamUtils;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;

Expand Down Expand Up @@ -77,8 +75,7 @@ void writeToAdaptsContent() throws Exception {
assertThat(fileEntry.getLongUserId()).isEqualTo(123);
assertThat(fileEntry.getLongGroupId()).isEqualTo(456);
assertThat(fileEntry.getSize()).isEqualTo(4);
String fileContent = StreamUtils.copyToString(tarStream, StandardCharsets.UTF_8);
assertThat(fileContent).isEqualTo("test");
assertThat(tarStream).hasContent("test");
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -564,8 +564,7 @@ void zip64JarCanBeRead() throws Exception {
for (int i = 0; i < entries.size(); i++) {
JarEntry entry = entries.get(i);
InputStream entryInput = zip64JarFile.getInputStream(entry);
String contents = StreamUtils.copyToString(entryInput, StandardCharsets.UTF_8);
assertThat(contents).isEqualTo("Entry " + (i + 1));
assertThat(entryInput).hasContent("Entry " + (i + 1));
}
}
}
Expand Down Expand Up @@ -594,8 +593,7 @@ void nestedZip64JarCanBeRead() throws Exception {
for (int i = 0; i < entries.size(); i++) {
JarEntry entry = entries.get(i);
InputStream entryInput = nestedZip64JarFile.getInputStream(entry);
String contents = StreamUtils.copyToString(entryInput, StandardCharsets.UTF_8);
assertThat(contents).isEqualTo("Entry " + (i + 1));
assertThat(entryInput).hasContent("Entry " + (i + 1));
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

package org.springframework.boot.loader.jar;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.InputStream;
Expand Down Expand Up @@ -76,23 +75,23 @@ void connectionToRootUsingRelativeUrl() throws Exception {
void connectionToEntryUsingAbsoluteUrl() throws Exception {
URL url = new URL("jar:" + this.rootJarFile.toURI().toURL() + "!/1.dat");
try (InputStream input = JarURLConnection.get(url, this.jarFile).getInputStream()) {
assertThat(input).hasSameContentAs(new ByteArrayInputStream(new byte[] { 1 }));
assertThat(input).hasBinaryContent(new byte[] { 1 });
}
}

@Test
void connectionToEntryUsingRelativeUrl() throws Exception {
URL url = new URL("jar:file:" + getRelativePath() + "!/1.dat");
try (InputStream input = JarURLConnection.get(url, this.jarFile).getInputStream()) {
assertThat(input).hasSameContentAs(new ByteArrayInputStream(new byte[] { 1 }));
assertThat(input).hasBinaryContent(new byte[] { 1 });
}
}

@Test
void connectionToEntryUsingAbsoluteUrlWithFileColonSlashSlashPrefix() throws Exception {
URL url = new URL("jar:" + this.rootJarFile.toURI().toURL() + "!/1.dat");
try (InputStream input = JarURLConnection.get(url, this.jarFile).getInputStream()) {
assertThat(input).hasSameContentAs(new ByteArrayInputStream(new byte[] { 1 }));
assertThat(input).hasBinaryContent(new byte[] { 1 });
}
}

Expand All @@ -101,7 +100,7 @@ void connectionToEntryUsingAbsoluteUrlForNestedEntry() throws Exception {
URL url = new URL("jar:" + this.rootJarFile.toURI().toURL() + "!/nested.jar!/3.dat");
JarURLConnection connection = JarURLConnection.get(url, this.jarFile);
try (InputStream input = connection.getInputStream()) {
assertThat(input).hasSameContentAs(new ByteArrayInputStream(new byte[] { 3 }));
assertThat(input).hasBinaryContent(new byte[] { 3 });
}
connection.getJarFile().close();
}
Expand All @@ -111,7 +110,7 @@ void connectionToEntryUsingRelativeUrlForNestedEntry() throws Exception {
URL url = new URL("jar:file:" + getRelativePath() + "!/nested.jar!/3.dat");
JarURLConnection connection = JarURLConnection.get(url, this.jarFile);
try (InputStream input = connection.getInputStream()) {
assertThat(input).hasSameContentAs(new ByteArrayInputStream(new byte[] { 3 }));
assertThat(input).hasBinaryContent(new byte[] { 3 });
}
connection.getJarFile().close();
}
Expand All @@ -121,7 +120,7 @@ void connectionToEntryUsingAbsoluteUrlForEntryFromNestedJarFile() throws Excepti
URL url = new URL("jar:" + this.rootJarFile.toURI().toURL() + "!/nested.jar!/3.dat");
try (JarFile nested = this.jarFile.getNestedJarFile(this.jarFile.getEntry("nested.jar"))) {
try (InputStream input = JarURLConnection.get(url, nested).getInputStream()) {
assertThat(input).hasSameContentAs(new ByteArrayInputStream(new byte[] { 3 }));
assertThat(input).hasBinaryContent(new byte[] { 3 });
}
}
}
Expand All @@ -131,7 +130,7 @@ void connectionToEntryUsingRelativeUrlForEntryFromNestedJarFile() throws Excepti
URL url = new URL("jar:file:" + getRelativePath() + "!/nested.jar!/3.dat");
try (JarFile nested = this.jarFile.getNestedJarFile(this.jarFile.getEntry("nested.jar"))) {
try (InputStream input = JarURLConnection.get(url, nested).getInputStream()) {
assertThat(input).hasSameContentAs(new ByteArrayInputStream(new byte[] { 3 }));
assertThat(input).hasBinaryContent(new byte[] { 3 });
}
}
}
Expand All @@ -142,7 +141,7 @@ void connectionToEntryInNestedJarFromUrlThatUsesExistingUrlAsContext() throws Ex
"/3.dat");
try (JarFile nested = this.jarFile.getNestedJarFile(this.jarFile.getEntry("nested.jar"))) {
try (InputStream input = JarURLConnection.get(url, nested).getInputStream()) {
assertThat(input).hasSameContentAs(new ByteArrayInputStream(new byte[] { 3 }));
assertThat(input).hasBinaryContent(new byte[] { 3 });
}
}
}
Expand All @@ -152,7 +151,7 @@ void connectionToEntryWithSpaceNestedEntry() throws Exception {
URL url = new URL("jar:file:" + getRelativePath() + "!/space nested.jar!/3.dat");
JarURLConnection connection = JarURLConnection.get(url, this.jarFile);
try (InputStream input = connection.getInputStream()) {
assertThat(input).hasSameContentAs(new ByteArrayInputStream(new byte[] { 3 }));
assertThat(input).hasBinaryContent(new byte[] { 3 });
}
connection.getJarFile().close();
}
Expand All @@ -162,7 +161,7 @@ void connectionToEntryWithEncodedSpaceNestedEntry() throws Exception {
URL url = new URL("jar:file:" + getRelativePath() + "!/space%20nested.jar!/3.dat");
JarURLConnection connection = JarURLConnection.get(url, this.jarFile);
try (InputStream input = connection.getInputStream()) {
assertThat(input).hasSameContentAs(new ByteArrayInputStream(new byte[] { 3 }));
assertThat(input).hasBinaryContent(new byte[] { 3 });
}
connection.getJarFile().close();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -17,7 +17,6 @@
package org.springframework.boot.web.servlet.context;

import java.net.URI;
import java.nio.charset.StandardCharsets;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
Expand All @@ -38,7 +37,6 @@
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.stereotype.Controller;
import org.springframework.util.StreamUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.DispatcherServlet;
Expand Down Expand Up @@ -97,8 +95,7 @@ private void doTest(AnnotationConfigServletWebServerApplicationContext context,
ClientHttpRequest request = clientHttpRequestFactory.createRequest(
new URI("http://localhost:" + context.getWebServer().getPort() + resourcePath), HttpMethod.GET);
try (ClientHttpResponse response = request.execute()) {
String actual = StreamUtils.copyToString(response.getBody(), StandardCharsets.UTF_8);
assertThat(actual).isEqualTo("Hello World");
assertThat(response.getBody()).hasContent("Hello World");
}
}

Expand Down

0 comments on commit 1aa7010

Please sign in to comment.