Skip to content

Commit 9f45619

Browse files
committed
Improve how we obtain the settings path
1 parent 9327bcc commit 9f45619

File tree

9 files changed

+26
-20
lines changed

9 files changed

+26
-20
lines changed

src/onelogin/saml2/settings.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from datetime import datetime
1313
import json
1414
import re
15-
from os.path import dirname, exists, join, sep
15+
from os.path import dirname, exists, join, sep, abspath
1616
from xml.dom.minidom import Document
1717

1818
from onelogin.saml2.constants import OneLogin_Saml2_Constants
@@ -115,7 +115,7 @@ def __load_paths(self, base_path=None):
115115
Sets the paths of the different folders
116116
"""
117117
if base_path is None:
118-
base_path = dirname(dirname(dirname(__file__)))
118+
base_path = dirname(dirname(dirname(abspath(__file__))))
119119
if not base_path.endswith(sep):
120120
base_path += sep
121121
self.__paths = {
@@ -134,7 +134,7 @@ def __update_paths(self, settings):
134134

135135
if 'custom_base_path' in settings:
136136
base_path = settings['custom_base_path']
137-
base_path = join(dirname(__file__), base_path)
137+
base_path = join(dirname(abspath(__file__)), base_path)
138138
self.__load_paths(base_path)
139139

140140
def get_base_path(self):

tests/src/OneLogin/saml2_tests/auth_test.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@
1919

2020

2121
class OneLogin_Saml2_Auth_Test(unittest.TestCase):
22-
data_path = join(dirname(__file__), '..', '..', '..', 'data')
22+
data_path = join(dirname(dirname(dirname(dirname(__file__)))), 'data')
23+
settings_path = join(dirname(dirname(dirname(dirname(__file__)))), 'settings')
2324

2425
def loadSettingsJSON(self):
25-
filename = join(dirname(__file__), '..', '..', '..', 'settings', 'settings1.json')
26+
filename = join(self.settings_path, 'settings1.json')
2627
if exists(filename):
2728
stream = open(filename, 'r')
2829
settings = json.load(stream)

tests/src/OneLogin/saml2_tests/authn_request_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
class OneLogin_Saml2_Authn_Request_Test(unittest.TestCase):
2222
def loadSettingsJSON(self):
23-
filename = join(dirname(__file__), '..', '..', '..', 'settings', 'settings1.json')
23+
filename = join(dirname(dirname(dirname(dirname(__file__)))), 'settings', 'settings1.json')
2424
if exists(filename):
2525
stream = open(filename, 'r')
2626
settings = json.load(stream)

tests/src/OneLogin/saml2_tests/logout_request_test.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@
1818

1919

2020
class OneLogin_Saml2_Logout_Request_Test(unittest.TestCase):
21-
data_path = join(dirname(__file__), '..', '..', '..', 'data')
21+
data_path = join(dirname(dirname(dirname(dirname(__file__)))), 'data')
22+
settings_path = join(dirname(dirname(dirname(dirname(__file__)))), 'settings')
2223

2324
def loadSettingsJSON(self):
24-
filename = join(dirname(__file__), '..', '..', '..', 'settings', 'settings1.json')
25+
filename = join(self.settings_path, 'settings1.json')
2526
if exists(filename):
2627
stream = open(filename, 'r')
2728
settings = json.load(stream)

tests/src/OneLogin/saml2_tests/logout_response_test.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@
1818

1919

2020
class OneLogin_Saml2_Logout_Response_Test(unittest.TestCase):
21-
data_path = join(dirname(__file__), '..', '..', '..', 'data')
21+
data_path = join(dirname(dirname(dirname(dirname(__file__)))), 'data')
22+
settings_path = join(dirname(dirname(dirname(dirname(__file__)))), 'settings')
2223

2324
def loadSettingsJSON(self):
24-
filename = join(dirname(__file__), '..', '..', '..', 'settings', 'settings1.json')
25+
filename = join(self.settings_path, 'settings1.json')
2526
if exists(filename):
2627
stream = open(filename, 'r')
2728
settings = json.load(stream)

tests/src/OneLogin/saml2_tests/metadata_test.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717

1818

1919
class OneLogin_Saml2_Metadata_Test(unittest.TestCase):
20+
settings_path = join(dirname(dirname(dirname(dirname(__file__)))), 'settings')
21+
2022
def loadSettingsJSON(self):
21-
filename = join(dirname(__file__), '..', '..', '..', 'settings', 'settings1.json')
23+
filename = join(self.settings_path, 'settings1.json')
2224
if exists(filename):
2325
stream = open(filename, 'r')
2426
settings = json.load(stream)

tests/src/OneLogin/saml2_tests/response_test.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020

2121

2222
class OneLogin_Saml2_Response_Test(unittest.TestCase):
23-
data_path = join(dirname(__file__), '..', '..', '..', 'data')
23+
data_path = join(dirname(dirname(dirname(dirname(__file__)))), 'data')
2424

2525
def loadSettingsJSON(self, filename=None):
2626
if filename:
27-
filename = join(dirname(__file__), '..', '..', '..', 'settings', filename)
27+
filename = join(dirname(dirname(dirname(dirname(__file__)))), 'settings', filename)
2828
else:
29-
filename = join(dirname(__file__), '..', '..', '..', 'settings', 'settings1.json')
29+
filename = join(dirname(dirname(dirname(dirname(__file__)))), 'settings', 'settings1.json')
3030
if exists(filename):
3131
stream = open(filename, 'r')
3232
settings = json.load(stream)

tests/src/OneLogin/saml2_tests/settings_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515

1616

1717
class OneLogin_Saml2_Settings_Test(unittest.TestCase):
18-
data_path = join(dirname(__file__), '..', '..', '..', 'data')
19-
settings_path = join(dirname(__file__), '..', '..', '..', 'settings')
18+
data_path = join(dirname(dirname(dirname(dirname(__file__)))), 'data')
19+
settings_path = join(dirname(dirname(dirname(dirname(__file__)))), 'settings')
2020

2121
def loadSettingsJSON(self):
2222
filename = join(self.settings_path, 'settings1.json')
@@ -121,7 +121,7 @@ def testLoadSettingsFromFile(self):
121121
Tests the OneLogin_Saml2_Settings Constructor.
122122
Case load setting from file
123123
"""
124-
custom_base_path = join(dirname(__file__), '..', '..', '..', 'settings')
124+
custom_base_path = join(dirname(dirname(dirname(dirname(__file__)))), 'settings')
125125
settings = OneLogin_Saml2_Settings(custom_base_path=custom_base_path)
126126
self.assertEqual(len(settings.get_errors()), 0)
127127

