Read cloud sdk active_config file to determine the right config file to read (#57)
diff --git a/tests/test__cloud_sdk.py b/tests/test__cloud_sdk.py
index 35ee426..86f69a1 100644
--- a/tests/test__cloud_sdk.py
+++ b/tests/test__cloud_sdk.py
@@ -16,6 +16,7 @@
import os
import mock
+import py
import pytest
from google.auth import _cloud_sdk
@@ -41,15 +42,20 @@
@pytest.fixture
-def config_file(tmpdir):
+def config_dir(tmpdir):
config_dir = tmpdir.join(
'.config', _cloud_sdk._CONFIG_DIRECTORY)
- config_file = config_dir.join(
- _cloud_sdk._ACTIVE_CONFIG_FILENAME)
with CONFIG_PATH_PATCH as mock_get_config_dir:
mock_get_config_dir.return_value = str(config_dir)
- yield config_file
+ yield config_dir
+
+
+@pytest.fixture
+def config_file(config_dir):
+ config_file = py.path.local(_cloud_sdk._get_config_file(
+ str(config_dir), 'default'))
+ yield config_file
def test_get_project_id(config_file):
@@ -75,6 +81,20 @@
assert project_id is None
+def test_get_project_id_non_default_config(config_dir):
+ active_config = config_dir.join('active_config')
+ test_config = py.path.local(_cloud_sdk._get_config_file(
+ str(config_dir), 'test'))
+
+ # Create an active config file that points to the 'test' config.
+ active_config.write('test', ensure=True)
+ test_config.write(CLOUD_SDK_CONFIG_DATA, ensure=True)
+
+ project_id = _cloud_sdk.get_project_id()
+
+ assert project_id == 'example-project'
+
+
@CONFIG_PATH_PATCH
def test_get_application_default_credentials_path(mock_get_config_dir):
config_path = 'config_path'