Circular reference in SMS module serialization (#444)

* Fix circular reference in SMS module serialization
* Modify SMS test artifact to include date_read
This commit is contained in:
Rory Flynn 2024-01-03 18:55:32 +01:00 committed by GitHub
parent b7df87a62f
commit 2838bac63f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 4 deletions

View File

@ -44,7 +44,7 @@ class SMS(IOSExtraction):
def serialize(self, record: dict) -> Union[dict, list]:
text = record["text"].replace("\n", "\\n")
sms_data = f"{record['service']}: {record['guid']} \"{text}\" from {record['phone_number']} ({record['account']})"
sms_data = [
records = [
{
"timestamp": record["isodate"],
"module": self.__class__.__name__,
@ -54,7 +54,7 @@ class SMS(IOSExtraction):
]
# If the message was read, we add an extra event.
if record["isodate_read"]:
sms_data.append(
records.append(
{
"timestamp": record["isodate_read"],
"module": self.__class__.__name__,
@ -62,7 +62,7 @@ class SMS(IOSExtraction):
"data": sms_data,
}
)
return sms_data
return records
def check_indicators(self) -> None:
for message in self.results:

View File

@ -17,7 +17,7 @@ class TestSMSModule:
m = SMS(target_path=get_ios_backup_folder())
run_module(m)
assert len(m.results) == 1
assert len(m.timeline) == 1
assert len(m.timeline) == 2
assert len(m.detected) == 0
def test_detection(self, indicator_file):