Skip to content

Commit bc2976a

Browse files
committed
SWS-631 -verifyConnections() method
1 parent f5e54fc commit bc2976a

File tree

6 files changed

+61
-2
lines changed

6 files changed

+61
-2
lines changed

samples/airline/client/spring-ws/src/test/java/org/springframework/ws/samples/airline/client/sws/GetFlightsTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ public void getFlights() throws Exception {
8787

8888
getFlights.getFlights();
8989

90+
verifyConnections();
91+
9092
}
9193

9294

test/src/main/java/org/springframework/ws/mock/client/MockWebServiceMessageSender.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,13 @@ MockSenderConnection expectNewConnection() {
7070
return connection;
7171
}
7272

73+
void verifyConnections() {
74+
if (expectedConnections.isEmpty()) {
75+
return;
76+
}
77+
if (connectionIterator == null || connectionIterator.hasNext()) {
78+
throw new AssertionError("Further connection(s) expected");
79+
}
80+
}
81+
7382
}

test/src/main/java/org/springframework/ws/mock/client/WebServiceMock.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,20 @@ public static ResponseCallback withVersionMismatchFault(String faultStringOrReas
282282
return SoapFaultResponseCallback.createVersionMismatchFault(faultStringOrReason, locale);
283283
}
284284

285+
// Verification
286+
287+
/**
288+
* Verifies that all connections were used.
289+
*
290+
* @throws AssertionError in case of unused connections.
291+
*/
292+
public static void verifyConnections() {
293+
MockWebServiceMessageSender messageSender = MockWebServiceMessageSenderHolder.get();
294+
if (messageSender != null) {
295+
messageSender.verifyConnections();
296+
}
297+
}
298+
285299
private static ResourceSource createResourceSource(Resource resource) {
286300
try {
287301
return new ResourceSource(resource);

test/src/test/java/org/springframework/ws/mock/client/MockWebServiceMessageSenderTest.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,34 @@
1919
import java.io.IOException;
2020
import java.net.URI;
2121

22+
import org.junit.Before;
2223
import org.junit.Test;
2324

2425
public class MockWebServiceMessageSenderTest {
2526

27+
private MockWebServiceMessageSender sender;
28+
29+
@Before
30+
public void setUp() throws Exception {
31+
sender = new MockWebServiceMessageSender();
32+
}
33+
34+
@Test(expected = AssertionError.class)
35+
public void noMoreExpectedConnections() throws IOException {
36+
sender.createConnection(URI.create("http://localhost"));
37+
}
38+
39+
@Test(expected = AssertionError.class)
40+
public void verify() throws IOException {
41+
sender.expectNewConnection();
42+
sender.verifyConnections();
43+
}
44+
2645
@Test(expected = AssertionError.class)
27-
public void testNoMoreExpectedConnections() throws IOException {
28-
MockWebServiceMessageSender sender = new MockWebServiceMessageSender();
46+
public void verifyMoteThanOne() throws IOException {
47+
sender.expectNewConnection();
48+
sender.expectNewConnection();
2949
sender.createConnection(URI.create("http://localhost"));
50+
sender.verifyConnections();
3051
}
3152
}

test/src/test/java/org/springframework/ws/mock/client/WebServiceMockTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,8 @@ public void anythingMatch() throws Exception {
225225
StringResult result = new StringResult();
226226
template.sendSourceAndReceiveToResult(request, result);
227227
assertXMLEqual(result.toString(), response.toString());
228+
229+
verifyConnections();
228230
}
229231

230232
@Test(expected = IllegalStateException.class)
@@ -242,5 +244,14 @@ public void recordWhenReplay() throws Exception {
242244
expect(anything()).andRespond(withPayload(response));
243245
}
244246

247+
@Test(expected = AssertionError.class)
248+
public void verifyFailure() throws Exception {
249+
expect(anything());
250+
verifyConnections();
251+
}
245252

253+
@Test
254+
public void verifyOnly() throws Exception {
255+
verifyConnections();
256+
}
246257
}

test/src/test/java/org/springframework/ws/mock/client/integration/IntegrationTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ public void basic() throws Exception {
6363

6464
CustomerCountResponse response = (CustomerCountResponse) webServiceTemplate.marshalSendAndReceive(request);
6565
assertEquals(10, response.getCustomerCount());
66+
67+
verifyConnections();
6668
}
6769

6870
}

0 commit comments

Comments
 (0)