Skip to content

Commit b221db3

Browse files
committed
add back dep tests
1 parent 3ad63e5 commit b221db3

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

opentelemetry-instrumentation/tests/test_dependencies.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@
2020
from opentelemetry.instrumentation.dependencies import (
2121
DependencyConflict,
2222
get_dependency_conflicts,
23+
get_dist_dependency_conflicts,
2324
)
2425
from opentelemetry.test.test_base import TestBase
26+
from opentelemetry.util._importlib_metadata import Distribution
2527

2628

2729
class TestDependencyConflicts(TestBase):
@@ -62,3 +64,41 @@ def test_get_dependency_conflicts_mismatched_version(self):
6264
str(conflict),
6365
f'DependencyConflict: requested: "pytest == 5000" but found: "pytest {pytest.__version__}"',
6466
)
67+
68+
def test_get_dist_dependency_conflicts(self):
69+
class MockDistribution(Distribution):
70+
def locate_file(self, path):
71+
pass
72+
73+
def read_text(self, filename):
74+
pass
75+
76+
@property
77+
def requires(self):
78+
return ['test-pkg ~= 1.0; extra == "instruments"']
79+
80+
dist = MockDistribution()
81+
82+
conflict = get_dist_dependency_conflicts(dist)
83+
self.assertTrue(conflict is not None)
84+
self.assertTrue(isinstance(conflict, DependencyConflict))
85+
self.assertEqual(
86+
str(conflict),
87+
'DependencyConflict: requested: "test-pkg~=1.0; extra == "instruments"" but found: "None"',
88+
)
89+
90+
def test_get_dist_dependency_conflicts_requires_none(self):
91+
class MockDistribution(Distribution):
92+
def locate_file(self, path):
93+
pass
94+
95+
def read_text(self, filename):
96+
pass
97+
98+
@property
99+
def requires(self):
100+
return None
101+
102+
dist = MockDistribution()
103+
conflict = get_dist_dependency_conflicts(dist)
104+
self.assertTrue(conflict is None)

0 commit comments

Comments
 (0)