Skip to content

Commit 75b9ff6

Browse files
author
Pipeline
committed
F Event logging manager now records time stamps
1 parent eab45e1 commit 75b9ff6

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

Infrastructure/EventLoggingManager.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33

44
class EventLoggingManager:
55

6-
def __init__(self, file_utility):
6+
def __init__(self, file_utility, date_time_utility):
77
self.file_utility = file_utility
88
self.file_path = self.file_utility.go_up_dirs(self.file_utility.get_root_path(), 1) + "\\MobTimerEvents.log"
99

10+
self.date_time_utility = date_time_utility
11+
1012
if not self.file_utility.file_exists(self.file_path):
1113
self.file_utility.create_file(self.file_path)
1214

1315
def log(self, data):
14-
self.file_utility.append(self.file_path, '\n' + data)
16+
self.file_utility.append(self.file_path, f'\n{self.date_time_utility.get_timestamp()} {data}')

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Run BuildMobTimer.py
3131

3232
# Kanban
3333
* Make it easy to track time actually working
34+
* Logs should have timestamps
3435
* log when mobber added and removed
3536
* enable/disable time tracking via the config file
3637
* define time types in the config file (Learning Time / Development Time etc...)

tests/Infrastructure/EventLoggingManager/test_EventLoggingManager.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import unittest
2-
from unittest.mock import call, MagicMock
2+
from unittest.mock import call, MagicMock, Mock
33

4+
from Infrastructure.DateTimeUtility import DateTimeUtility
45
from Infrastructure.EventLoggingManager import EventLoggingManager
56
from Infrastructure.FileUtilities import FileUtilities
67

@@ -13,8 +14,8 @@ def test_log_file_should_be_created_if_doesnt_exist(self):
1314
file_utility.get_root_path = MagicMock(return_value=beginning_of_file_path + "\\Infrastructure")
1415
file_utility.file_exists = MagicMock(return_value=False)
1516
file_utility.create_file = MagicMock(return_value=True)
16-
17-
EventLoggingManager(file_utility)
17+
date_time_utility = DateTimeUtility()
18+
EventLoggingManager(file_utility,date_time_utility)
1819

1920
file_utility.create_file.assert_called_with(beginning_of_file_path + '\\MobTimerEvents.log')
2021

@@ -24,7 +25,8 @@ def test_log_file_should_not_create_if_file_exists(self):
2425
file_utility.file_exists = MagicMock(return_value=True)
2526
file_utility.create_file = MagicMock(return_value=True)
2627

27-
EventLoggingManager(file_utility)
28+
date_time_utility = DateTimeUtility()
29+
EventLoggingManager(file_utility, date_time_utility)
2830

2931
file_utility.create_file.assert_not_called()
3032

@@ -35,16 +37,22 @@ def test_log_file_should_append_to_log(self):
3537
file_utility.file_exists = MagicMock(return_value=True)
3638
file_utility.create_file = MagicMock(return_value=True)
3739
file_utility.append = MagicMock()
38-
logger = EventLoggingManager(file_utility)
40+
date_time_utility = DateTimeUtility()
41+
42+
timestamps = [1594823426.159446, 1594123426.159447, 1594654426.159448]
43+
date_time_utility.get_timestamp = Mock()
44+
date_time_utility.get_timestamp.side_effect = timestamps
45+
logger = EventLoggingManager(file_utility, date_time_utility)
3946

4047
test_data = ["Hello world 1", "Hello world 2"]
4148

4249
for entry in test_data:
4350
logger.log(entry)
4451
calls = []
45-
52+
index = 0
4653
for entry in test_data:
47-
calls.append(call(beginning_of_file_path +'\\MobTimerEvents.log', '\n'+entry))
54+
calls.append(call(f'{beginning_of_file_path}\\MobTimerEvents.log', f'\n{timestamps[index]} {entry}'))
55+
index += 1
4856

4957
file_utility.append.assert_has_calls(calls)
5058

0 commit comments

Comments
 (0)