@Test public void testZipFileWrite() throws Exception { String outputFileName = null; try { // Get somewhere temporary to write out to outputFileName = File.createTempFile("ItemWriterTest-", ".csv.zip").getAbsolutePath(); // Configure the ItemWriter C24ItemWriter itemWriter = new C24ItemWriter(); itemWriter.setSink(new TextualSink()); itemWriter.setWriterSource(new ZipFileWriterSource()); itemWriter.setup(getStepExecution(outputFileName)); // Write the employees out itemWriter.write(employees); // Close the file itemWriter.cleanup(); // Check that we wrote out what was expected ZipFile zipFile = new ZipFile(outputFileName); Enumeration<? extends ZipEntry> entries = zipFile.entries(); assertNotNull(entries); // Make sure there's at least one entry assertTrue(entries.hasMoreElements()); ZipEntry entry = entries.nextElement(); // Make sure that the trailing .zip has been removed and the leading path has been removed assertFalse(entry.getName().contains(System.getProperty("file.separator"))); assertFalse(entry.getName().endsWith(".zip")); // Make sure that there aren't any other entries assertFalse(entries.hasMoreElements()); try { compareCsv(zipFile.getInputStream(entry), employees); } finally { if (zipFile != null) { zipFile.close(); } } } finally { if (outputFileName != null) { // Clear up our temporary file File file = new File(outputFileName); file.delete(); } } }
@Test public void testFileWrite() throws Exception { String outputFileName = null; try { // Get somewhere temporary to write out to outputFileName = File.createTempFile("ItemWriterTest-", ".csv").getAbsolutePath(); // Configure the ItemWriter C24ItemWriter itemWriter = new C24ItemWriter(); itemWriter.setSink(new TextualSink()); itemWriter.setWriterSource(new FileWriterSource()); itemWriter.setup(getStepExecution(outputFileName)); // Write the employees out itemWriter.write(employees); // Close the file itemWriter.cleanup(); // Check that we wrote out what was expected FileInputStream inputStream = new FileInputStream(outputFileName); try { compareCsv(inputStream, employees); } finally { if (inputStream != null) { inputStream.close(); } } } finally { if (outputFileName != null) { // Clear up our temporary file File file = new File(outputFileName); file.delete(); } } }