Skip to content

Commit 5df00c2

Browse files
author
Pipeline
committed
R - Replaced static method with instance method on FileUtilities and mocked it in the test
1 parent 9ee3ca0 commit 5df00c2

File tree

4 files changed

+17
-14
lines changed

4 files changed

+17
-14
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from Infrastructure.FileUtilities import FileUtilities
2+
3+
4+
class EventLoggingManager:
5+
6+
def __init__(self, file_utility):
7+
file_path = file_utility.get_root_path() + "\\filename.txt"
8+
if not file_utility.file_exists(file_path):
9+
file_utility.create_file(file_path)

Infrastructure/FileUtilities.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ def main_is_frozen():
1111
hasattr(sys, "importers") # old py2exe
1212
or imp.is_frozen("__main__")) # tools/freeze
1313

14-
@staticmethod
15-
def get_root_path():
14+
def get_root_path(self):
1615
if FileUtilities.main_is_frozen():
1716
return os.path.dirname(sys.executable)
1817
return os.path.dirname(os.path.realpath(__file__))

Infrastructure/SessionManager.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
class SessionManager(object):
88
def __init__(self, uuid_generator):
99
self.uuid_generator = uuid_generator
10+
self.file_utilities = FileUtilities()
1011

1112
def create_session(self):
1213
session_id = self.uuid_generator.uuid1()
@@ -16,7 +17,7 @@ def create_session(self):
1617
file = open(directory + session_id.__str__(), 'w+')
1718

1819
def get_sessions_path(self):
19-
directory = (FileUtilities.get_root_path() + "/Sessions/")
20+
directory = (self.file_utilities.get_root_path() + "/Sessions/")
2021
if not os.path.exists(directory):
2122
os.makedirs(directory)
2223
return directory

tests/Infrastructure/EventLoggingManager/test_EventLoggingManager.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,12 @@
11
import unittest
22
from unittest.mock import MagicMock
3-
from approvaltests.approvals import verify
43

4+
from Infrastructure.EventLoggingManager import EventLoggingManager
55
from Infrastructure.FileUtilities import FileUtilities
6-
from Infrastructure.SettingsManager import SettingsManager
76

87

9-
class EventLoggingManager:
10-
11-
def __init__(self, file_utility):
12-
file_path = FileUtilities.get_root_path() + "\\filename.txt"
13-
if not file_utility.file_exists(file_path):
14-
# file_utility.
15-
file_utility.create_file(file_path)
16-
8+
# 1. Mock remaining File Utilities function calls
9+
# 2. Choose a real name for the log file
1710

1811
class TestsEventLoggingManager(unittest.TestCase):
1912

@@ -22,13 +15,14 @@ def test_log_file_should_be_created_if_doesnt_exist(self):
2215

2316
# Arrange: Make sure the file does not exist
2417
file_utility = FileUtilities()
18+
file_utility.get_root_path = MagicMock(return_value='beginning of file path')
2519
file_utility.file_exists = MagicMock(return_value=False)
2620
file_utility.create_file = MagicMock(return_value=True)
2721
# Act: Instantiate EventLoggingManager
2822
event_logging_manager = EventLoggingManager(file_utility)
2923

3024
# Assert: Verify the file exists
31-
file_utility.create_file.assert_called_with(FileUtilities.get_root_path() + "\\filename.txt")
25+
file_utility.create_file.assert_called_with(file_utility.get_root_path() + "\\filename.txt")
3226

3327

3428
if __name__ == '__main__':

0 commit comments

Comments
 (0)