1
+ import unittest
2
+ from unittest .mock import patch , MagicMock
3
+ import detectlanguage
4
+
5
+
6
+ class TestProxyConfiguration (unittest .TestCase ):
7
+ def setUp (self ):
8
+ detectlanguage .configuration .proxies = None
9
+
10
+ def test_proxy_configuration (self ):
11
+ """Test proxy configuration"""
12
+ detectlanguage .configuration .proxies = {'https' : 'https://proxy.example.com:8080' }
13
+ self .assertEqual (detectlanguage .configuration .proxies , {'https' : 'https://proxy.example.com:8080' })
14
+
15
+ @patch ('requests.get' )
16
+ def test_client_uses_proxy (self , mock_get ):
17
+ """Test that client uses configured proxy"""
18
+ detectlanguage .configuration .proxies = {'https' : 'https://proxy.example.com:8080' }
19
+
20
+ mock_response = MagicMock ()
21
+ mock_response .json .return_value = {'test' : 'data' }
22
+ mock_response .raise_for_status .return_value = None
23
+ mock_get .return_value = mock_response
24
+
25
+ detectlanguage .account_status ()
26
+
27
+ mock_get .assert_called_once ()
28
+ self .assertEqual (mock_get .call_args [1 ]['proxies' ], {'https' : 'https://proxy.example.com:8080' })
29
+
30
+ @patch ('requests.get' )
31
+ def test_client_no_proxy_when_disabled (self , mock_get ):
32
+ """Test that client doesn't use proxy when disabled"""
33
+ detectlanguage .configuration .proxies = None
34
+
35
+ mock_response = MagicMock ()
36
+ mock_response .json .return_value = {'test' : 'data' }
37
+ mock_response .raise_for_status .return_value = None
38
+ mock_get .return_value = mock_response
39
+
40
+ detectlanguage .account_status ()
41
+
42
+ mock_get .assert_called_once ()
43
+ self .assertIsNone (mock_get .call_args [1 ]['proxies' ])
44
+
45
+
46
+ if __name__ == '__main__' :
47
+ unittest .main ()
0 commit comments