33import subprocess
44import tempfile
55from typing import Generator
6- from unittest .mock import patch
6+ from unittest .mock import MagicMock , Mock , patch
77
88import pytest
99from opentelemetry .sdk .resources import Resource
@@ -26,11 +26,27 @@ def bare_codebase() -> Generator[str, None, None]:
2626
2727@pytest .fixture
2828def resource () -> Resource :
29- return CodebaseResourceDetector ().detect ()
29+ return CodebaseResourceDetector (Mock () ).detect ()
3030
3131
32- def test_service_name_from_directory (bare_codebase : str , resource : Resource ) -> None :
33- assert resource .attributes ['service.name' ] == 'my-project'
32+ def test_get_codebase_name () -> None :
33+ config = MagicMock ()
34+ config .inicfg = {'junit_suite_name' : 'my-project' }
35+ config .rootpath .name = None
36+ config .getoption .return_value = None
37+ assert CodebaseResourceDetector (config ).get_codebase_name () == 'my-project'
38+
39+ config = MagicMock ()
40+ config .inicfg = {}
41+ config .rootpath .name = None
42+ config .getoption .return_value = 'my-project'
43+ assert CodebaseResourceDetector (config ).get_codebase_name () == 'my-project'
44+
45+ config = MagicMock ()
46+ config .inicfg = {}
47+ config .rootpath .name = 'my-project'
48+ config .getoption .return_value = None
49+ assert CodebaseResourceDetector (config ).get_codebase_name () == 'my-project'
3450
3551
3652def test_service_version_unknown (bare_codebase : str , resource : Resource ) -> None :
@@ -45,15 +61,15 @@ def test_service_version_git_problems() -> None:
4561 subprocess .CalledProcessError (128 , ['git' , 'rev-parse' , 'HEAD' ]),
4662 ],
4763 ):
48- resource = CodebaseResourceDetector ().detect ()
64+ resource = CodebaseResourceDetector (Mock () ).detect ()
4965 assert resource .attributes ['service.version' ] == (
5066 "[unknown: Command '['git', 'rev-parse', 'HEAD']' "
5167 "returned non-zero exit status 128.]"
5268 )
5369 with patch (
5470 'pytest_opentelemetry.resource.subprocess.check_output' , side_effect = [b'false' ]
5571 ):
56- resource = CodebaseResourceDetector ().detect ()
72+ resource = CodebaseResourceDetector (Mock () ).detect ()
5773 assert resource .attributes ['service.version' ] == (
5874 "[unknown: not a git repository]"
5975 )
0 commit comments