Skip to content

Commit 5d2c207

Browse files
committed
test(aws-sdk-extension): add non-EKS JWT raise path test
1 parent 8cae40c commit 5d2c207

2 files changed

Lines changed: 47 additions & 2 deletions

File tree

  • sdk-extension/opentelemetry-sdk-extension-aws

sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/eks.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
r"^https://oidc\.eks\.[^.]+\.amazonaws\.com(?:\.cn)?/id/[A-F0-9]{32}$",
3939
re.ASCII,
4040
)
41+
4142
def _aws_http_request(method, path, cred_value):
4243
with urlopen(
4344
Request(

sdk-extension/opentelemetry-sdk-extension-aws/tests/resource/test_eks.py

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ def test_if_no_eks_paths_should_not_raise(
155155
@patch(
156156
"opentelemetry.sdk.extension.aws.resource.eks._get_k8s_cred_value",
157157
return_value=_bearer_jwt(
158-
{"iss": "https://oidc.eks.eu-west-2.amazonaws.com/id/EXAMPLE123"}
158+
{"iss": "https://oidc.eks.eu-west-2.amazonaws.com/id/A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4"}
159159
),
160160
)
161161
@patch(
@@ -197,6 +197,50 @@ def test_eks_oidc_jwt_detected(
197197
"opentelemetry.sdk.extension.aws.resource.eks._is_k8s",
198198
return_value=True,
199199
)
200-
def test_non_eks_jwt_returns_empty(self, mock_is_k8s, mock_get_k8s_cred_value):
200+
def test_non_eks_jwt_returns_empty(
201+
self, mock_is_k8s, mock_get_k8s_cred_value
202+
):
201203
actual = AwsEksResourceDetector().detect()
202204
self.assertEqual(actual.attributes, {})
205+
206+
@patch(
207+
"opentelemetry.sdk.extension.aws.resource.eks._get_k8s_cred_value",
208+
return_value=_bearer_jwt({"iss": "https://wrong.jwt.com"}),
209+
)
210+
@patch(
211+
"opentelemetry.sdk.extension.aws.resource.eks._is_k8s",
212+
return_value=True,
213+
)
214+
def test_non_eks_jwt_should_raise(
215+
self, mock_is_k8s, mock_get_k8s_cred_value
216+
):
217+
with self.assertRaises(RuntimeError):
218+
AwsEksResourceDetector(raise_on_error=True).detect()
219+
220+
@patch(
221+
"opentelemetry.sdk.extension.aws.resource.eks._get_k8s_cred_value",
222+
return_value="Bearer notajwt.otel",
223+
)
224+
@patch(
225+
"opentelemetry.sdk.extension.aws.resource.eks._is_k8s",
226+
return_value=True,
227+
)
228+
def test_is_eks_wrong_parts_count_should_raise(
229+
self, mock_is_k8s, mock_get_k8s_cred_value
230+
):
231+
with self.assertRaises(RuntimeError):
232+
AwsEksResourceDetector(raise_on_error=True).detect()
233+
234+
@patch(
235+
"opentelemetry.sdk.extension.aws.resource.eks._get_k8s_cred_value",
236+
return_value="Bearer header.eyJpc3MiOg.fakesig",
237+
)
238+
@patch(
239+
"opentelemetry.sdk.extension.aws.resource.eks._is_k8s",
240+
return_value=True,
241+
)
242+
def test_is_eks_invalid_json_payload_should_raise(
243+
self, mock_is_k8s, mock_get_k8s_cred_value
244+
):
245+
with self.assertRaises(RuntimeError):
246+
AwsEksResourceDetector(raise_on_error=True).detect()

0 commit comments

Comments
 (0)