From a3ebc9e70df3d08afce55f1eba81de4a3d983458 Mon Sep 17 00:00:00 2001 From: Mat Booth Date: Fri, 7 Dec 2018 21:31:46 +0000 Subject: [PATCH] Add patch to allow building with mockito 2 --- 0002-Port-to-mockito-2.patch | 345 +++++++++++++++++++++++++++++++++++ httpcomponents-core.spec | 7 +- 2 files changed, 351 insertions(+), 1 deletion(-) create mode 100644 0002-Port-to-mockito-2.patch diff --git a/0002-Port-to-mockito-2.patch b/0002-Port-to-mockito-2.patch new file mode 100644 index 0000000..b235104 --- /dev/null +++ b/0002-Port-to-mockito-2.patch @@ -0,0 +1,345 @@ +From 455ae8a16dba896970a89e47962d32e09f63c346 Mon Sep 17 00:00:00 2001 +From: Mat Booth +Date: Fri, 7 Dec 2018 19:50:08 +0000 +Subject: [PATCH 2/2] Port to mockito 2 + +For details, see: +https://github.com/mockito/mockito/wiki/What%27s-new-in-Mockito-2#incompatible +--- + .../impl/nio/pool/TestBasicNIOConnPool.java | 2 +- + .../apache/http/nio/pool/TestNIOConnPool.java | 72 ++++++++++--------- + .../nio/protocol/TestHttpAsyncService.java | 8 +-- + 3 files changed, 43 insertions(+), 39 deletions(-) + +diff --git a/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java b/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java +index 78f9cdc..4d0c6b0 100644 +--- a/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java ++++ b/httpcore-nio/src/test/java/org/apache/http/impl/nio/pool/TestBasicNIOConnPool.java +@@ -115,7 +115,7 @@ public class TestBasicNIOConnPool { + Mockito.when(sessionRequest.getAttachment()).thenReturn(host); + Mockito.when(reactor.connect( + Matchers.any(SocketAddress.class), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.eq(host), + Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest); +diff --git a/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java b/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java +index e64a6d3..1ea6ce1 100644 +--- a/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java ++++ b/httpcore-nio/src/test/java/org/apache/http/nio/pool/TestNIOConnPool.java +@@ -176,7 +176,7 @@ public class TestNIOConnPool { + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( + Matchers.any(SocketAddress.class), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest); + final LocalSessionPool pool = new LocalSessionPool(ioreactor, 2, 10); +@@ -209,7 +209,7 @@ public class TestNIOConnPool { + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( + Matchers.any(SocketAddress.class), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest); + final LocalSessionPool pool = new LocalSessionPool(ioreactor, 2, 10); +@@ -246,7 +246,7 @@ public class TestNIOConnPool { + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( + Matchers.any(SocketAddress.class), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest); + Mockito.when(ioreactor.getStatus()).thenReturn(IOReactorStatus.ACTIVE); +@@ -285,7 +285,7 @@ public class TestNIOConnPool { + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( + Matchers.any(SocketAddress.class), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest); + final LocalSessionPool pool = new LocalSessionPool(ioreactor, 2, 10); +@@ -351,12 +351,12 @@ public class TestNIOConnPool { + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest1); + Mockito.when(ioreactor.connect( + Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest2); + +@@ -425,12 +425,12 @@ public class TestNIOConnPool { + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest1); + Mockito.when(ioreactor.connect( + Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest2); + +@@ -483,7 +483,8 @@ public class TestNIOConnPool { + Assert.assertFalse(future9.isDone()); + + Mockito.verify(ioreactor, Mockito.times(3)).connect( +- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class), ++ Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + pool.release(entry4, true); +@@ -495,7 +496,8 @@ public class TestNIOConnPool { + Assert.assertTrue(future9.isDone()); + + Mockito.verify(ioreactor, Mockito.times(4)).connect( +- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class), ++ Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + } + +@@ -524,12 +526,12 @@ public class TestNIOConnPool { + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest1, sessionRequest2, sessionRequest1); + Mockito.when(ioreactor.connect( + Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest3, sessionRequest4, sessionRequest3); + +@@ -545,12 +547,12 @@ public class TestNIOConnPool { + + Mockito.verify(ioreactor, Mockito.times(2)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + Mockito.verify(ioreactor, Mockito.never()).connect( + Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + pool.requestCompleted(sessionRequest1); +@@ -576,12 +578,12 @@ public class TestNIOConnPool { + + Mockito.verify(ioreactor, Mockito.times(2)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + Mockito.verify(ioreactor, Mockito.times(2)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + pool.requestCompleted(sessionRequest3); +@@ -604,12 +606,12 @@ public class TestNIOConnPool { + + Mockito.verify(ioreactor, Mockito.times(2)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + Mockito.verify(ioreactor, Mockito.times(2)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + pool.release(entry3, true); +@@ -617,12 +619,12 @@ public class TestNIOConnPool { + + Mockito.verify(ioreactor, Mockito.times(3)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + Mockito.verify(ioreactor, Mockito.times(2)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + pool.requestCompleted(sessionRequest1); +@@ -644,12 +646,12 @@ public class TestNIOConnPool { + + Mockito.verify(ioreactor, Mockito.times(3)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + Mockito.verify(ioreactor, Mockito.times(2)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("otherhost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + totals = pool.getTotalStats(); +@@ -678,7 +680,7 @@ public class TestNIOConnPool { + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest1, sessionRequest2, sessionRequest3); + +@@ -691,7 +693,7 @@ public class TestNIOConnPool { + + Mockito.verify(ioreactor, Mockito.times(2)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + pool.requestCompleted(sessionRequest1); +@@ -726,7 +728,7 @@ public class TestNIOConnPool { + + Mockito.verify(ioreactor, Mockito.times(2)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + pool.release(entry3, true); +@@ -743,7 +745,7 @@ public class TestNIOConnPool { + + Mockito.verify(ioreactor, Mockito.times(3)).connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + Mockito.verify(iosession2).close(); +@@ -766,7 +768,7 @@ public class TestNIOConnPool { + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( + Matchers.eq(InetSocketAddress.createUnresolved("somehost", 80)), +- Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest1); + +@@ -775,7 +777,8 @@ public class TestNIOConnPool { + final Future future1 = pool.lease("somehost", null); + + Mockito.verify(ioreactor, Mockito.times(1)).connect( +- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class), ++ Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + pool.requestCompleted(sessionRequest1); +@@ -795,7 +798,8 @@ public class TestNIOConnPool { + + Mockito.verify(iosession1).close(); + Mockito.verify(ioreactor, Mockito.times(2)).connect( +- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class), ++ Matchers.any(SocketAddress.class), ++ Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class)); + + final PoolStats totals = pool.getTotalStats(); +@@ -824,7 +828,7 @@ public class TestNIOConnPool { + + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( +- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class), ++ Matchers.any(SocketAddress.class), Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest1, sessionRequest2); + +@@ -880,7 +884,7 @@ public class TestNIOConnPool { + + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( +- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class), ++ Matchers.any(SocketAddress.class), Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest1, sessionRequest2); + +@@ -945,7 +949,7 @@ public class TestNIOConnPool { + + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( +- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class), ++ Matchers.any(SocketAddress.class), Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest1); + +@@ -1049,7 +1053,7 @@ public class TestNIOConnPool { + + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( +- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class), ++ Matchers.any(SocketAddress.class), Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest1); + Mockito.when(ioreactor.getStatus()).thenReturn(IOReactorStatus.ACTIVE); +@@ -1083,7 +1087,7 @@ public class TestNIOConnPool { + + final ConnectingIOReactor ioreactor = Mockito.mock(ConnectingIOReactor.class); + Mockito.when(ioreactor.connect( +- Matchers.any(SocketAddress.class), Matchers.any(SocketAddress.class), ++ Matchers.any(SocketAddress.class), Matchers.isNull(), + Matchers.any(), Matchers.any(SessionRequestCallback.class))). + thenReturn(sessionRequest1); + Mockito.when(ioreactor.getStatus()).thenReturn(IOReactorStatus.ACTIVE); +diff --git a/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestHttpAsyncService.java b/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestHttpAsyncService.java +index 235915b..c631d46 100644 +--- a/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestHttpAsyncService.java ++++ b/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestHttpAsyncService.java +@@ -503,8 +503,8 @@ public class TestHttpAsyncService { + Mockito.verify(this.conn).submitResponse(Matchers.argThat(new ArgumentMatcher() { + + @Override +- public boolean matches(final Object argument) { +- final int status = ((HttpResponse) argument).getStatusLine().getStatusCode(); ++ public boolean matches(final HttpResponse argument) { ++ final int status = argument.getStatusLine().getStatusCode(); + return status == 100; + } + +@@ -1020,8 +1020,8 @@ public class TestHttpAsyncService { + Mockito.verify(this.conn).submitResponse(Matchers.argThat(new ArgumentMatcher() { + + @Override +- public boolean matches(final Object argument) { +- final int status = ((HttpResponse) argument).getStatusLine().getStatusCode(); ++ public boolean matches(final HttpResponse argument) { ++ final int status = argument.getStatusLine().getStatusCode(); + return status == 100; + } + +-- +2.19.1 + diff --git a/httpcomponents-core.spec b/httpcomponents-core.spec index 0f5bb0b..0a84014 100644 --- a/httpcomponents-core.spec +++ b/httpcomponents-core.spec @@ -1,12 +1,13 @@ Name: httpcomponents-core Summary: Set of low level Java HTTP transport components for HTTP services Version: 4.4.10 -Release: 3%{?dist} +Release: 4%{?dist} License: ASL 2.0 URL: http://hc.apache.org/ Source0: http://www.apache.org/dist/httpcomponents/httpcore/source/httpcomponents-core-%{version}-src.tar.gz # Expired test certificates. Backported from upstream commit 8caeb927a. Patch0: 0001-Re-generated-expired-test-certificates.patch +Patch1: 0002-Port-to-mockito-2.patch BuildArch: noarch @@ -44,6 +45,7 @@ Summary: API documentation for %{name} %setup -q %patch0 -p1 +%patch1 -p1 # Random test failures on ARM -- 100 ms sleep is not eneough on this # very performant arch, lets make it 2 s @@ -96,6 +98,9 @@ done %doc LICENSE.txt NOTICE.txt %changelog +* Fri Dec 07 2018 Mat Booth - 4.4.10-4 +- Add patch to allow building with mockito 2 + * Mon Jul 23 2018 Michael Simacek - 4.4.10-3 - Fix failing tests