def testGetEventTags(self): """Tests the GetEventTags function.""" test_events = self._CreateTestEvents() with shared_test_lib.TempDirectory() as temp_directory: temp_file = os.path.join(temp_directory, 'plaso.sqlite') storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file, read_only=False) for event in test_events: storage_file.AddEvent(event) test_event_tags = self._CreateTestEventTags(test_events) for event_tag in test_event_tags: storage_file.AddEventTag(event_tag) storage_file.Close() storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file) test_event_tags = list(storage_file.GetEventTags()) self.assertEqual(len(test_event_tags), 4) storage_file.Close()
def testGetEventSources(self): """Tests the GetEventSources function.""" event_source = event_sources.EventSource() with shared_test_lib.TempDirectory() as temp_directory: temp_file = os.path.join(temp_directory, 'plaso.sqlite') storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file, read_only=False) storage_file.AddEventSource(event_source) storage_file.Close() storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file) test_event_sources = list(storage_file.GetEventSources()) self.assertEqual(len(test_event_sources), 1) storage_file.Close()
def CreateStorageFileForFile(cls, path): """Creates a storage file based on the file. Args: path (str): path to the storage file. Returns: StorageFile: a storage file or None if the storage file cannot be opened or the storage format is not supported. """ if storage_sqlite_file.SQLiteStorageFile.CheckSupportedFormat(path): return storage_sqlite_file.SQLiteStorageFile()
def CreateStorageFile(cls, storage_format): """Creates a storage file. Args: storage_format (str): storage format. Returns: StorageFile: a storage file or None if the storage file cannot be opened or the storage format is not supported. """ if storage_format == definitions.STORAGE_FORMAT_SQLITE: return storage_sqlite_file.SQLiteStorageFile()
def testAddEventSource(self): """Tests the AddEventSource function.""" event_source = event_sources.EventSource() with shared_test_lib.TempDirectory() as temp_directory: temp_file = os.path.join(temp_directory, 'plaso.sqlite') storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file, read_only=False) storage_file.AddEventSource(event_source) storage_file.Close()
def testGetErrors(self): """Tests the GetErrors function.""" extraction_error = errors.ExtractionError( message='Test extraction error') with shared_test_lib.TempDirectory() as temp_directory: temp_file = os.path.join(temp_directory, 'plaso.sqlite') storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file, read_only=False) storage_file.AddError(extraction_error) storage_file.Close() storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file) test_errors = list(storage_file.GetErrors()) self.assertEqual(len(test_errors), 1) storage_file.Close()
def testGetAnalysisReports(self): """Tests the GetAnalysisReports function.""" analysis_report = reports.AnalysisReport( plugin_name='test', text='test report') with shared_test_lib.TempDirectory() as temp_directory: temp_file = os.path.join(temp_directory, 'plaso.sqlite') storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file, read_only=False) storage_file.AddAnalysisReport(analysis_report) storage_file.Close() storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file) test_reports = list(storage_file.GetAnalysisReports()) self.assertEqual(len(test_reports), 1) storage_file.Close()
def testAddEvent(self): """Tests the AddEvent function.""" test_events = self._CreateTestEvents() with shared_test_lib.TempDirectory() as temp_directory: temp_file = os.path.join(temp_directory, 'plaso.sqlite') storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file, read_only=False) for event in test_events: storage_file.AddEvent(event) storage_file.Close()
def testAddError(self): """Tests the AddError function.""" extraction_error = errors.ExtractionError( message='Test extraction error') with shared_test_lib.TempDirectory() as temp_directory: temp_file = os.path.join(temp_directory, 'plaso.sqlite') storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file, read_only=False) storage_file.AddError(extraction_error) storage_file.Close()
def testAddAnalysisReport(self): """Tests the AddAnalysisReport function.""" analysis_report = reports.AnalysisReport( plugin_name=u'test', text=u'test report') with shared_test_lib.TempDirectory() as temp_directory: temp_file = os.path.join(temp_directory, u'plaso.sqlite') storage_file = sqlite_file.SQLiteStorageFile() storage_file.Open(path=temp_file, read_only=False) storage_file.AddAnalysisReport(analysis_report) storage_file.Close()
def testWriteSessionStartAndCompletion(self): """Tests the WriteSessionStart and WriteSessionCompletion functions.""" session = sessions.Session() session_start = sessions.SessionStart(identifier=session.identifier) session_completion = sessions.SessionCompletion( identifier=session.identifier) with shared_test_lib.TempDirectory() as temp_directory: temp_file = os.path.join(temp_directory, 'plaso.sqlite') storage_file = sqlite_file.SQLiteStorageFile( storage_type=definitions.STORAGE_TYPE_TASK) storage_file.Open(path=temp_file, read_only=False) storage_file.WriteSessionStart(session_start) storage_file.WriteSessionCompletion(session_completion) storage_file.Close()