|
6 | 6 | class TestRedisCacher(unittest.TestCase): |
7 | 7 |
|
8 | 8 | def setUp(self): |
9 | | - # mock s3_reader and transform_map |
10 | | - self.s3_reader_patcher = patch("redis_cacher.S3Reader") |
11 | | - self.mock_s3_reader = self.s3_reader_patcher.start() |
12 | | - self.transform_map_patcher = patch("redis_cacher.transform_map") |
13 | | - self.mock_transform_map = self.transform_map_patcher.start() |
14 | | - self.redis_client_patcher = patch("common.redis_client.redis_client") |
15 | | - self.mock_redis_client = self.redis_client_patcher.start() |
16 | | - self.logger_info_patcher = patch("logging.Logger.info") |
17 | | - self.mock_logger_info = self.logger_info_patcher.start() |
| 9 | + self.mock_s3_reader = patch("redis_cacher.S3Reader").start() |
| 10 | + self.mock_transform_map = patch("redis_cacher.transform_map").start() |
| 11 | + self.mock_redis_client = patch("common.redis_client.redis_client").start() |
| 12 | + self.mock_logger_info = patch("logging.Logger.info").start() |
| 13 | + self.mock_logger_warning = patch("logging.Logger.warning").start() |
18 | 14 |
|
19 | 15 | def tearDown(self): |
20 | | - self.s3_reader_patcher.stop() |
21 | | - self.transform_map_patcher.stop() |
22 | | - self.redis_client_patcher.stop() |
23 | | - self.logger_info_patcher.stop() |
| 16 | + patch.stopall() |
24 | 17 |
|
25 | 18 | def test_upload(self): |
26 | 19 | mock_data = {"a": "b"} |
@@ -75,3 +68,21 @@ def test_deletes_extra_fields(self): |
75 | 68 | }) |
76 | 69 | self.mock_redis_client.hdel.assert_called_once_with("hash_name", "obsolete_key_1", "obsolete_key_2") |
77 | 70 | self.assertEqual(result, {"status": "success", "message": f"File {file_key} uploaded to Redis cache."}) |
| 71 | + |
| 72 | + def test_unrecognised_format(self): |
| 73 | + mock_data = {"a": "b"} |
| 74 | + |
| 75 | + self.mock_s3_reader.read = unittest.mock.Mock() |
| 76 | + self.mock_s3_reader.read.return_value = mock_data |
| 77 | + self.mock_transform_map.return_value = {} |
| 78 | + |
| 79 | + bucket_name = "bucket" |
| 80 | + file_key = "file-key.my_yaml" |
| 81 | + result = RedisCacher.upload(bucket_name, file_key) |
| 82 | + |
| 83 | + self.mock_s3_reader.read.assert_called_once_with(bucket_name, file_key) |
| 84 | + self.assertEqual(result["status"], "warning") |
| 85 | + self.assertEqual(result["message"], f"No valid Redis mappings found for file '{file_key}'. Nothing uploaded.") |
| 86 | + self.mock_logger_warning.assert_called_once() |
| 87 | + self.mock_redis_client.hmset.assert_not_called() |
| 88 | + self.mock_redis_client.hdel.assert_not_called() |
0 commit comments