EKS Detector should return empty string, not resource if env var missing (#613)

* EKS Detector returns string if missing env var

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

Add return value typing to _get_cluster_name method

Co-authored-by: Aaron Abbott <aaronabbott@google.com>

Co-authored-by: Aaron Abbott <aaronabbott@google.com>
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
This commit is contained in:
(Eliseo) Nathaniel Ruiz Nowell
2021-08-13 14:14:41 -07:00
committed by GitHub
parent f878b834f8
commit b8fe7fc7cd
2 changed files with 33 additions and 16 deletions

View File

@ -32,6 +32,14 @@ MockEksResourceAttributes = {
class AwsEksResourceDetectorTest(unittest.TestCase):
@patch(
"opentelemetry.sdk.extension.aws.resource.eks._get_k8s_cred_value",
return_value="MOCK_TOKEN",
)
@patch(
"opentelemetry.sdk.extension.aws.resource.eks._is_eks",
return_value=True,
)
@patch(
"opentelemetry.sdk.extension.aws.resource.eks._get_cluster_info",
return_value=f"""{{
@ -55,14 +63,6 @@ class AwsEksResourceDetectorTest(unittest.TestCase):
}}
""",
)
@patch(
"opentelemetry.sdk.extension.aws.resource.eks._is_eks",
return_value=True,
)
@patch(
"opentelemetry.sdk.extension.aws.resource.eks._get_k8s_cred_value",
return_value="MOCK_TOKEN",
)
@patch(
"builtins.open",
new_callable=mock_open,
@ -85,11 +85,25 @@ class AwsEksResourceDetectorTest(unittest.TestCase):
def test_simple_create(
self,
mock_open_function,
mock_get_k8_cred_value,
mock_is_eks,
mock_get_cluster_info,
mock_is_eks,
mock_get_k8_cred_value,
):
actual = AwsEksResourceDetector().detect()
self.assertDictEqual(
actual.attributes.copy(), OrderedDict(MockEksResourceAttributes)
)
@patch(
"opentelemetry.sdk.extension.aws.resource.eks._get_k8s_cred_value",
return_value="MOCK_TOKEN",
)
@patch(
"opentelemetry.sdk.extension.aws.resource.eks._is_eks",
return_value=False,
)
def test_if_no_eks_env_var_and_should_raise(
self, mock_is_eks, mock_get_k8_cred_value
):
with self.assertRaises(RuntimeError):
AwsEksResourceDetector(raise_on_error=True).detect()