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 {
|
||||
|
||||
EamGlobalSet globalSet = getReferenceSetByID(referenceSetID);
|
||||
if(globalSet == null) {
|
||||
throw new EamDbException("Reference set with ID " + referenceSetID + " not found");
|
||||
}
|
||||
return (getOrganizationByID(globalSet.getOrgID()));
|
||||
}
|
||||
|
||||
|
@ -73,15 +73,6 @@ public class CentralRepoDatamodelTest extends TestCase {
|
||||
// Save the current central repo settings
|
||||
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 {
|
||||
dbSettingsSqlite.setDbName(CR_DB_NAME);
|
||||
dbSettingsSqlite.setDbDirectory(testDirectory.toString());
|
||||
@ -150,14 +141,8 @@ public class CentralRepoDatamodelTest extends TestCase {
|
||||
// Close and delete the test case and central repo db
|
||||
try {
|
||||
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());
|
||||
|
||||
} 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() {
|
||||
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()));
|
||||
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){
|
||||
Exceptions.printStackTrace(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 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
|
||||
try {
|
||||
caseA = new CorrelationCase(caseAuuid, caseAname);
|
||||
@ -761,6 +820,20 @@ public class CentralRepoDatamodelTest extends TestCase {
|
||||
} catch (EamDbException ex) {
|
||||
// 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