Coverage for tests/test_proxy.py: 100%

23 statements  

« prev     ^ index     » next       coverage.py v7.4.0, created at 2024-01-03 18:52 -0500

1"""Unit tests for proxy""" 

2import unittest 

3 

4import tempfile 

5 

6from creepo.httpproxy import HttpProxy 

7from mocks import MockedLogger, MockedPoolManager 

8 

9 

10class TestProxy(unittest.TestCase): 

11 """Unit tests for Proxy""" 

12 

13 def test_kind(self): 

14 """Test for type""" 

15 

16 with tempfile.TemporaryDirectory() as tmpdirname: 

17 with unittest.mock.patch.dict('os.environ', {'HOME': tmpdirname}): 

18 proxy = HttpProxy({ 

19 'logger': MockedLogger([]), 

20 "test": {'registry': 'https://some.random.url/path'} 

21 }, 'test') 

22 self.assertEqual(proxy.kind, "test", 

23 "Expected kind to be 'test'") 

24 self.assertEqual(proxy.base, f"{tmpdirname}/.CREEPO_BASE/{proxy.kind}", 

25 f"Expected _creepo to be set to {tmpdirname} but it is {proxy.base}") 

26 with unittest.mock.patch.dict('os.environ', {'CREEPO_BASE': tmpdirname}): 

27 proxy = HttpProxy({ 

28 'logger': MockedLogger([]), 

29 "test": {'registry': 'https://some.random.url/path'}}, "test") 

30 self.assertEqual( 

31 proxy.base, f"{tmpdirname}/test", f"Expected _creepo to be set to {tmpdirname}/test but it is {proxy.base}") 

32 

33 def test_mimetype(self): 

34 """Test for mimetype""" 

35 proxy = HttpProxy({ 

36 'logger': MockedLogger([]), 

37 "test": {'registry': 'https://some.random.url/path'}}, "test") 

38 self.assertEqual(proxy.mimetype("index.html", "application/octet-stream"), "text/html", 

39 "Expected mime type default to be text/html") 

40 self.assertEqual(proxy.mimetype("", "application/octet-stream"), "application/octet-stream", 

41 "Expected mime type default to be text/html") 

42 

43 def test_no_cache(self): 

44 """Test for no_cache""" 

45 proxy = HttpProxy({'no_cache': 'anything-but-false', 

46 'logger': MockedLogger([]), 

47 "test": { 

48 'registry': 'https://some.random.url/path'}}, "test") 

49 self.assertEqual(proxy.no_cache, True, 

50 "Expected no_cache to default True") 

51 proxy = HttpProxy({'no_cache': 'False', 

52 'logger': MockedLogger([]), 

53 "test": { 

54 'registry': 'https://some.random.url/path'}}, 'test') 

55 self.assertEqual(proxy.no_cache, False, 

56 "Expected no_cache to default False when specified")