55
66import pytest
77
8- from daq_config_server .testing import make_test_response
98from daq_config_server .whitelist import WhitelistFetcher , get_whitelist
109
11- FAKE_WHITELIST_RESPONSE = """\
12- whitelist_files:
13- - /test/file1.txt
14- - /test/file2.txt
15- whitelist_dirs:
16- - /test/dir1
17- - /test/dir2
18- """
10+ """The tests in this file will read directly from the whitelist.yaml in the current
11+ branch"""
1912
2013
21- def test_fetch_and_update_contructs_whitelist_given_yaml_response ():
22- with patch ("daq_config_server.whitelist.requests.get" ) as mock_request :
23- mock_request .return_value = make_test_response (content = FAKE_WHITELIST_RESPONSE )
24- whitelist = get_whitelist ()
25- expected_files = {Path ("/test/file1.txt" ), Path ("/test/file2.txt" )}
26- expected_dirs = {Path ("/test/dir1" ), Path ("/test/dir2" )}
27- assert whitelist .whitelist_files == expected_files
28- assert whitelist .whitelist_dirs == expected_dirs
14+ def test_fetch_and_update_contructs_whitelist_given_yaml ():
15+ whitelist = get_whitelist ()
16+ expected_files = {
17+ Path ("/tests/test_data/beamline_parameters.txt" ),
18+ }
19+ expected_dirs = {
20+ Path ("/tests/test_data/" ),
21+ Path ("/dls_sw/i03/software/daq_configuration/" ),
22+ }
23+ assert expected_files .issubset (whitelist .whitelist_files )
24+ assert expected_dirs .issubset (whitelist .whitelist_dirs )
2925
3026
3127@patch ("daq_config_server.whitelist.LOGGER.info" )
32- @patch ("daq_config_server.whitelist.requests.get" )
33- def test_initial_load_on_sucessful_fetch (
34- mock_request : MagicMock , mock_log_info : MagicMock
35- ):
36- mock_request .return_value = make_test_response (content = FAKE_WHITELIST_RESPONSE )
28+ def test_initial_load_on_sucessful_fetch (mock_log_info : MagicMock ):
3729 get_whitelist ()
3830 mock_log_info .assert_called_once_with ("Successfully read whitelist from GitHub." )
3931
4032
4133@patch ("daq_config_server.whitelist.LOGGER.error" )
42- @patch ("daq_config_server.whitelist.requests.get" )
43- def test_initial_load_on_failed_fetch (
44- mock_request : MagicMock , mock_log_error : MagicMock
45- ):
34+ def test_initial_load_on_failed_fetch (mock_log_error : MagicMock ):
4635 WhitelistFetcher ._fetch_and_update = MagicMock (side_effect = Exception ("blah" ))
4736 with pytest .raises (RuntimeError ):
4837 get_whitelist ()
@@ -52,10 +41,7 @@ def test_initial_load_on_failed_fetch(
5241@pytest .mark .use_threading
5342@patch ("daq_config_server.whitelist.LOGGER.error" )
5443@patch ("daq_config_server.whitelist.WHITELIST_REFRESH_RATE_S" , new = 0 )
55- @patch ("daq_config_server.whitelist.requests.get" )
56- def test_periodically_update_whitelist_on_failed_update (
57- mock_request : MagicMock , mock_log_error : MagicMock
58- ):
44+ def test_periodically_update_whitelist_on_failed_update (mock_log_error : MagicMock ):
5945 WhitelistFetcher ._initial_load = MagicMock ()
6046 WhitelistFetcher ._fetch_and_update = MagicMock (side_effect = Exception ("blah" ))
6147 get_whitelist ()
@@ -66,10 +52,7 @@ def test_periodically_update_whitelist_on_failed_update(
6652@pytest .mark .use_threading
6753@patch ("daq_config_server.whitelist.LOGGER" )
6854@patch ("daq_config_server.whitelist.WHITELIST_REFRESH_RATE_S" , new = 0 )
69- @patch ("daq_config_server.whitelist.requests.get" )
70- def test_periodically_update_whitelist_on_successful_update (
71- mock_request : MagicMock , mock_log : MagicMock
72- ):
55+ def test_periodically_update_whitelist_on_successful_update (mock_log : MagicMock ):
7356 logging_event = threading .Event ()
7457 WhitelistFetcher ._initial_load = MagicMock ()
7558 WhitelistFetcher ._fetch_and_update = MagicMock ()
0 commit comments