Skip to content

Commit 34e1edc

Browse files
committed
Do not override API parameters with default when calling initialize if they are already set
1 parent 8aabee2 commit 34e1edc

File tree

2 files changed

+68
-121
lines changed

2 files changed

+68
-121
lines changed

tests/unit/api/test_api.py

Lines changed: 68 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import mock
1010

1111
# datadog
12-
from datadog import initialize, api
12+
from datadog import initialize, api, util
1313
from datadog.api import (
1414
Distribution,
1515
Metric,
@@ -147,57 +147,73 @@ def test_initialize_options(self):
147147
initialize(api_key=API_KEY, mute=False)
148148
self.assertRaises(ApiError, MyCreatable.create)
149149

150-
def test_initialization_from_env(self):
151-
"""
152-
Set API parameters in `initialize` from environment variables.
153-
"""
154-
@preserve_environ_datadog
155-
def test_api_params_from_env(env_name, attr_name, env_value):
156-
"""
157-
Set env_name environment variable to env_value
158-
Assert api.attr_name = env_value
159-
"""
160-
os.environ[env_name] = env_value
161-
initialize()
162-
self.assertEqual(getattr(api, attr_name), env_value)
163-
164-
@preserve_environ_datadog
165-
def test_api_params_default(env_name, attr_name, expected_value):
166-
"""
167-
Unset env_name environment variable
168-
Assert api.attr_name = expected_value
169-
"""
170-
if os.environ.get(env_name):
171-
del os.environ[env_name]
172-
initialize()
173-
self.assertEqual(getattr(api, attr_name), expected_value)
174-
175-
@preserve_environ_datadog
176-
def test_api_params_from_params(env_name, parameter, attr_name, value):
177-
"""
178-
Unset env_name environment variable
179-
Initialize API with parameter=value
180-
Assert api.attr_name = value
181-
"""
182-
if os.environ.get(env_name):
183-
del os.environ[env_name]
184-
initialize(api_host='http://localhost')
185-
self.assertEqual(api._api_host, 'http://localhost')
186-
187-
# Default values
188-
test_api_params_default("DATADOG_API_KEY", "_api_key", None)
189-
test_api_params_default("DATADOG_APP_KEY", "_application_key", None)
190-
test_api_params_default("DATADOG_HOST", "_api_host", "https://api.datadoghq.com")
191-
192-
# From environment
193-
test_api_params_from_env("DATADOG_API_KEY", "_api_key", env_value="apikey")
194-
test_api_params_from_env("DATADOG_APP_KEY", "_application_key", env_value="appkey")
195-
test_api_params_from_env("DATADOG_HOST", "_api_host", env_value="http://localhost")
196-
197-
# From parameters
198-
test_api_params_from_params("DATADOG_API_KEY", "api_key", "_api_key", "apikey2")
199-
test_api_params_from_params("DATADOG_APP_KEY", "app_key", "_application_key", "appkey2")
200-
test_api_params_from_params("DATADOG_HOST", "api_host", "_api_host", "http://127.0.0.1")
150+
def test_default_values(self):
151+
initialize()
152+
153+
self.assertIsNone(api._api_key)
154+
self.assertIsNone(api._application_key)
155+
self.assertEqual(api._api_host, "https://api.datadoghq.com")
156+
self.assertEqual(api._host_name, util.hostname.get_hostname())
157+
158+
def test_env_var_values(self):
159+
os.environ["DATADOG_API_KEY"] = "API_KEY_ENV"
160+
os.environ["DATADOG_APP_KEY"] = "APP_KEY_ENV"
161+
os.environ["DATADOG_HOST"] = "HOST_ENV"
162+
163+
initialize()
164+
165+
self.assertEqual(api._api_key, "API_KEY_ENV")
166+
self.assertEqual(api._application_key, "APP_KEY_ENV")
167+
self.assertEqual(api._api_host, "HOST_ENV")
168+
self.assertEqual(api._host_name, util.hostname.get_hostname())
169+
170+
del os.environ["DATADOG_API_KEY"]
171+
del os.environ["DATADOG_APP_KEY"]
172+
del os.environ["DATADOG_HOST"]
173+
174+
def test_function_param_value(self):
175+
initialize(api_key="API_KEY", app_key="APP_KEY", api_host="HOST", host_name="HOSTNAME")
176+
177+
self.assertEqual(api._api_key, "API_KEY")
178+
self.assertEqual(api._application_key, "APP_KEY")
179+
self.assertEqual(api._api_host, "HOST")
180+
self.assertEqual(api._host_name, "HOSTNAME")
181+
182+
def test_additional_call(self):
183+
initialize(api_key="API_KEY", app_key="APP_KEY", api_host="HOST", host_name="HOSTNAME")
184+
185+
self.assertEqual(api._api_key, "API_KEY")
186+
self.assertEqual(api._application_key, "APP_KEY")
187+
self.assertEqual(api._api_host, "HOST")
188+
self.assertEqual(api._host_name, "HOSTNAME")
189+
190+
initialize(api_key="API_KEY2")
191+
192+
self.assertEqual(api._api_key, "API_KEY2")
193+
self.assertEqual(api._application_key, "APP_KEY")
194+
self.assertEqual(api._api_host, "HOST")
195+
self.assertEqual(api._host_name, "HOSTNAME")
196+
197+
initialize(app_key="APP_KEY2")
198+
199+
self.assertEqual(api._api_key, "API_KEY2")
200+
self.assertEqual(api._application_key, "APP_KEY2")
201+
self.assertEqual(api._api_host, "HOST")
202+
self.assertEqual(api._host_name, "HOSTNAME")
203+
204+
initialize(api_host="HOST2")
205+
206+
self.assertEqual(api._api_key, "API_KEY2")
207+
self.assertEqual(api._application_key, "APP_KEY2")
208+
self.assertEqual(api._api_host, "HOST2")
209+
self.assertEqual(api._host_name, "HOSTNAME")
210+
211+
initialize(host_name="HOSTNAME2")
212+
213+
self.assertEqual(api._api_key, "API_KEY2")
214+
self.assertEqual(api._application_key, "APP_KEY2")
215+
self.assertEqual(api._api_host, "HOST2")
216+
self.assertEqual(api._host_name, "HOSTNAME2")
201217

202218

203219
class TestResources(DatadogAPIWithInitialization):

tests/unit/api/test_initialize.py

Lines changed: 0 additions & 69 deletions
This file was deleted.

0 commit comments

Comments
 (0)