mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 18:17:43 +00:00
Finished reference set tests
This commit is contained in:
parent
e502fedd9b
commit
23c5e5be62
@ -1541,6 +1541,9 @@ public abstract class AbstractSqlEamDb implements EamDb {
|
|||||||
public EamOrganization getReferenceSetOrganization(int referenceSetID) throws EamDbException {
|
public EamOrganization getReferenceSetOrganization(int referenceSetID) throws EamDbException {
|
||||||
|
|
||||||
EamGlobalSet globalSet = getReferenceSetByID(referenceSetID);
|
EamGlobalSet globalSet = getReferenceSetByID(referenceSetID);
|
||||||
|
if(globalSet == null) {
|
||||||
|
throw new EamDbException("Reference set with ID " + referenceSetID + " not found");
|
||||||
|
}
|
||||||
return (getOrganizationByID(globalSet.getOrgID()));
|
return (getOrganizationByID(globalSet.getOrgID()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,15 +73,6 @@ public class CentralRepoDatamodelTest extends TestCase {
|
|||||||
// Save the current central repo settings
|
// Save the current central repo settings
|
||||||
propertiesMap = ModuleSettings.getConfigSettings(PROPERTIES_FILE);
|
propertiesMap = ModuleSettings.getConfigSettings(PROPERTIES_FILE);
|
||||||
|
|
||||||
// Set up an Autopsy case for testing
|
|
||||||
try {
|
|
||||||
Case.createAsCurrentCase(Case.CaseType.SINGLE_USER_CASE, testDirectory.toString(), new CaseDetails("CentralRepoDatamodelTestCase"));
|
|
||||||
} catch (CaseActionException ex) {
|
|
||||||
Exceptions.printStackTrace(ex);
|
|
||||||
Assert.fail(ex);
|
|
||||||
}
|
|
||||||
assertTrue("Failed to create test case", testDirectory.toFile().exists());
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
dbSettingsSqlite.setDbName(CR_DB_NAME);
|
dbSettingsSqlite.setDbName(CR_DB_NAME);
|
||||||
dbSettingsSqlite.setDbDirectory(testDirectory.toString());
|
dbSettingsSqlite.setDbDirectory(testDirectory.toString());
|
||||||
@ -150,14 +141,8 @@ public class CentralRepoDatamodelTest extends TestCase {
|
|||||||
// Close and delete the test case and central repo db
|
// Close and delete the test case and central repo db
|
||||||
try {
|
try {
|
||||||
EamDb.getInstance().shutdownConnections();
|
EamDb.getInstance().shutdownConnections();
|
||||||
Case.closeCurrentCase();
|
Case.closeCurrentCase(); // There shouldn't be a case open, but it's fine to call this anyway
|
||||||
|
|
||||||
// This seems to help in allowing the Autopsy case to be deleted
|
|
||||||
try{
|
|
||||||
Thread.sleep(2000);
|
|
||||||
} catch (Exception ex){
|
|
||||||
|
|
||||||
}
|
|
||||||
FileUtils.deleteDirectory(testDirectory.toFile());
|
FileUtils.deleteDirectory(testDirectory.toFile());
|
||||||
|
|
||||||
} catch (EamDbException | CaseActionException | IOException ex) {
|
} catch (EamDbException | CaseActionException | IOException ex) {
|
||||||
@ -169,7 +154,40 @@ public class CentralRepoDatamodelTest extends TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test method for the methods related to reference sets
|
* Test method for the methods related to reference sets (does not include instance testing)
|
||||||
|
* newReferenceSet(EamGlobalSet eamGlobalSet) tests:
|
||||||
|
* - Test creating notable reference set
|
||||||
|
* - Test creating known reference set
|
||||||
|
* - Test creating duplicate reference set
|
||||||
|
* - Test creating almost duplicate reference set
|
||||||
|
* - Test with invalid org ID
|
||||||
|
* - Test with null name
|
||||||
|
* - Test with null version
|
||||||
|
* - Test with null known status
|
||||||
|
* - Test with null file type
|
||||||
|
* referenceSetIsValid(int referenceSetID, String referenceSetName, String version) tests:
|
||||||
|
* - Test on existing reference set
|
||||||
|
* - Test on invalid reference set
|
||||||
|
* - Test with null name
|
||||||
|
* - Test with null version
|
||||||
|
* referenceSetExists(String referenceSetName, String version) tests:
|
||||||
|
* - Test on existing reference set
|
||||||
|
* - Test on invalid reference set
|
||||||
|
* - Test with null name
|
||||||
|
* - Test with null version
|
||||||
|
* getReferenceSetByID(int globalSetID) tests:
|
||||||
|
* - Test with valid ID
|
||||||
|
* - Test with invalid ID
|
||||||
|
* getAllReferenceSets(CorrelationAttribute.Type correlationType) tests:
|
||||||
|
* - Test getting all file sets
|
||||||
|
* - Test getting all email sets
|
||||||
|
* - Test with null type parameter
|
||||||
|
* deleteReferenceSet(int referenceSetID) tests:
|
||||||
|
* - Test on valid reference set ID
|
||||||
|
* - Test on invalid reference set ID
|
||||||
|
* getReferenceSetOrganization(int referenceSetID) tests:
|
||||||
|
* - Test on valid reference set ID
|
||||||
|
* - Test on invalid reference set ID
|
||||||
*/
|
*/
|
||||||
public void testReferenceSets() {
|
public void testReferenceSets() {
|
||||||
String set1name = "referenceSet1";
|
String set1name = "referenceSet1";
|
||||||
@ -396,13 +414,44 @@ public class CentralRepoDatamodelTest extends TestCase {
|
|||||||
assertTrue("setToDelete wasn't found in database", EamDb.getInstance().referenceSetIsValid(setToDeleteID, setToDelete.getSetName(), setToDelete.getVersion()));
|
assertTrue("setToDelete wasn't found in database", EamDb.getInstance().referenceSetIsValid(setToDeleteID, setToDelete.getSetName(), setToDelete.getVersion()));
|
||||||
int currentCount = EamDb.getInstance().getAllReferenceSets(fileType).size();
|
int currentCount = EamDb.getInstance().getAllReferenceSets(fileType).size();
|
||||||
|
|
||||||
|
EamDb.getInstance().deleteReferenceSet(setToDeleteID);
|
||||||
|
assertFalse("Deleted reference set was found in database", EamDb.getInstance().referenceSetIsValid(setToDeleteID, setToDelete.getSetName(), setToDelete.getVersion()));
|
||||||
|
assertTrue("Unexpected number of reference sets in database after deletion", currentCount - 1 == EamDb.getInstance().getAllReferenceSets(fileType).size());
|
||||||
|
|
||||||
} catch (EamDbException ex){
|
} catch (EamDbException ex){
|
||||||
Exceptions.printStackTrace(ex);
|
Exceptions.printStackTrace(ex);
|
||||||
Assert.fail(ex);
|
Assert.fail(ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Test deleting a non-existent reference set
|
||||||
|
// The expectation is that nothing will happen
|
||||||
|
try {
|
||||||
|
int currentCount = EamDb.getInstance().getAllReferenceSets(fileType).size();
|
||||||
|
EamDb.getInstance().deleteReferenceSet(1234);
|
||||||
|
assertTrue("Number of reference sets changed after deleting non-existent set", currentCount == EamDb.getInstance().getAllReferenceSets(fileType).size());
|
||||||
|
} catch (EamDbException ex){
|
||||||
|
Exceptions.printStackTrace(ex);
|
||||||
|
Assert.fail(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test getting reference set organization for valid ID with org set
|
||||||
|
try {
|
||||||
|
EamOrganization org = EamDb.getInstance().getReferenceSetOrganization(set1id);
|
||||||
|
assertTrue("getReferenceSetOrganization returned null for valid set", org != null);
|
||||||
|
assertTrue("getReferenceSetOrganization returned the incorrect organization", org.getOrgID() == org1.getOrgID());
|
||||||
|
} catch (EamDbException ex){
|
||||||
|
Exceptions.printStackTrace(ex);
|
||||||
|
Assert.fail(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test getting reference set organization for non-existent reference set
|
||||||
|
try {
|
||||||
|
EamOrganization org = EamDb.getInstance().getReferenceSetOrganization(4567);
|
||||||
|
Assert.fail("getReferenceSetOrganization failed to throw exception for invalid reference set ID");
|
||||||
|
} catch (EamDbException ex){
|
||||||
|
Exceptions.printStackTrace(ex);
|
||||||
|
Assert.fail(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -566,6 +615,16 @@ public class CentralRepoDatamodelTest extends TestCase {
|
|||||||
CorrelationCase caseA;
|
CorrelationCase caseA;
|
||||||
CorrelationCase caseB;
|
CorrelationCase caseB;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Set up an Autopsy case for testing
|
||||||
|
try {
|
||||||
|
Case.createAsCurrentCase(Case.CaseType.SINGLE_USER_CASE, testDirectory.toString(), new CaseDetails("CentralRepoDatamodelTestCase"));
|
||||||
|
} catch (CaseActionException ex) {
|
||||||
|
Exceptions.printStackTrace(ex);
|
||||||
|
Assert.fail(ex);
|
||||||
|
}
|
||||||
|
assertTrue("Failed to create test case", testDirectory.toFile().exists());
|
||||||
|
|
||||||
// Test creating a case with valid name and uuid
|
// Test creating a case with valid name and uuid
|
||||||
try {
|
try {
|
||||||
caseA = new CorrelationCase(caseAuuid, caseAname);
|
caseA = new CorrelationCase(caseAuuid, caseAname);
|
||||||
@ -761,6 +820,20 @@ public class CentralRepoDatamodelTest extends TestCase {
|
|||||||
} catch (EamDbException ex) {
|
} catch (EamDbException ex) {
|
||||||
// This is the expected behavior
|
// This is the expected behavior
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
Case.closeCurrentCase();
|
||||||
|
// This seems to help in allowing the Autopsy case to be deleted
|
||||||
|
try{
|
||||||
|
Thread.sleep(2000);
|
||||||
|
} catch (Exception ex){
|
||||||
|
|
||||||
|
}
|
||||||
|
} catch (CaseActionException ex){
|
||||||
|
Exceptions.printStackTrace(ex);
|
||||||
|
Assert.fail(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user