|
| 1 | +#!/usr/bin/env python3 |
| 2 | +# -*- coding: utf-8 -*- |
| 3 | +"""Tests for the Android Viber call history plugin.""" |
| 4 | + |
| 5 | +import unittest |
| 6 | + |
| 7 | +from plaso.parsers.sqlite_plugins import android_viber_call |
| 8 | + |
| 9 | +from tests.parsers.sqlite_plugins import test_lib |
| 10 | + |
| 11 | + |
| 12 | +class AndroidViberCallSQLitePluginTest(test_lib.SQLitePluginTestCase): |
| 13 | + """Tests for the Android Viber Call History database plugin.""" |
| 14 | + |
| 15 | + def testProcess(self): |
| 16 | + """Test the Process function on an Android viber_data file.""" |
| 17 | + plugin = android_viber_call.AndroidViberCallPlugin() |
| 18 | + storage_writer = self._ParseDatabaseFileWithPlugin(['viber_data'], plugin) |
| 19 | + |
| 20 | + number_of_event_data = storage_writer.GetNumberOfAttributeContainers( |
| 21 | + 'event_data') |
| 22 | + self.assertEqual(number_of_event_data, 4) |
| 23 | + |
| 24 | + number_of_warnings = storage_writer.GetNumberOfAttributeContainers( |
| 25 | + 'extraction_warning') |
| 26 | + self.assertEqual(number_of_warnings, 0) |
| 27 | + |
| 28 | + number_of_warnings = storage_writer.GetNumberOfAttributeContainers( |
| 29 | + 'recovery_warning') |
| 30 | + self.assertEqual(number_of_warnings, 0) |
| 31 | + |
| 32 | + expected_event_values = { |
| 33 | + 'type': 2, |
| 34 | + 'data_type': 'android:viber:call', |
| 35 | + 'duration': 105, |
| 36 | + 'number': '+19198887386', |
| 37 | + 'start_time': '2022-11-25T20:43:08.267+00:00', |
| 38 | + 'end_time': '2022-11-25T20:44:53.267+00:00', |
| 39 | + 'viber_call_type': 4} |
| 40 | + |
| 41 | + event_data = storage_writer.GetAttributeContainerByIndex('event_data', 3) |
| 42 | + self.CheckEventData(event_data, expected_event_values) |
| 43 | + |
| 44 | + |
| 45 | +if __name__ == '__main__': |
| 46 | + unittest.main() |
0 commit comments