diff options
author | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-07-09 12:56:54 +0200 |
---|---|---|
committer | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-07-09 12:56:54 +0200 |
commit | 65163646205b6e05139485fe957bceabe531f447 (patch) | |
tree | c35c0061a8c7e8ad3f054e632ed6ecfb1fb1b3cc /src/test/java/at/gv/egiz/moazs/SafeResponseToFileSinkTest.java | |
parent | 8e36fa01ea42d282eacdc78d6749daf9ae1ede9c (diff) | |
download | moa-zs-65163646205b6e05139485fe957bceabe531f447.tar.gz moa-zs-65163646205b6e05139485fe957bceabe531f447.tar.bz2 moa-zs-65163646205b6e05139485fe957bceabe531f447.zip |
Minor Fixes And Refactoring
- Fix typo in SafeResponseToFileSink.
- MoaZSException: Simplify constructor by replacing lots of arguments
with the builder instance.
- Fix minor codesmells (unused imports, superfluous braces).
Diffstat (limited to 'src/test/java/at/gv/egiz/moazs/SafeResponseToFileSinkTest.java')
-rw-r--r-- | src/test/java/at/gv/egiz/moazs/SafeResponseToFileSinkTest.java | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/src/test/java/at/gv/egiz/moazs/SafeResponseToFileSinkTest.java b/src/test/java/at/gv/egiz/moazs/SafeResponseToFileSinkTest.java deleted file mode 100644 index c85c601..0000000 --- a/src/test/java/at/gv/egiz/moazs/SafeResponseToFileSinkTest.java +++ /dev/null @@ -1,113 +0,0 @@ -package at.gv.egiz.moazs; - -import at.gv.egiz.moazs.process.SafeResponseToFileSink; -import at.gv.egiz.moazs.repository.DeliveryRepository; -import at.gv.egiz.moazs.scheme.Marshaller; -import at.gv.egiz.moazs.scheme.RequestStatusResponse; -import org.apache.commons.io.FileUtils; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.Collection; - -import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusType.Success.successBuilder; -import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusType.deliveryRequestStatusTypeBuilder; -import static java.util.Optional.of; -import static org.apache.commons.io.FileUtils.readFileToString; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.when; - -@RunWith(MockitoJUnitRunner.class) -public class SafeResponseToFileSinkTest { - - private static final Logger log = LoggerFactory.getLogger(SafeResponseToFileSinkTest.class); - - private SafeResponseToFileSink sink; - - private final String root = "./target/tmp/SafeResponseToFileSinkTestOut"; - - @Mock - private DeliveryRepository repository; - - @Mock - private Marshaller marshaller; - - - @Before - public void setup() { - sink = new SafeResponseToFileSink(marshaller, repository, root); - deleteRoot(); - - } - - private void deleteRoot() { - try { - FileUtils.deleteDirectory(new File(root)); - } catch (IOException e) { - log.warn("Could not delete {}", root); - } - } - - @Test - public void safeRequestToFiles() { - - var fileContent = "<xml>some content</xml>"; - var status = setupMocks(fileContent); - - sink.handle(status) - .thenRun(() -> assertFilesCreatedAndContentMatches(fileContent)); - } - - private void assertFilesCreatedAndContentMatches(String fileContent) { - var rootFolder = new File(root); - Collection<File> files = FileUtils.listFiles(rootFolder, null, true); - - assertThat(rootFolder.exists()).isTrue(); - assertThat(rootFolder.isDirectory()).isTrue(); - assertThat(files).isNotEmpty(); - - files.stream() - .map(file -> readFile(file)) - .forEach(content -> assertThat(content).isEqualTo(fileContent)); - } - - private String readFile(File file) { - try { - return readFileToString(file, StandardCharsets.UTF_8); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - private RequestStatusResponse setupMocks(String fileContent) { - - var appDeliveryID = "app-delivery-id"; - var responseID = RequestStatusResponse.getResponseID(appDeliveryID); - - when(repository.retrieveBinaryResponse(responseID)) - .thenReturn(of(fileContent.getBytes(StandardCharsets.UTF_8))); - when(marshaller.marshallXml(any())).thenReturn(fileContent); - - var success = successBuilder() - .withAppDeliveryID(appDeliveryID) - .build(); - - var status = deliveryRequestStatusTypeBuilder() - .withSuccess(success) - .build(); - - return new RequestStatusResponse(status); - - - } - -} |