Skip to content

Commit 59ea7e4

Browse files
authored
Merge pull request #480 from metafacture/inputUsed
Reset `inputUsed` after processing to fix reusing opener
2 parents 3d01453 + dc636b8 commit 59ea7e4

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

metafacture-io/src/main/java/org/metafacture/io/HttpOpener.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,9 @@ public void process(final String input) {
265265
catch (final IOException e) {
266266
throw new MetafactureException(e);
267267
}
268+
finally {
269+
inputUsed = false;
270+
}
268271
}
269272

270273
private String getInput(final String input, final String value) {

metafacture-io/src/test/java/org/metafacture/io/HttpOpenerTest.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
import org.mockito.junit.MockitoJUnit;
4040
import org.mockito.junit.MockitoRule;
4141

42+
import static org.mockito.Mockito.times;
43+
4244
import java.io.IOException;
4345
import java.io.Reader;
4446
import java.util.Arrays;
@@ -318,11 +320,15 @@ private void shouldPerformRequest(final String input, final HttpOpener.Method me
318320
WireMock.stubFor(stub);
319321

320322
opener.process(String.format(input, baseUrl));
323+
324+
// use the opener a second time in a workflow:
325+
opener.process(String.format(input, baseUrl));
326+
321327
opener.closeStream();
322328

323329
WireMock.verify(request);
324330

325-
Mockito.verify(receiver).process(processedObject.capture());
331+
Mockito.verify(receiver, times(2)).process(processedObject.capture());
326332
Assert.assertEquals(responseBody, ResourceUtil.readAll(processedObject.getValue()));
327333
}
328334

0 commit comments

Comments
 (0)