Coverage for intelligence_toolkit/tests/unit/generate_mock_data/test_init.py: 83%

24 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-10-16 13:41 -0300

1# Copyright (c) 2024 Microsoft Corporation. All rights reserved. 

2# Licensed under the MIT license. See LICENSE file in the project. 

3 

4import pytest 

5import os 

6from unittest.mock import patch, mock_open 

7from intelligence_toolkit.generate_mock_data import get_readme 

8 

9 

10@pytest.mark.skipif( 

11 not os.path.exists( 

12 os.path.join( 

13 os.path.dirname(__file__), 

14 "../../../generate_mock_data/README.md", 

15 ) 

16 ), 

17 reason="README.md not found", 

18) 

19def test_get_readme_returns_string(): 

20 result = get_readme() 

21 assert isinstance(result, str) 

22 

23 

24@pytest.mark.skipif( 

25 not os.path.exists( 

26 os.path.join( 

27 os.path.dirname(__file__), 

28 "../../../generate_mock_data/README.md", 

29 ) 

30 ), 

31 reason="README.md not found", 

32) 

33def test_get_readme_reads_file(): 

34 result = get_readme() 

35 # Should return content from README.md 

36 assert len(result) > 0 

37 

38 

39@patch("builtins.open", new_callable=mock_open, read_data="# Test README\nThis is test content") 

40def test_get_readme_opens_correct_file(mock_file): 

41 result = get_readme() 

42 

43 assert result == "# Test README\nThis is test content" 

44 # Verify it tried to open a README.md file 

45 mock_file.assert_called_once() 

46 call_args = mock_file.call_args[0][0] 

47 assert "README.md" in call_args 

48 

49 

50@patch("builtins.open", new_callable=mock_open, read_data="Mock content") 

51def test_get_readme_uses_correct_path(mock_file): 

52 result = get_readme() 

53 

54 # Should use os.path.join with __file__ directory 

55 call_args = mock_file.call_args[0][0] 

56 assert os.path.isabs(call_args) or "README.md" in call_args