| 747 | |
| 748 | |
| 749 | class BuildConfigTest(unittest.TestCase): |
| 750 | def test_defaults(self): |
| 751 | config = pr.build_config({}) |
| 752 | self.assertEqual(config["success_delay"], 2.0) |
| 753 | self.assertEqual(config["failure_delay"], 1.0) |
| 754 | self.assertEqual(config["rate_limit_threshold"], 10) |
| 755 | self.assertEqual(config["retry_base_delay"], 2.0) |
| 756 | self.assertEqual(config["max_retries"], 3) |
| 757 | self.assertEqual(config["max_retry_delay"], 60.0) |
| 758 | self.assertEqual(config["transient_base_delay"], 2) |
| 759 | |
| 760 | def test_env_overrides(self): |
| 761 | env = { |
| 762 | "OCR_SUCCESS_DELAY": "5000", |
| 763 | "OCR_FAILURE_DELAY": "2500", |
| 764 | "OCR_RATE_LIMIT_THRESHOLD": "5", |
| 765 | "OCR_RETRY_BASE_DELAY": "3000", |
| 766 | "OCR_MAX_RETRIES": "5", |
| 767 | "OCR_MAX_RETRY_DELAY": "120000", |
| 768 | } |
| 769 | config = pr.build_config(env) |
| 770 | self.assertEqual(config["success_delay"], 5.0) |
| 771 | self.assertEqual(config["failure_delay"], 2.5) |
| 772 | self.assertEqual(config["rate_limit_threshold"], 5) |
| 773 | self.assertEqual(config["retry_base_delay"], 3.0) |
| 774 | self.assertEqual(config["max_retries"], 5) |
| 775 | self.assertEqual(config["max_retry_delay"], 120.0) |
| 776 | # transient_base_delay is always hardcoded |
| 777 | self.assertEqual(config["transient_base_delay"], 2) |
| 778 | |
| 779 | |
| 780 | # --------------------------------------------------------------------------- # |
nothing calls this directly
no outgoing calls
no test coverage detected