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
« prev ^ index » next coverage.py v7.4.0, created at 2024-01-03 18:52 -0500
1"""Unit tests for proxy"""
2import unittest
4import tempfile
6from creepo.httpproxy import HttpProxy
7from mocks import MockedLogger, MockedPoolManager
10class TestProxy(unittest.TestCase):
11 """Unit tests for Proxy"""
13 def test_kind(self):
14 """Test for type"""
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}")
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")
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")