88from urllib .parse import urljoin
99
1010from django .conf import settings
11+ from django .test import override_settings
1112
1213from ietf .utils .tests import TestCase
1314from .meetecho import Conference , ConferenceManager , MeetechoAPI , MeetechoAPIError
1415
1516API_BASE = 'https://meetecho-api.example.com'
1617CLIENT_ID = 'datatracker'
1718CLIENT_SECRET = 'very secret'
19+ API_CONFIG = {
20+ 'api_base' : API_BASE ,
21+ 'client_id' : CLIENT_ID ,
22+ 'client_secret' : CLIENT_SECRET ,
23+ }
1824
1925
26+ @override_settings (MEETECHO_API_CONFIG = API_CONFIG )
2027class APITests (TestCase ):
2128 retrieve_token_url = urljoin (API_BASE , 'auth/ietfservice/tokens' )
2229 schedule_meeting_url = urljoin (API_BASE , 'meeting/interim/createRoom' )
@@ -25,33 +32,13 @@ class APITests(TestCase):
2532
2633 def setUp (self ):
2734 super ().setUp ()
28- self ._replace_settings (
29- MEETECHO_API_BASE = API_BASE ,
30- MEETECHO_CLIENT_ID = CLIENT_ID ,
31- MEETECHO_CLIENT_SECRET = CLIENT_SECRET ,
32- )
3335 self .requests_mock = requests_mock .Mocker ()
3436 self .requests_mock .start ()
3537
3638 def tearDown (self ):
3739 self .requests_mock .stop ()
38- self ._restore_settings ()
3940 super ().tearDown ()
4041
41- def _replace_settings (self , ** new_settings ):
42- if not hasattr (self , '_saved_settings' ):
43- self ._saved_settings = {}
44- for k , v in new_settings .items ():
45- self ._saved_settings [k ] = getattr (settings , k , None )
46- setattr (settings , k , v )
47-
48- def _restore_settings (self ):
49- for k , v in getattr (self , '_saved_settings' , {}).items ():
50- if v is None :
51- delattr (settings , k )
52- else :
53- setattr (settings , k , v )
54-
5542 def test_retrieve_wg_tokens (self ):
5643 data_to_fetch = {
5744 'tokens' : {
@@ -257,6 +244,7 @@ def test_time_serialization(self):
257244 self .assertEqual (api ._deserialize_time (api ._serialize_time (time )), time )
258245
259246
247+ @override_settings (MEETECHO_API_CONFIG = API_CONFIG )
260248class ConferenceManagerTests (TestCase ):
261249 def test_conference_from_api_dict (self ):
262250 confs = Conference .from_api_dict (
0 commit comments