@@ -131,7 +131,7 @@ def testLoadSettingsFromFile(self):
131131
except Exception as e:
132132
self.assertIn('Settings file not found', e.message)
133133

134-
custom_base_path = join(dirname(__file__), '..', '..', '..', 'data', 'customPath')
134+
custom_base_path = join(dirname(dirname(dirname(dirname(__file__)))), 'data', 'customPath')
135135
settings_3 = OneLogin_Saml2_Settings(custom_base_path=custom_base_path)
136136
self.assertEqual(len(settings_3.get_errors()), 0)
137137

tests/src/OneLogin/saml2_tests/signed_response_test.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@
1515

1616

1717
class OneLogin_Saml2_SignedResponse_Test(unittest.TestCase):
18-
data_path = join(dirname(__file__), '..', '..', '..', 'data')
18+
data_path = join(dirname(dirname(dirname(dirname(__file__)))), 'data')
19+
settings_path = join(dirname(dirname(dirname(dirname(__file__)))), 'settings')
1920

2021
def loadSettingsJSON(self):
21-
filename = join(dirname(__file__), '..', '..', '..', 'settings', 'settings1.json')
22+
filename = join(self.settings_path, 'settings1.json')
2223
if exists(filename):
2324
stream = open(filename, 'r')
2425
settings = json.load(stream)

0 commit comments

Comments
 (0)