From 29cf648c989d4a4a8ccec1c4ab689bdabf82f2ed Mon Sep 17 00:00:00 2001 From: David Fuelling <323659+sappenin@users.noreply.github.com> Date: Mon, 17 Aug 2020 10:58:40 -0600 Subject: [PATCH] Df/1.3.1 (#468) * Fix flaky unit test. (#465) * Override `toString` in various places for better logging (#467) * Expose `outgoingHttpUrl` for better logging. * Fix Java14 build Signed-off-by: David Fuelling --- .circleci/config.yml | 4 +- btp-core/pom.xml | 2 +- codecs-parent/codecs-btp/pom.xml | 2 +- codecs-parent/codecs-framework/pom.xml | 2 +- codecs-parent/codecs-ildcp/pom.xml | 2 +- codecs-parent/codecs-ilp/pom.xml | 2 +- codecs-parent/codecs-stream/pom.xml | 2 +- codecs-parent/pom.xml | 2 +- examples-parent/ilp-emitters/pom.xml | 2 +- examples-parent/pom.xml | 2 +- examples-parent/send-money/pom.xml | 2 +- ildcp-core/pom.xml | 2 +- ilp-core/pom.xml | 2 +- jackson-datatypes/pom.xml | 2 +- link-parent/link-core/pom.xml | 2 +- .../org/interledger/link/AbstractLink.java | 10 ++++ .../org/interledger/link/LinkFactory.java | 4 +- .../org/interledger/link/LinkSettings.java | 8 +++ .../org/interledger/link/LoopbackLink.java | 10 ++++ .../interledger/link/PingLoopbackLink.java | 10 ++++ link-parent/link-ilp-over-http/pom.xml | 2 +- .../link/http/IlpOverHttpLink.java | 40 +++++++++++---- .../link/http/IlpOverHttpLinkFactory.java | 4 -- .../link/http/IlpOverHttpLinkTest.java | 50 ++++++++++--------- .../link-stateless-spsp-receiver/pom.xml | 2 +- .../link/spsp/StatelessSpspReceiverLink.java | 12 +++++ link-parent/pom.xml | 2 +- pom.xml | 2 +- quilt-bom/pom.xml | 2 +- spsp-parent/pom.xml | 2 +- spsp-parent/spsp-client/pom.xml | 2 +- spsp-parent/spsp-core/pom.xml | 2 +- stream-parent/pom.xml | 2 +- stream-parent/stream-client/pom.xml | 2 +- .../sender/SendMoneyAggregatorTest.java | 2 +- stream-parent/stream-core/pom.xml | 2 +- stream-parent/stream-receiver/pom.xml | 2 +- 37 files changed, 137 insertions(+), 69 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 22ee00c4..aa197f58 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -32,7 +32,7 @@ _run: JDK14_URL=$(curl -s https://jdk.java.net/14/ | egrep -o "https://download.java.net/java/GA/jdk14.*?/.*?linux-x64.*?tar.gz" | head -1) wget $JDK14_URL -O /tmp/openjdk14.tar.gz tar -xvzf /tmp/openjdk14.tar.gz - sudo mv jdk-14.0.1/ /usr/lib/jvm/ + sudo mv jdk-14.0.2/ /usr/lib/jvm/ jobs: build: @@ -272,7 +272,7 @@ jobs: environment: # Customize the JVM maximum heap limit MAVEN_OPTS: -Xmx3200m - JAVA_HOME: /usr/lib/jvm/jdk-14.0.1/ + JAVA_HOME: /usr/lib/jvm/jdk-14.0.2/ steps: - run: diff --git a/btp-core/pom.xml b/btp-core/pom.xml index 6333ceef..0300387f 100644 --- a/btp-core/pom.xml +++ b/btp-core/pom.xml @@ -3,7 +3,7 @@ quilt-parent org.interledger - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/codecs-parent/codecs-btp/pom.xml b/codecs-parent/codecs-btp/pom.xml index 16873175..4f0408bd 100644 --- a/codecs-parent/codecs-btp/pom.xml +++ b/codecs-parent/codecs-btp/pom.xml @@ -5,7 +5,7 @@ org.interledger codecs-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/codecs-parent/codecs-framework/pom.xml b/codecs-parent/codecs-framework/pom.xml index af78b09b..2ff5525b 100644 --- a/codecs-parent/codecs-framework/pom.xml +++ b/codecs-parent/codecs-framework/pom.xml @@ -5,7 +5,7 @@ org.interledger codecs-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/codecs-parent/codecs-ildcp/pom.xml b/codecs-parent/codecs-ildcp/pom.xml index ca4c59ae..732a0c27 100644 --- a/codecs-parent/codecs-ildcp/pom.xml +++ b/codecs-parent/codecs-ildcp/pom.xml @@ -5,7 +5,7 @@ org.interledger codecs-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/codecs-parent/codecs-ilp/pom.xml b/codecs-parent/codecs-ilp/pom.xml index dc27033a..d484dec9 100644 --- a/codecs-parent/codecs-ilp/pom.xml +++ b/codecs-parent/codecs-ilp/pom.xml @@ -5,7 +5,7 @@ org.interledger codecs-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/codecs-parent/codecs-stream/pom.xml b/codecs-parent/codecs-stream/pom.xml index 1f08fec6..64a77713 100644 --- a/codecs-parent/codecs-stream/pom.xml +++ b/codecs-parent/codecs-stream/pom.xml @@ -5,7 +5,7 @@ org.interledger codecs-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/codecs-parent/pom.xml b/codecs-parent/pom.xml index d2d41584..70574234 100644 --- a/codecs-parent/pom.xml +++ b/codecs-parent/pom.xml @@ -5,7 +5,7 @@ org.interledger quilt-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/examples-parent/ilp-emitters/pom.xml b/examples-parent/ilp-emitters/pom.xml index 13380f08..f690ca79 100644 --- a/examples-parent/ilp-emitters/pom.xml +++ b/examples-parent/ilp-emitters/pom.xml @@ -5,7 +5,7 @@ org.interledger examples-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/examples-parent/pom.xml b/examples-parent/pom.xml index 7161fdf7..1e98bd7e 100644 --- a/examples-parent/pom.xml +++ b/examples-parent/pom.xml @@ -5,7 +5,7 @@ org.interledger quilt-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/examples-parent/send-money/pom.xml b/examples-parent/send-money/pom.xml index 961e3e73..70e149c4 100644 --- a/examples-parent/send-money/pom.xml +++ b/examples-parent/send-money/pom.xml @@ -5,7 +5,7 @@ org.interledger examples-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/ildcp-core/pom.xml b/ildcp-core/pom.xml index e67c7d63..9ae32bab 100644 --- a/ildcp-core/pom.xml +++ b/ildcp-core/pom.xml @@ -3,7 +3,7 @@ quilt-parent org.interledger - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/ilp-core/pom.xml b/ilp-core/pom.xml index abba7c18..4dbadc82 100644 --- a/ilp-core/pom.xml +++ b/ilp-core/pom.xml @@ -6,7 +6,7 @@ org.interledger quilt-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/jackson-datatypes/pom.xml b/jackson-datatypes/pom.xml index 75325f66..19d53570 100644 --- a/jackson-datatypes/pom.xml +++ b/jackson-datatypes/pom.xml @@ -5,7 +5,7 @@ org.interledger quilt-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/link-parent/link-core/pom.xml b/link-parent/link-core/pom.xml index 06d1bd24..a145549f 100644 --- a/link-parent/link-core/pom.xml +++ b/link-parent/link-core/pom.xml @@ -5,7 +5,7 @@ org.interledger link-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/link-parent/link-core/src/main/java/org/interledger/link/AbstractLink.java b/link-parent/link-core/src/main/java/org/interledger/link/AbstractLink.java index ed2e6f98..7742b45b 100644 --- a/link-parent/link-core/src/main/java/org/interledger/link/AbstractLink.java +++ b/link-parent/link-core/src/main/java/org/interledger/link/AbstractLink.java @@ -8,6 +8,7 @@ import java.util.Objects; import java.util.Optional; +import java.util.StringJoiner; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Supplier; @@ -98,4 +99,13 @@ public void unregisterLinkHandler() { public Optional getLinkHandler() { return Optional.ofNullable(linkHandlerAtomicReference.get()); } + + @Override + public String toString() { + return new StringJoiner(", ", AbstractLink.class.getSimpleName() + "[", "]") + .add("linkId=" + linkId) + .add("linkSettings=" + linkSettings) + .add("operatorAddressSupplier=" + operatorAddressSupplier) + .toString(); + } } diff --git a/link-parent/link-core/src/main/java/org/interledger/link/LinkFactory.java b/link-parent/link-core/src/main/java/org/interledger/link/LinkFactory.java index 4e545f8b..1de4e9ea 100644 --- a/link-parent/link-core/src/main/java/org/interledger/link/LinkFactory.java +++ b/link-parent/link-core/src/main/java/org/interledger/link/LinkFactory.java @@ -25,7 +25,6 @@ public interface LinkFactory { /** * Construct a new instance of {@link Link} using the supplied inputs. * - * @param clazz A {@link Class} to satisfy Java generics. * @param operatorAddressSupplier A supplier for the ILP address of this node operating this Link. This value may be * uninitialized, for example, in cases where the Link obtains its address from a * * parent node using IL-DCP. If an ILP address has not been assigned, or it has not @@ -33,12 +32,13 @@ public interface LinkFactory { * @param linkSettings A {@link LinkSettings} to use in order to construct a {@link Link}. * @param A type that extends {@link LinkSettings}. * @param A type that extends {@link Link}. + * @param clazz A {@link Class} to satisfy Java generics. * * @return An instance of {@code L}. */ @SuppressWarnings("MethodTypeParameterName") default > L constructLink( - final Class clazz, Supplier operatorAddressSupplier, final LS linkSettings + Supplier operatorAddressSupplier, final LS linkSettings, final Class clazz ) { return (L) this.constructLink(operatorAddressSupplier, linkSettings); } diff --git a/link-parent/link-core/src/main/java/org/interledger/link/LinkSettings.java b/link-parent/link-core/src/main/java/org/interledger/link/LinkSettings.java index 3588b3ea..c23ea2eb 100644 --- a/link-parent/link-core/src/main/java/org/interledger/link/LinkSettings.java +++ b/link-parent/link-core/src/main/java/org/interledger/link/LinkSettings.java @@ -3,6 +3,7 @@ import org.immutables.value.Value; import java.util.Map; +import java.util.StringJoiner; /** * Configuration information relating to a {@link Link}. @@ -56,5 +57,12 @@ public AbstractLinkSettings normalize() { } } + @Override + public String toString() { + return new StringJoiner(", ", AbstractLinkSettings.class.getSimpleName() + "[", "]") + .add("linkType=" + getLinkType()) + .add("customSettings=" + getCustomSettings()) + .toString(); + } } } diff --git a/link-parent/link-core/src/main/java/org/interledger/link/LoopbackLink.java b/link-parent/link-core/src/main/java/org/interledger/link/LoopbackLink.java index ca644066..d1effda3 100644 --- a/link-parent/link-core/src/main/java/org/interledger/link/LoopbackLink.java +++ b/link-parent/link-core/src/main/java/org/interledger/link/LoopbackLink.java @@ -14,6 +14,7 @@ import java.util.Objects; import java.util.Optional; +import java.util.StringJoiner; import java.util.function.Supplier; /** @@ -94,4 +95,13 @@ InterledgerResponsePacket sleepAndReject(InterledgerPreparePacket preparePacket, return packetRejector.reject(this.getLinkId(), preparePacket, InterledgerErrorCode.T03_CONNECTOR_BUSY, "Loopback set to exceed timeout via simulate_timeout=T03"); } + + @Override + public String toString() { + return new StringJoiner(", ", LoopbackLink.class.getSimpleName() + "[", "]") + .add("linkId=" + getLinkId()) + .add("operatorAddressSupplier=" + getOperatorAddressSupplier()) + .add("linkSettings=" + getLinkSettings()) + .toString(); + } } diff --git a/link-parent/link-core/src/main/java/org/interledger/link/PingLoopbackLink.java b/link-parent/link-core/src/main/java/org/interledger/link/PingLoopbackLink.java index b0b73499..5f291bb5 100644 --- a/link-parent/link-core/src/main/java/org/interledger/link/PingLoopbackLink.java +++ b/link-parent/link-core/src/main/java/org/interledger/link/PingLoopbackLink.java @@ -12,6 +12,7 @@ import java.util.Base64; import java.util.Objects; +import java.util.StringJoiner; import java.util.function.Supplier; /** @@ -78,4 +79,13 @@ public InterledgerResponsePacket sendPacket(final InterledgerPreparePacket prepa return rejectPacket; } } + + @Override + public String toString() { + return new StringJoiner(", ", PingLoopbackLink.class.getSimpleName() + "[", "]") + .add("linkId=" + getLinkId()) + .add("operatorAddressSupplier=" + getOperatorAddressSupplier()) + .add("linkSettings=" + getLinkSettings()) + .toString(); + } } diff --git a/link-parent/link-ilp-over-http/pom.xml b/link-parent/link-ilp-over-http/pom.xml index 334d6455..dd096e53 100644 --- a/link-parent/link-ilp-over-http/pom.xml +++ b/link-parent/link-ilp-over-http/pom.xml @@ -5,7 +5,7 @@ org.interledger link-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/link-parent/link-ilp-over-http/src/main/java/org/interledger/link/http/IlpOverHttpLink.java b/link-parent/link-ilp-over-http/src/main/java/org/interledger/link/http/IlpOverHttpLink.java index 25d9f774..5c799868 100644 --- a/link-parent/link-ilp-over-http/src/main/java/org/interledger/link/http/IlpOverHttpLink.java +++ b/link-parent/link-ilp-over-http/src/main/java/org/interledger/link/http/IlpOverHttpLink.java @@ -45,6 +45,7 @@ import java.time.Instant; import java.util.Objects; import java.util.Optional; +import java.util.StringJoiner; import java.util.function.Supplier; import java.util.stream.Stream; @@ -58,6 +59,7 @@ */ public class IlpOverHttpLink extends AbstractLink implements Link { + private static final String BEARER_WITH_SPACE = BEARER + " "; public static final String LINK_TYPE_STRING = "ILP_OVER_HTTP"; public static final LinkType LINK_TYPE = LinkType.of(LINK_TYPE_STRING); @@ -83,6 +85,7 @@ public class IlpOverHttpLink extends AbstractLink imple private final HttpUrl outgoingUrl; + /** * Required-args Constructor. * @@ -123,9 +126,9 @@ public InterledgerResponsePacket sendPacket(final InterledgerPreparePacket prepa Objects.requireNonNull(preparePacket); if (preparePacket.getExpiresAt() != null && - okHttpClient.readTimeoutMillis() <= Duration.between(Instant.now(), preparePacket.getExpiresAt()).toMillis()) { + okHttpClient.readTimeoutMillis() <= Duration.between(Instant.now(), preparePacket.getExpiresAt()).toMillis()) { logger.warn("OkHttpClient read timeout is shorter than the Prepare Packet's timeout. " + - "This may result in an HTTP timeout while unexpired ILP packets are in flight."); + "This may result in an HTTP timeout while unexpired ILP packets are in flight."); } final Request okHttpRequest; @@ -154,18 +157,18 @@ public InterledgerResponsePacket sendPacket(final InterledgerPreparePacket prepa if (response.code() == 401 || response.code() == 403) { // If this code is returned, we know the Link is misconfigured customErrorMessage = String.format("Unable to connect to remote ILP-over-HTTP Link: Invalid Bearer " + - "Token. response=%s", response); + "Token. response=%s", response); logger.error(customErrorMessage); } String message = Stream.of( - customErrorMessage, - problem.map(Problem::getTitle).orElse(null), - errorResponseBody + customErrorMessage, + problem.map(Problem::getTitle).orElse(null), + errorResponseBody ) - .filter(Objects::nonNull) - .findFirst() - .get(); + .filter(Objects::nonNull) + .findFirst() + .get(); // The request was bad for some reason, likely due to whatever is in the packet. rejectPacket = InterledgerRejectPacket.builder() .triggeredBy(getOperatorAddressSupplier().get()) @@ -249,7 +252,6 @@ public void testConnection() { } } - private final String BEARER_WITH_SPACE = BEARER + " "; /** * Construct headers for an ILP-over-HTTP request. * @@ -326,4 +328,22 @@ private Request constructSendPacketRequest(final InterledgerPreparePacket prepar } } + @Override + public String toString() { + return new StringJoiner(", ", IlpOverHttpLink.class.getSimpleName() + "[", "]") + .add("linkId=" + getLinkId()) + .add("operatorAddressSupplier=" + getOperatorAddressSupplier()) + .add("outgoingUrl=" + outgoingUrl) + .add("linkSettings=" + getLinkSettings()) + .toString(); + } + + /** + * Accessor for the "outgoing" URL that this link uses to make outgoing HTTP requests to its peer. + * + * @return A {@link okhttp3.HttpUrl}. + */ + public HttpUrl getOutgoingUrl() { + return this.outgoingUrl; + } } diff --git a/link-parent/link-ilp-over-http/src/main/java/org/interledger/link/http/IlpOverHttpLinkFactory.java b/link-parent/link-ilp-over-http/src/main/java/org/interledger/link/http/IlpOverHttpLinkFactory.java index 4dfb43f4..85a6aae6 100644 --- a/link-parent/link-ilp-over-http/src/main/java/org/interledger/link/http/IlpOverHttpLinkFactory.java +++ b/link-parent/link-ilp-over-http/src/main/java/org/interledger/link/http/IlpOverHttpLinkFactory.java @@ -14,8 +14,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import okhttp3.OkHttpClient; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.util.Objects; import java.util.function.Supplier; @@ -30,8 +28,6 @@ public class IlpOverHttpLinkFactory implements LinkFactory { private final ObjectMapper objectMapper; private final CodecContext ilpCodecContext; - private final Logger logger = LoggerFactory.getLogger(this.getClass()); - /** * Required-args Constructor. * diff --git a/link-parent/link-ilp-over-http/src/test/java/org/interledger/link/http/IlpOverHttpLinkTest.java b/link-parent/link-ilp-over-http/src/test/java/org/interledger/link/http/IlpOverHttpLinkTest.java index 7128b923..6fc1eaf7 100644 --- a/link-parent/link-ilp-over-http/src/test/java/org/interledger/link/http/IlpOverHttpLinkTest.java +++ b/link-parent/link-ilp-over-http/src/test/java/org/interledger/link/http/IlpOverHttpLinkTest.java @@ -43,18 +43,20 @@ public class IlpOverHttpLinkTest { @Rule public ExpectedException expectedException = ExpectedException.none(); + @Rule public MockitoRule mockitoRule = MockitoJUnit.rule(); + @Mock - OkHttpClient httpClient; + private OkHttpClient httpClientMock; @Mock - ObjectMapper objectMapper; + private ObjectMapper objectMapperMock; @Mock - CodecContext codecContext; + private CodecContext codecContextMock; @Mock - BearerTokenSupplier bearerTokenSupplier; + private BearerTokenSupplier bearerTokenSupplierMock; @Mock - InterledgerPreparePacket packet; + private InterledgerPreparePacket packetMock; private IlpOverHttpLink link; @@ -63,26 +65,26 @@ public void setup() { link = new IlpOverHttpLink( () -> InterledgerAddress.of("example.destination"), HttpUrl.get("https://cannotspellsurgerywithouturges.com"), - httpClient, - objectMapper, - codecContext, - bearerTokenSupplier + httpClientMock, + objectMapperMock, + codecContextMock, + bearerTokenSupplierMock ); link.setLinkId(LinkId.of("pepe silvia")); - packet = mock(InterledgerPreparePacket.class); + packetMock = mock(InterledgerPreparePacket.class); } @Test public void sendFailsOnBadWrite() throws Exception { expectedException.expect(LinkException.class); - doThrow(IOException.class).when(codecContext).write(any(), any()); - link.sendPacket(packet); + doThrow(IOException.class).when(codecContextMock).write(any(), any()); + link.sendPacket(packetMock); } @Test public void rejectOnNotAuthed() throws Exception { mockCall(401); - InterledgerResponsePacket responsePacket = link.sendPacket(packet); + InterledgerResponsePacket responsePacket = link.sendPacket(packetMock); assertThat(responsePacket).extracting("code", "message") .containsExactly( InterledgerErrorCode.F00_BAD_REQUEST, @@ -94,7 +96,7 @@ public void rejectOnNotAuthed() throws Exception { @Test public void rejectOnForbidden() throws Exception { mockCall(403); - InterledgerResponsePacket responsePacket = link.sendPacket(packet); + InterledgerResponsePacket responsePacket = link.sendPacket(packetMock); assertThat(responsePacket).extracting("code", "message") .containsExactly(InterledgerErrorCode.F00_BAD_REQUEST, "Unable to connect to remote ILP-over-HTTP Link: Invalid Bearer Token. response=Response{protocol=h2, " + @@ -105,7 +107,7 @@ public void rejectOnForbidden() throws Exception { @Test public void rejectOnBadRequest() throws Exception { mockCall(422); - InterledgerResponsePacket responsePacket = link.sendPacket(packet); + InterledgerResponsePacket responsePacket = link.sendPacket(packetMock); assertThat(responsePacket).extracting("code", "message") .containsExactly(InterledgerErrorCode.F00_BAD_REQUEST, "{}"); } @@ -113,7 +115,7 @@ public void rejectOnBadRequest() throws Exception { @Test public void rejectOnInternalError() throws Exception { mockCall(500); - InterledgerResponsePacket responsePacket = link.sendPacket(packet); + InterledgerResponsePacket responsePacket = link.sendPacket(packetMock); assertThat(responsePacket).extracting("code", "message") .containsExactly(InterledgerErrorCode.T00_INTERNAL_ERROR, "{}"); } @@ -122,20 +124,20 @@ public void rejectOnInternalError() throws Exception { public void success() throws Exception { mockCall(200); InterledgerResponsePacket success = mock(InterledgerResponsePacket.class); - when(codecContext.read(any(), any())).thenReturn(success); - InterledgerResponsePacket responsePacket = link.sendPacket(packet); + when(codecContextMock.read(any(), any())).thenReturn(success); + InterledgerResponsePacket responsePacket = link.sendPacket(packetMock); assertThat(responsePacket).isEqualTo(success); - verify(codecContext, times(1)).read(any(), any()); + verify(codecContextMock, times(1)).read(any(), any()); } @Test public void fallThrough() throws Exception { mockCall(200); - when(codecContext.read(any(), any())).thenThrow(new IOException("i messed up")); + when(codecContextMock.read(any(), any())).thenThrow(new IOException("i messed up")); expectedException.expect(LinkException.class); expectedException.expectMessage("i messed up"); - InterledgerResponsePacket responsePacket = link.sendPacket(packet); - verify(codecContext, times(1)).read(any(), any()); + InterledgerResponsePacket responsePacket = link.sendPacket(packetMock); + verify(codecContextMock, times(1)).read(any(), any()); } @Test @@ -192,7 +194,7 @@ public void testConnectionFailsOnOther() throws Exception { @Test public void testConnectionThrowsUnexpected() throws Exception { Call call = mock(Call.class); - when(httpClient.newCall(any())).thenReturn(call); + when(httpClientMock.newCall(any())).thenReturn(call); when(call.execute()).thenThrow(new IOException("hey a penny")); expectedException.expect(LinkException.class); expectedException.expectMessage("hey a penny"); @@ -212,7 +214,7 @@ private Response mockCall(int code) throws Exception { .body(ResponseBody.create("{}", MediaType.get("application/json; charset=utf-8"))) .build(); Call call = mock(Call.class); - when(httpClient.newCall(any())).thenReturn(call); + when(httpClientMock.newCall(any())).thenReturn(call); when(call.execute()).thenReturn(response); return response; } diff --git a/link-parent/link-stateless-spsp-receiver/pom.xml b/link-parent/link-stateless-spsp-receiver/pom.xml index 30bfca06..fe1811c3 100644 --- a/link-parent/link-stateless-spsp-receiver/pom.xml +++ b/link-parent/link-stateless-spsp-receiver/pom.xml @@ -5,7 +5,7 @@ org.interledger link-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/link-parent/link-stateless-spsp-receiver/src/main/java/org/interledger/link/spsp/StatelessSpspReceiverLink.java b/link-parent/link-stateless-spsp-receiver/src/main/java/org/interledger/link/spsp/StatelessSpspReceiverLink.java index d2f8a3b4..7c965971 100644 --- a/link-parent/link-stateless-spsp-receiver/src/main/java/org/interledger/link/spsp/StatelessSpspReceiverLink.java +++ b/link-parent/link-stateless-spsp-receiver/src/main/java/org/interledger/link/spsp/StatelessSpspReceiverLink.java @@ -12,6 +12,7 @@ import org.interledger.stream.receiver.StreamReceiver; import java.util.Objects; +import java.util.StringJoiner; import java.util.function.Supplier; /** @@ -75,4 +76,15 @@ public InterledgerResponsePacket sendPacket(final InterledgerPreparePacket prepa } ); } + + @Override + public String toString() { + return new StringJoiner(", ", StatelessSpspReceiverLink.class.getSimpleName() + "[", "]") + .add("linkId=" + getLinkId()) + .add("operatorAddressSupplier=" + getOperatorAddressSupplier()) + .add("streamReceiver=" + streamReceiver) + .add("denomination=" + denomination) + .add("linkSettings=" + getLinkSettings()) + .toString(); + } } diff --git a/link-parent/pom.xml b/link-parent/pom.xml index a2a36f56..cb41f65d 100644 --- a/link-parent/pom.xml +++ b/link-parent/pom.xml @@ -5,7 +5,7 @@ quilt-parent org.interledger - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/pom.xml b/pom.xml index e3a2399a..5b8b46db 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.interledger quilt-parent pom - 1.3.0 + 1.3.1-SNAPSHOT Hyperledger Quilt Parent Parent project for Hyperledger Quilt modules. diff --git a/quilt-bom/pom.xml b/quilt-bom/pom.xml index 3ff3d5ed..94e843e4 100644 --- a/quilt-bom/pom.xml +++ b/quilt-bom/pom.xml @@ -5,7 +5,7 @@ quilt-parent org.interledger - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/spsp-parent/pom.xml b/spsp-parent/pom.xml index 974e96fc..d5990e8a 100644 --- a/spsp-parent/pom.xml +++ b/spsp-parent/pom.xml @@ -5,7 +5,7 @@ org.interledger quilt-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/spsp-parent/spsp-client/pom.xml b/spsp-parent/spsp-client/pom.xml index f12330d9..8443b355 100644 --- a/spsp-parent/spsp-client/pom.xml +++ b/spsp-parent/spsp-client/pom.xml @@ -5,7 +5,7 @@ org.interledger spsp-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/spsp-parent/spsp-core/pom.xml b/spsp-parent/spsp-core/pom.xml index 0714ca02..a2f4148a 100644 --- a/spsp-parent/spsp-core/pom.xml +++ b/spsp-parent/spsp-core/pom.xml @@ -5,7 +5,7 @@ org.interledger spsp-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/stream-parent/pom.xml b/stream-parent/pom.xml index 2dd95bed..0224c400 100644 --- a/stream-parent/pom.xml +++ b/stream-parent/pom.xml @@ -5,7 +5,7 @@ org.interledger quilt-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/stream-parent/stream-client/pom.xml b/stream-parent/stream-client/pom.xml index 6940a3bd..e724fb56 100644 --- a/stream-parent/stream-client/pom.xml +++ b/stream-parent/stream-client/pom.xml @@ -5,7 +5,7 @@ org.interledger stream-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/stream-parent/stream-client/src/test/java/org/interledger/stream/sender/SendMoneyAggregatorTest.java b/stream-parent/stream-client/src/test/java/org/interledger/stream/sender/SendMoneyAggregatorTest.java index aedf3849..8439867d 100644 --- a/stream-parent/stream-client/src/test/java/org/interledger/stream/sender/SendMoneyAggregatorTest.java +++ b/stream-parent/stream-client/src/test/java/org/interledger/stream/sender/SendMoneyAggregatorTest.java @@ -656,7 +656,7 @@ public InterledgerResponsePacket answer(InvocationOnMock invocationOnMock) throw assertThat(result.numRejectPackets()).isLessThanOrEqualTo(9); assertThat(result.amountLeftToSend()).isLessThanOrEqualTo(UnsignedLong.valueOf(9)); verify(congestionControllerMock, atMost(11)).getMaxAmount(); - verify(linkMock, atMost(11)).sendPacket(any()); + verify(linkMock, atMost(12)).sendPacket(any()); assertStreamCloseFrameSent(); } diff --git a/stream-parent/stream-core/pom.xml b/stream-parent/stream-core/pom.xml index 69f67162..4072fe73 100644 --- a/stream-parent/stream-core/pom.xml +++ b/stream-parent/stream-core/pom.xml @@ -5,7 +5,7 @@ org.interledger stream-parent - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0 diff --git a/stream-parent/stream-receiver/pom.xml b/stream-parent/stream-receiver/pom.xml index 4c724ca8..5be51341 100644 --- a/stream-parent/stream-receiver/pom.xml +++ b/stream-parent/stream-receiver/pom.xml @@ -5,7 +5,7 @@ stream-parent org.interledger - 1.3.0 + 1.3.1-SNAPSHOT 4.0.0