From 913e4abf8aed409d5d3c9cf0d072e4b2036f0798 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\zhaohui" Date: Mon, 19 Mar 2018 17:48:17 -0400 Subject: [PATCH 1/5] 3191: Add running ingest to IngestsFileFilterTest. --- .../autopsy/ingest/IngestFileFiltersTest.java | 50 +++++++++++++++++-- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java b/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java index 2ee96f8c39..bd1a1146d1 100644 --- a/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java +++ b/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java @@ -22,6 +22,7 @@ import java.io.File; import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.ArrayList; import java.util.List; import static junit.framework.Assert.assertFalse; import junit.framework.TestCase; @@ -37,8 +38,11 @@ import org.sleuthkit.autopsy.casemodule.ImageDSProcessor; import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException; import org.sleuthkit.autopsy.casemodule.services.FileManager; import org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor; +import org.sleuthkit.autopsy.ingest.IngestJobSettings.IngestType; +import org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdModuleFactory; import org.sleuthkit.autopsy.testutils.DataSourceProcessorRunner; import org.sleuthkit.autopsy.testutils.DataSourceProcessorRunner.ProcessorCallback; +import org.sleuthkit.autopsy.testutils.IngestJobRunner; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.TskCoreException; @@ -48,6 +52,7 @@ public class IngestFileFiltersTest extends TestCase { private static final Path CASE_DIRECTORY_PATH = Paths.get(System.getProperty("java.io.tmpdir"), "IngestFileFiltersTest"); private static final File CASE_DIR = new File(CASE_DIRECTORY_PATH.toString()); private static final Path IMAGE_PATH = Paths.get("test/filter_test1.img"); + private ProcessorCallback callBack; public static Test suite() { NbModuleSuite.Configuration conf = NbModuleSuite.createConfiguration(IngestFileFiltersTest.class). @@ -58,6 +63,7 @@ public class IngestFileFiltersTest extends TestCase { @Override public void setUp() { + System.out.println("Set up tests"); // Delete the test directory, if it exists if (CASE_DIRECTORY_PATH.toFile().exists()) { try { @@ -80,7 +86,6 @@ public class IngestFileFiltersTest extends TestCase { Assert.fail(ex); } assertTrue(CASE_DIR.exists()); - ProcessorCallback callBack = null; ImageDSProcessor dataSourceProcessor = new ImageDSProcessor(); try { callBack = DataSourceProcessorRunner.runDataSourceProcessor(dataSourceProcessor, IMAGE_PATH); @@ -97,6 +102,7 @@ public class IngestFileFiltersTest extends TestCase { @Override public void tearDown() { + System.out.println("Test clean up"); try { Case.closeCurrentCase(); //Seems like we need some time to close the case. @@ -115,25 +121,59 @@ public class IngestFileFiltersTest extends TestCase { public void testFileNotFound() { try { - FileManager filemanager = Case.getOpenCase().getServices().getFileManager(); - List results = filemanager.findFiles("noFound"); + FileManager fileManager = Case.getOpenCase().getServices().getFileManager(); + List results = fileManager.findFiles("noFound"); assertEquals(0, results.size()); } catch (TskCoreException | NoCurrentCaseException ex) { Exceptions.printStackTrace(ex); Assert.fail(ex); } + System.out.println("Test case 'testFileNotFound' successfully done."); } public void testFileFound() { try { - FileManager filemanager = Case.getOpenCase().getServices().getFileManager(); - List results = filemanager.findFiles("file.jpg", "dir1"); + FileManager fileManager = Case.getOpenCase().getServices().getFileManager(); + List results = fileManager.findFiles("file.jpg", "dir1"); assertEquals(1, results.size()); assertEquals("file.jpg", results.get(0).getName()); } catch (TskCoreException | NoCurrentCaseException ex) { Exceptions.printStackTrace(ex); Assert.fail(ex); } + System.out.println("Test case 'testFileFound' successfully done."); } + + public void testFileType() { + FileTypeIdModuleFactory factory = new FileTypeIdModuleFactory(); + IngestModuleIngestJobSettings settings = factory.getDefaultIngestJobSettings(); + IngestModuleTemplate template = new IngestModuleTemplate(factory, settings); + template.setEnabled(true); + ArrayList templates = new ArrayList<>(); + templates.add(template); + //return new IngestJobSettings(IngestFileFiltersTest.class.getCanonicalName(), IngestType.FILES_ONLY, templates); + //IngestJobSettings ingestJobSettings = setIngestJobSettings(); + IngestJobSettings ingestJobSettings = new IngestJobSettings(IngestFileFiltersTest.class.getCanonicalName(), IngestType.FILES_ONLY, templates); + try { + List errs = IngestJobRunner.runIngestJob(callBack.getDataSourceContent(), ingestJobSettings); + assertEquals(0, errs.size()); + } catch (InterruptedException ex) { + Exceptions.printStackTrace(ex); + Assert.fail(ex); + } + + FileManager fileManager; + try { + fileManager = Case.getOpenCase().getServices().getFileManager(); + List results = fileManager.findFiles("file.jpg", "dir1"); + String mimeType = results.get(0).getMIMEType(); + assertEquals("image/jpeg", mimeType); + } catch (NoCurrentCaseException | TskCoreException ex) { + Exceptions.printStackTrace(ex); + Assert.fail(ex); + } + System.out.println("Test case testFileType is successfully done."); + } + } From 34a153acd622f89adf37566c232eb83f40fc4e85 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\zhaohui" Date: Mon, 19 Mar 2018 18:00:21 -0400 Subject: [PATCH 2/5] 3191: Put the runInjestJob in the private method to prepare more tests to re-use it. --- .../autopsy/ingest/IngestFileFiltersTest.java | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java b/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java index bd1a1146d1..1a59e15445 100644 --- a/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java +++ b/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java @@ -40,6 +40,7 @@ import org.sleuthkit.autopsy.casemodule.services.FileManager; import org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor; import org.sleuthkit.autopsy.ingest.IngestJobSettings.IngestType; import org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdModuleFactory; +import org.sleuthkit.autopsy.modules.interestingitems.FilesSet; import org.sleuthkit.autopsy.testutils.DataSourceProcessorRunner; import org.sleuthkit.autopsy.testutils.DataSourceProcessorRunner.ProcessorCallback; import org.sleuthkit.autopsy.testutils.IngestJobRunner; @@ -146,23 +147,7 @@ public class IngestFileFiltersTest extends TestCase { } public void testFileType() { - FileTypeIdModuleFactory factory = new FileTypeIdModuleFactory(); - IngestModuleIngestJobSettings settings = factory.getDefaultIngestJobSettings(); - IngestModuleTemplate template = new IngestModuleTemplate(factory, settings); - template.setEnabled(true); - ArrayList templates = new ArrayList<>(); - templates.add(template); - //return new IngestJobSettings(IngestFileFiltersTest.class.getCanonicalName(), IngestType.FILES_ONLY, templates); - //IngestJobSettings ingestJobSettings = setIngestJobSettings(); - IngestJobSettings ingestJobSettings = new IngestJobSettings(IngestFileFiltersTest.class.getCanonicalName(), IngestType.FILES_ONLY, templates); - try { - List errs = IngestJobRunner.runIngestJob(callBack.getDataSourceContent(), ingestJobSettings); - assertEquals(0, errs.size()); - } catch (InterruptedException ex) { - Exceptions.printStackTrace(ex); - Assert.fail(ex); - } - + runInjestJob(null); FileManager fileManager; try { fileManager = Case.getOpenCase().getServices().getFileManager(); @@ -176,4 +161,21 @@ public class IngestFileFiltersTest extends TestCase { System.out.println("Test case testFileType is successfully done."); } + private void runInjestJob(FilesSet filters) { + FileTypeIdModuleFactory factory = new FileTypeIdModuleFactory(); + IngestModuleIngestJobSettings settings = factory.getDefaultIngestJobSettings(); + IngestModuleTemplate template = new IngestModuleTemplate(factory, settings); + template.setEnabled(true); + ArrayList templates = new ArrayList<>(); + templates.add(template); + IngestJobSettings ingestJobSettings = filters == null ? new IngestJobSettings(IngestFileFiltersTest.class.getCanonicalName(), IngestType.FILES_ONLY, templates) : + new IngestJobSettings(IngestFileFiltersTest.class.getCanonicalName(), IngestType.FILES_ONLY, templates, filters); + try { + List errs = IngestJobRunner.runIngestJob(callBack.getDataSourceContent(), ingestJobSettings); + assertEquals(0, errs.size()); + } catch (InterruptedException ex) { + Exceptions.printStackTrace(ex); + Assert.fail(ex); + } + } } From 7b6d5ee3021661e25222e222f55001044a1172e8 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\zhaohui" Date: Thu, 22 Mar 2018 16:20:35 -0400 Subject: [PATCH 3/5] 3191: Clean up debug messages. --- .../autopsy/ingest/IngestFileFiltersTest.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java b/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java index 1a59e15445..1e964d60f0 100644 --- a/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java +++ b/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java @@ -64,7 +64,6 @@ public class IngestFileFiltersTest extends TestCase { @Override public void setUp() { - System.out.println("Set up tests"); // Delete the test directory, if it exists if (CASE_DIRECTORY_PATH.toFile().exists()) { try { @@ -103,7 +102,6 @@ public class IngestFileFiltersTest extends TestCase { @Override public void tearDown() { - System.out.println("Test clean up"); try { Case.closeCurrentCase(); //Seems like we need some time to close the case. @@ -130,7 +128,6 @@ public class IngestFileFiltersTest extends TestCase { Exceptions.printStackTrace(ex); Assert.fail(ex); } - System.out.println("Test case 'testFileNotFound' successfully done."); } public void testFileFound() { @@ -143,11 +140,10 @@ public class IngestFileFiltersTest extends TestCase { Exceptions.printStackTrace(ex); Assert.fail(ex); } - System.out.println("Test case 'testFileFound' successfully done."); } public void testFileType() { - runInjestJob(null); + runInjestJob(); FileManager fileManager; try { fileManager = Case.getOpenCase().getServices().getFileManager(); @@ -158,18 +154,16 @@ public class IngestFileFiltersTest extends TestCase { Exceptions.printStackTrace(ex); Assert.fail(ex); } - System.out.println("Test case testFileType is successfully done."); } - private void runInjestJob(FilesSet filters) { + private void runInjestJob() { FileTypeIdModuleFactory factory = new FileTypeIdModuleFactory(); IngestModuleIngestJobSettings settings = factory.getDefaultIngestJobSettings(); IngestModuleTemplate template = new IngestModuleTemplate(factory, settings); template.setEnabled(true); ArrayList templates = new ArrayList<>(); templates.add(template); - IngestJobSettings ingestJobSettings = filters == null ? new IngestJobSettings(IngestFileFiltersTest.class.getCanonicalName(), IngestType.FILES_ONLY, templates) : - new IngestJobSettings(IngestFileFiltersTest.class.getCanonicalName(), IngestType.FILES_ONLY, templates, filters); + IngestJobSettings ingestJobSettings = new IngestJobSettings(IngestFileFiltersTest.class.getCanonicalName(), IngestType.FILES_ONLY, templates); try { List errs = IngestJobRunner.runIngestJob(callBack.getDataSourceContent(), ingestJobSettings); assertEquals(0, errs.size()); From b2dc85d4c01e45c272976f51e8727e7045b7fbcb Mon Sep 17 00:00:00 2001 From: "U-BASIS\\zhaohui" Date: Mon, 26 Mar 2018 15:14:47 -0400 Subject: [PATCH 4/5] 3191: Delete the unuseful test methods. Test method uses getDataSources from open case instead of using a private callBack member to get datasource. --- .../autopsy/ingest/IngestFileFiltersTest.java | 45 +++++-------------- 1 file changed, 10 insertions(+), 35 deletions(-) diff --git a/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java b/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java index 1e964d60f0..5d32efc10b 100644 --- a/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java +++ b/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java @@ -53,7 +53,6 @@ public class IngestFileFiltersTest extends TestCase { private static final Path CASE_DIRECTORY_PATH = Paths.get(System.getProperty("java.io.tmpdir"), "IngestFileFiltersTest"); private static final File CASE_DIR = new File(CASE_DIRECTORY_PATH.toString()); private static final Path IMAGE_PATH = Paths.get("test/filter_test1.img"); - private ProcessorCallback callBack; public static Test suite() { NbModuleSuite.Configuration conf = NbModuleSuite.createConfiguration(IngestFileFiltersTest.class). @@ -88,16 +87,16 @@ public class IngestFileFiltersTest extends TestCase { assertTrue(CASE_DIR.exists()); ImageDSProcessor dataSourceProcessor = new ImageDSProcessor(); try { - callBack = DataSourceProcessorRunner.runDataSourceProcessor(dataSourceProcessor, IMAGE_PATH); + ProcessorCallback callBack = DataSourceProcessorRunner.runDataSourceProcessor(dataSourceProcessor, IMAGE_PATH); + List dataSourceContent = callBack.getDataSourceContent(); + assertEquals(1, dataSourceContent.size()); + List errorMessages = callBack.getErrorMessages(); + assertEquals(0, errorMessages.size()); } catch (AutoIngestDataSourceProcessor.AutoIngestDataSourceProcessorException | InterruptedException ex) { Exceptions.printStackTrace(ex); Assert.fail(ex); } - List dataSourceContent = callBack.getDataSourceContent(); - assertEquals(1, dataSourceContent.size()); - List errorMessages = callBack.getErrorMessages(); - assertEquals(0, errorMessages.size()); } @Override @@ -118,35 +117,11 @@ public class IngestFileFiltersTest extends TestCase { assertFalse(CASE_DIR.exists()); } - public void testFileNotFound() { - try { - FileManager fileManager = Case.getOpenCase().getServices().getFileManager(); - List results = fileManager.findFiles("noFound"); - assertEquals(0, results.size()); - - } catch (TskCoreException | NoCurrentCaseException ex) { - Exceptions.printStackTrace(ex); - Assert.fail(ex); - } - } - - public void testFileFound() { - try { - FileManager fileManager = Case.getOpenCase().getServices().getFileManager(); - List results = fileManager.findFiles("file.jpg", "dir1"); - assertEquals(1, results.size()); - assertEquals("file.jpg", results.get(0).getName()); - } catch (TskCoreException | NoCurrentCaseException ex) { - Exceptions.printStackTrace(ex); - Assert.fail(ex); - } - } - public void testFileType() { - runInjestJob(); - FileManager fileManager; try { - fileManager = Case.getOpenCase().getServices().getFileManager(); + Case openCase = Case.getOpenCase(); + runIngestJob(openCase.getDataSources()); + FileManager fileManager = Case.getOpenCase().getServices().getFileManager(); List results = fileManager.findFiles("file.jpg", "dir1"); String mimeType = results.get(0).getMIMEType(); assertEquals("image/jpeg", mimeType); @@ -156,7 +131,7 @@ public class IngestFileFiltersTest extends TestCase { } } - private void runInjestJob() { + private void runIngestJob(List datasources) { FileTypeIdModuleFactory factory = new FileTypeIdModuleFactory(); IngestModuleIngestJobSettings settings = factory.getDefaultIngestJobSettings(); IngestModuleTemplate template = new IngestModuleTemplate(factory, settings); @@ -165,7 +140,7 @@ public class IngestFileFiltersTest extends TestCase { templates.add(template); IngestJobSettings ingestJobSettings = new IngestJobSettings(IngestFileFiltersTest.class.getCanonicalName(), IngestType.FILES_ONLY, templates); try { - List errs = IngestJobRunner.runIngestJob(callBack.getDataSourceContent(), ingestJobSettings); + List errs = IngestJobRunner.runIngestJob(datasources, ingestJobSettings); assertEquals(0, errs.size()); } catch (InterruptedException ex) { Exceptions.printStackTrace(ex); From 5215b1e474dc1e83e89895c1872168326083c0c7 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\zhaohui" Date: Mon, 26 Mar 2018 15:42:09 -0400 Subject: [PATCH 5/5] 3191: cleanup --- .../org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java b/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java index 5d32efc10b..1a98aa7d07 100644 --- a/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java +++ b/Core/test/qa-functional/src/org/sleuthkit/autopsy/ingest/IngestFileFiltersTest.java @@ -40,7 +40,6 @@ import org.sleuthkit.autopsy.casemodule.services.FileManager; import org.sleuthkit.autopsy.datasourceprocessors.AutoIngestDataSourceProcessor; import org.sleuthkit.autopsy.ingest.IngestJobSettings.IngestType; import org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdModuleFactory; -import org.sleuthkit.autopsy.modules.interestingitems.FilesSet; import org.sleuthkit.autopsy.testutils.DataSourceProcessorRunner; import org.sleuthkit.autopsy.testutils.DataSourceProcessorRunner.ProcessorCallback; import org.sleuthkit.autopsy.testutils.IngestJobRunner; @@ -121,7 +120,7 @@ public class IngestFileFiltersTest extends TestCase { try { Case openCase = Case.getOpenCase(); runIngestJob(openCase.getDataSources()); - FileManager fileManager = Case.getOpenCase().getServices().getFileManager(); + FileManager fileManager = openCase.getServices().getFileManager(); List results = fileManager.findFiles("file.jpg", "dir1"); String mimeType = results.get(0).getMIMEType(); assertEquals("image/jpeg", mimeType);