Coverage for tests / unit / ai / test_exceptions.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-04-03 18:53 +0000

1"""Tests for AI exceptions.""" 

2 

3from __future__ import annotations 

4 

5from assertpy import assert_that 

6 

7from lintro.ai.exceptions import ( 

8 AIAuthenticationError, 

9 AIError, 

10 AINotAvailableError, 

11 AIProviderError, 

12 AIRateLimitError, 

13) 

14from lintro.exceptions.errors import LintroError 

15 

16 

17def test_exceptions_hierarchy(): 

18 """Verify all AI exception classes inherit from the correct parent classes.""" 

19 assert_that(AIError("x")).is_instance_of(LintroError) 

20 assert_that(AINotAvailableError("x")).is_instance_of(AIError) 

21 assert_that(AIProviderError("x")).is_instance_of(AIError) 

22 assert_that(AIAuthenticationError("x")).is_instance_of(AIProviderError) 

23 assert_that(AIRateLimitError("x")).is_instance_of(AIProviderError)