codecov-io: # [Codecov](https://codecov.io/gh/Azure/azure-cli/pull/3415?src=pr&el=h1) Report
> Merging [#3415](https://codecov.io/gh/Azure/azure-cli/pull/3415?src=pr&el=desc) into [master](https://codecov.io/gh/Azure/azure-cli/commit/46d5382995c2740df260704f270df0e5cac965a5?src=pr&el=desc) will **increase** coverage by `<.01%`.
> The diff coverage is `72.72%`.

[![Impacted file tree graph](https://codecov.io/gh/Azure/azure-cli/pull/3415/graphs/tree.svg?src=pr&width=650&token=2pog0TKvF8&height=150)](https://codecov.io/gh/Azure/azure-cli/pull/3415?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #3415      +/-   ##
==========================================
+ Coverage   70.81%   70.81%   +<.01%     
==========================================
  Files         394      394              
  Lines       25533    25532       -1     
  Branches     3889     3890       +1     
==========================================
  Hits        18081    18081              
+ Misses       6310     6308       -2     
- Partials     1142     1143       +1
```


| [Impacted Files](https://codecov.io/gh/Azure/azure-cli/pull/3415?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/azure-cli-core/azure/cli/core/\_profile.py](https://codecov.io/gh/Azure/azure-cli/pull/3415?src=pr&el=tree#diff-c3JjL2F6dXJlLWNsaS1jb3JlL2F6dXJlL2NsaS9jb3JlL19wcm9maWxlLnB5) | `87.85% <72.72%> (+0.2%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/Azure/azure-cli/pull/3415?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/Azure/azure-cli/pull/3415?src=pr&el=footer). Last update [46d5382...287b9e0](https://codecov.io/gh/Azure/azure-cli/pull/3415?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

diff --git a/src/azure-cli-core/HISTORY.rst b/src/azure-cli-core/HISTORY.rst
index 103f25a5c..867cd36a3 100644
--- a/src/azure-cli-core/HISTORY.rst
+++ b/src/azure-cli-core/HISTORY.rst
@@ -7,6 +7,7 @@ unreleased
 ^^^^^^^^^^^^^^^^^^
 * Command paths are no longer case sensitive.
 * Certain boolean-type parameters are no longer case sensitive.
+* Support login to ADFS on prem server like Azure Stack
 
 2.0.6 (2017-05-09)
 ^^^^^^^^^^^^^^^^^^
diff --git a/src/azure-cli-core/azure/cli/core/_profile.py b/src/azure-cli-core/azure/cli/core/_profile.py
index 79191e18a..43fbe0d3b 100644
--- a/src/azure-cli-core/azure/cli/core/_profile.py
+++ b/src/azure-cli-core/azure/cli/core/_profile.py
@@ -56,9 +56,14 @@ _CLIENT_ID = '04b07795-8ddb-461a-bbee-02f9e1bf7b46'
 _COMMON_TENANT = 'common'
 
 
-def _authentication_context_factory(authority, cache):
+def _authentication_context_factory(tenant, cache):
     import adal
-    return adal.AuthenticationContext(authority, cache=cache, api_version=None)
+    authority_url = CLOUD.endpoints.active_directory
+    is_adfs = authority_url.lower().endswith('/adfs')
+    if not is_adfs:
+        authority_url = authority_url + '/' + (tenant or _COMMON_TENANT)
+    return adal.AuthenticationContext(authority_url, cache=cache, api_version=None,
+                                      validate_authority=(not is_adfs))
 
 
 _AUTH_CTX_FACTORY = _authentication_context_factory
@@ -69,10 +74,6 @@ CLOUD = get_active_cloud()
 logger.debug('Current cloud config:\n%s', str(CLOUD))
 
 
-def get_authority_url(tenant=None):
-    return CLOUD.endpoints.active_directory + '/' + (tenant or _COMMON_TENANT)
-
-
 def _load_tokens_from_file(file_path):
     all_entries = []
     if os.path.isfile(file_path):
@@ -393,7 +394,7 @@ class SubscriptionFinder(object):
         self.tenants = []
 
     def find_from_user_account(self, username, password, tenant, resource):
-        context = self._create_auth_context(tenant or _COMMON_TENANT)
+        context = self._create_auth_context(tenant)
         token_entry = context.acquire_token_with_username_password(
             resource,
             username,
@@ -408,8 +409,7 @@ class SubscriptionFinder(object):
         return result
 
     def find_through_interactive_flow(self, tenant, resource):
-
-        context = self._create_auth_context(tenant or _COMMON_TENANT)
+        context = self._create_auth_context(tenant)
         code = context.acquire_user_code(resource, _CLIENT_ID)
         logger.warning(code['message'])
         token_entry = context.acquire_token_with_device_code(resource, code, _CLIENT_ID)
@@ -430,8 +430,7 @@ class SubscriptionFinder(object):
 
     def _create_auth_context(self, tenant, use_token_cache=True):
         token_cache = self._adal_token_cache if use_token_cache else None
-        authority = get_authority_url(tenant)
-        return self._auth_context_factory(authority, token_cache)
+        return self._auth_context_factory(tenant, token_cache)
 
     def _find_using_common_tenant(self, access_token, resource):
         import adal
@@ -514,8 +513,7 @@ class CredsCache(object):
                 cred_file.write(json.dumps(all_creds))
 
     def retrieve_token_for_user(self, username, tenant, resource):
-        authority = get_authority_url(tenant)
-        context = self._auth_ctx_factory(authority, cache=self.adal_token_cache)
+        context = self._auth_ctx_factory(tenant, cache=self.adal_token_cache)
         token_entry = context.acquire_token(resource, username, _CLIENT_ID)
         if not token_entry:
             raise CLIError("Could not retrieve token from local cache, please run 'az login'.")
@@ -530,8 +528,7 @@ class CredsCache(object):
         if not matched:
             raise CLIError("Please run 'az account set' to select active account.")
         cred = matched[0]
-        authority_url = get_authority_url(cred[_SERVICE_PRINCIPAL_TENANT])
-        context = self._auth_ctx_factory(authority_url, None)
+        context = self._auth_ctx_factory(cred[_SERVICE_PRINCIPAL_TENANT], None)
         sp_auth = ServicePrincipalAuth(cred.get(_ACCESS_TOKEN, None) or
                                        cred.get(_SERVICE_PRINCIPAL_CERT_FILE, None))
         token_entry = sp_auth.acquire_token(context, resource, sp_id)

login: expose ADFS flow for azure stack env
diff --git a/src/azure-cli-core/tests/test_profile.py b/src/azure-cli-core/tests/test_profile.py
index ea3648494..90603c558 100644
--- a/src/azure-cli-core/tests/test_profile.py
+++ b/src/azure-cli-core/tests/test_profile.py
@@ -13,7 +13,7 @@ from adal import AdalError
 from azure.mgmt.resource.subscriptions.models import (SubscriptionState, Subscription,
                                                       SubscriptionPolicies, SpendingLimit)
 from azure.cli.core._profile import (Profile, CredsCache, SubscriptionFinder,
-                                     ServicePrincipalAuth, CLOUD)
+                                     ServicePrincipalAuth, CLOUD, _AUTH_CTX_FACTORY)
 from azure.cli.core.util import CLIError
 
 
@@ -451,6 +451,38 @@ class Test_Profile(unittest.TestCase):  # pylint: disable=too-many-public-method
         mock_auth_context.acquire_token.assert_called_once_with(
             mgmt_resource, self.user1, mock.ANY)
 
+    @mock.patch('adal.AuthenticationContext.acquire_token_with_username_password', autospec=True)
+    @mock.patch('adal.AuthenticationContext.acquire_token', autospec=True)
+    @mock.patch('azure.cli.core._profile.CLOUD', autospec=True)
+    def test_find_subscriptions_thru_username_password_adfs(self, mock_get_cloud, mock_acquire_token,
+                                                            mock_acquire_token_username_password):
+        TEST_ADFS_AUTH_URL = 'https://adfs.local.azurestack.external/adfs'
+
+        def test_acquire_token(self, resource, username, password, client_id):
+            global acquire_token_invoked
+            acquire_token_invoked = True
+            if (self.authority.url == TEST_ADFS_AUTH_URL and self.authority.is_adfs_authority):
+                return Test_Profile.token_entry1
+            else:
+                raise ValueError('AuthContext was not initialized correctly for ADFS')
+
+        mock_acquire_token_username_password.side_effect = test_acquire_token
+        mock_acquire_token.return_value = self.token_entry1
+        mock_arm_client = mock.MagicMock()
+        mock_arm_client.tenants.list.return_value = [TenantStub(self.tenant_id)]
+        mock_arm_client.subscriptions.list.return_value = [self.subscription1]
+        mock_get_cloud.endpoints.active_directory = TEST_ADFS_AUTH_URL
+        finder = SubscriptionFinder(_AUTH_CTX_FACTORY,
+                                    None,
+                                    lambda _: mock_arm_client)
+        mgmt_resource = 'https://management.core.windows.net/'
+        # action
+        subs = finder.find_from_user_account(self.user1, 'bar', None, mgmt_resource)
+
+        # assert
+        self.assertEqual([self.subscription1], subs)
+        self.assertTrue(acquire_token_invoked)
+
     @mock.patch('adal.AuthenticationContext', autospec=True)
     @mock.patch('azure.cli.core._profile.logger', autospec=True)
     def test_find_subscriptions_thru_username_password_with_account_disabled(self, mock_logger,

python scripts/dev_setup.py
parse_log_pytest
requirements.txt
pytest
apt-get update apt-get install -y gcc
3.5
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
adal==0.4.3
applicationinsights==0.10.0
argcomplete==1.8.0
astroid==1.4.9
attrs==22.2.0
autopep8==1.2.4
azure-batch==3.0.0
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli&subdirectory=src/azure-cli
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_acr&subdirectory=src/command_modules/azure-cli-acr
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_acs&subdirectory=src/command_modules/azure-cli-acs
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_appservice&subdirectory=src/command_modules/azure-cli-appservice
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_batch&subdirectory=src/command_modules/azure-cli-batch
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_cdn&subdirectory=src/command_modules/azure-cli-cdn
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_cloud&subdirectory=src/command_modules/azure-cli-cloud
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_cognitiveservices&subdirectory=src/command_modules/azure-cli-cognitiveservices
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_component&subdirectory=src/command_modules/azure-cli-component
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_configure&subdirectory=src/command_modules/azure-cli-configure
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_core&subdirectory=src/azure-cli-core
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_cosmosdb&subdirectory=src/command_modules/azure-cli-cosmosdb
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_dla&subdirectory=src/command_modules/azure-cli-dla
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_dls&subdirectory=src/command_modules/azure-cli-dls
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_feedback&subdirectory=src/command_modules/azure-cli-feedback
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_find&subdirectory=src/command_modules/azure-cli-find
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_interactive&subdirectory=src/command_modules/azure-cli-interactive
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_iot&subdirectory=src/command_modules/azure-cli-iot
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_keyvault&subdirectory=src/command_modules/azure-cli-keyvault
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_lab&subdirectory=src/command_modules/azure-cli-lab
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_monitor&subdirectory=src/command_modules/azure-cli-monitor
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_network&subdirectory=src/command_modules/azure-cli-network
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_nspkg&subdirectory=src/azure-cli-nspkg
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_profile&subdirectory=src/command_modules/azure-cli-profile
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_rdbms&subdirectory=src/command_modules/azure-cli-rdbms
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_redis&subdirectory=src/command_modules/azure-cli-redis
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_resource&subdirectory=src/command_modules/azure-cli-resource
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_role&subdirectory=src/command_modules/azure-cli-role
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_sf&subdirectory=src/command_modules/azure-cli-sf
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_sql&subdirectory=src/command_modules/azure-cli-sql
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_storage&subdirectory=src/command_modules/azure-cli-storage
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_taskhelp&subdirectory=src/command_modules/azure-cli-taskhelp
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_testsdk&subdirectory=src/azure-cli-testsdk
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_utility_automation&subdirectory=scripts
-e git+https://github.com/Azure/azure-cli.git@46d5382995c2740df260704f270df0e5cac965a5#egg=azure_cli_vm&subdirectory=src/command_modules/azure-cli-vm
azure-common==1.1.28
azure-core==1.24.2
azure-datalake-store==0.0.9
azure-graphrbac==0.30.0rc6
azure-keyvault==0.3.0
azure-mgmt-authorization==0.30.0rc6
azure-mgmt-batch==4.0.0
azure-mgmt-cdn==0.30.2
azure-mgmt-cognitiveservices==1.0.0
azure-mgmt-compute==1.0.0rc1
azure-mgmt-containerregistry==0.2.1
azure-mgmt-datalake-analytics==0.1.4
azure-mgmt-datalake-nspkg==3.0.1
azure-mgmt-datalake-store==0.1.4
azure-mgmt-devtestlabs==2.0.0
azure-mgmt-dns==1.0.1
azure-mgmt-documentdb==0.1.3
azure-mgmt-iothub==0.2.2
azure-mgmt-keyvault==0.31.0
azure-mgmt-monitor==0.2.1
azure-mgmt-network==1.0.0rc3
azure-mgmt-nspkg==1.0.0
azure-mgmt-rdbms==0.1.0
azure-mgmt-redis==1.0.0
azure-mgmt-resource==1.1.0rc1
azure-mgmt-sql==0.4.0
azure-mgmt-storage==1.0.0rc1
azure-mgmt-trafficmanager==0.30.0
azure-mgmt-web==0.32.0
azure-monitor==0.3.0
azure-multiapi-storage==0.1.0
azure-nspkg==1.0.0
azure-servicefabric==5.6.130
certifi==2021.5.30
cffi==1.15.1
colorama==0.3.7
coverage==4.2
cryptography==40.0.2
flake8==3.2.1
futures==3.1.1
importlib-metadata==4.8.3
iniconfig==1.1.1
isodate==0.7.0
jeepney==0.7.1
jmespath==0.10.0
keyring==23.4.1
lazy-object-proxy==1.7.1
mccabe==0.5.3
mock==1.3.0
msrest==0.4.29
msrestazure==0.4.34
nose==1.3.7
oauthlib==3.2.2
packaging==21.3
paramiko==2.0.2
pbr==6.1.1
pep8==1.7.1
pluggy==1.0.0
prompt-toolkit==3.0.36
py==1.11.0
pyasn1==0.5.1
pycodestyle==2.2.0
pycparser==2.21
pydocumentdb==2.3.5
pyflakes==1.3.0
Pygments==2.1.3
PyJWT==2.4.0
pylint==1.5.4
pyOpenSSL==16.2.0
pyparsing==3.1.4
pytest==7.0.1
python-dateutil==2.9.0.post0
pytz==2025.2
PyYAML==3.11
requests==2.9.1
requests-oauthlib==2.0.0
scp==0.15.0
SecretStorage==3.3.3
six==1.10.0
sshtunnel==0.4.0
tabulate==0.7.7
tomli==1.2.3
typing-extensions==4.1.1
urllib3==1.16
vcrpy==1.10.3
vsts-cd-manager==1.0.2
wcwidth==0.2.13
Whoosh==2.7.4
wrapt==1.16.0
xmltodict==0.14.2
zipp==3.6.0

name: azure-cli
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - adal==0.4.3
      - applicationinsights==0.10.0
      - argcomplete==1.8.0
      - astroid==1.4.9
      - attrs==22.2.0
      - autopep8==1.2.4
      - azure-batch==3.0.0
      - azure-common==1.1.28
      - azure-core==1.24.2
      - azure-datalake-store==0.0.9
      - azure-graphrbac==0.30.0rc6
      - azure-keyvault==0.3.0
      - azure-mgmt-authorization==0.30.0rc6
      - azure-mgmt-batch==4.0.0
      - azure-mgmt-cdn==0.30.2
      - azure-mgmt-cognitiveservices==1.0.0
      - azure-mgmt-compute==1.0.0rc1
      - azure-mgmt-containerregistry==0.2.1
      - azure-mgmt-datalake-analytics==0.1.4
      - azure-mgmt-datalake-nspkg==3.0.1
      - azure-mgmt-datalake-store==0.1.4
      - azure-mgmt-devtestlabs==2.0.0
      - azure-mgmt-dns==1.0.1
      - azure-mgmt-documentdb==0.1.3
      - azure-mgmt-iothub==0.2.2
      - azure-mgmt-keyvault==0.31.0
      - azure-mgmt-monitor==0.2.1
      - azure-mgmt-network==1.0.0rc3
      - azure-mgmt-nspkg==1.0.0
      - azure-mgmt-rdbms==0.1.0
      - azure-mgmt-redis==1.0.0
      - azure-mgmt-resource==1.1.0rc1
      - azure-mgmt-sql==0.4.0
      - azure-mgmt-storage==1.0.0rc1
      - azure-mgmt-trafficmanager==0.30.0
      - azure-mgmt-web==0.32.0
      - azure-monitor==0.3.0
      - azure-multiapi-storage==0.1.0
      - azure-nspkg==1.0.0
      - azure-servicefabric==5.6.130
      - cffi==1.15.1
      - colorama==0.3.7
      - coverage==4.2
      - cryptography==40.0.2
      - flake8==3.2.1
      - futures==3.1.1
      - importlib-metadata==4.8.3
      - iniconfig==1.1.1
      - isodate==0.7.0
      - jeepney==0.7.1
      - jmespath==0.10.0
      - keyring==23.4.1
      - lazy-object-proxy==1.7.1
      - mccabe==0.5.3
      - mock==1.3.0
      - msrest==0.4.29
      - msrestazure==0.4.34
      - nose==1.3.7
      - oauthlib==3.2.2
      - packaging==21.3
      - paramiko==2.0.2
      - pbr==6.1.1
      - pep8==1.7.1
      - pip==9.0.1
      - pluggy==1.0.0
      - prompt-toolkit==3.0.36
      - py==1.11.0
      - pyasn1==0.5.1
      - pycodestyle==2.2.0
      - pycparser==2.21
      - pydocumentdb==2.3.5
      - pyflakes==1.3.0
      - pygments==2.1.3
      - pyjwt==2.4.0
      - pylint==1.5.4
      - pyopenssl==16.2.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - python-dateutil==2.9.0.post0
      - pytz==2025.2
      - pyyaml==3.11
      - requests==2.9.1
      - requests-oauthlib==2.0.0
      - scp==0.15.0
      - secretstorage==3.3.3
      - setuptools==30.4.0
      - six==1.10.0
      - sshtunnel==0.4.0
      - tabulate==0.7.7
      - tomli==1.2.3
      - typing-extensions==4.1.1
      - urllib3==1.16
      - vcrpy==1.10.3
      - vsts-cd-manager==1.0.2
      - wcwidth==0.2.13
      - whoosh==2.7.4
      - wrapt==1.16.0
      - xmltodict==0.14.2
      - zipp==3.6.0
prefix: /opt/conda/envs/azure-cli

src/azure-cli-core/tests/test_profile.py::Test_Profile::test_find_subscriptions_thru_username_password_adfs
src/azure-cli-core/tests/test_profile.py::Test_Profile::test_find_subscriptions_from_service_principal_using_cert src/azure-cli-core/tests/test_profile.py::Test_Profile::test_service_principal_auth_client_cert
src/azure-cli-core/tests/test_profile.py::Test_Profile::test_create_account_without_subscriptions src/azure-cli-core/tests/test_profile.py::Test_Profile::test_create_account_without_subscriptions_without_tenant src/azure-cli-core/tests/test_profile.py::Test_Profile::test_create_token_cache src/azure-cli-core/tests/test_profile.py::Test_Profile::test_credscache_add_new_sp_creds src/azure-cli-core/tests/test_profile.py::Test_Profile::test_credscache_add_preexisting_sp_creds src/azure-cli-core/tests/test_profile.py::Test_Profile::test_credscache_load_tokens_and_sp_creds_with_cert src/azure-cli-core/tests/test_profile.py::Test_Profile::test_credscache_load_tokens_and_sp_creds_with_secret src/azure-cli-core/tests/test_profile.py::Test_Profile::test_credscache_new_token_added_by_adal src/azure-cli-core/tests/test_profile.py::Test_Profile::test_credscache_remove_creds src/azure-cli-core/tests/test_profile.py::Test_Profile::test_default_active_subscription_to_non_disabled_one src/azure-cli-core/tests/test_profile.py::Test_Profile::test_find_subscriptions_from_particular_tenent src/azure-cli-core/tests/test_profile.py::Test_Profile::test_find_subscriptions_from_service_principal_id src/azure-cli-core/tests/test_profile.py::Test_Profile::test_find_subscriptions_interactive_from_particular_tenent src/azure-cli-core/tests/test_profile.py::Test_Profile::test_find_subscriptions_through_interactive_flow src/azure-cli-core/tests/test_profile.py::Test_Profile::test_find_subscriptions_thru_username_password src/azure-cli-core/tests/test_profile.py::Test_Profile::test_find_subscriptions_thru_username_password_with_account_disabled src/azure-cli-core/tests/test_profile.py::Test_Profile::test_get_current_account_user src/azure-cli-core/tests/test_profile.py::Test_Profile::test_get_expanded_subscription_info src/azure-cli-core/tests/test_profile.py::Test_Profile::test_get_expanded_subscription_info_for_logged_in_service_principal src/azure-cli-core/tests/test_profile.py::Test_Profile::test_get_login_credentials src/azure-cli-core/tests/test_profile.py::Test_Profile::test_get_login_credentials_for_graph_client src/azure-cli-core/tests/test_profile.py::Test_Profile::test_get_subscription src/azure-cli-core/tests/test_profile.py::Test_Profile::test_load_cached_tokens src/azure-cli-core/tests/test_profile.py::Test_Profile::test_logout src/azure-cli-core/tests/test_profile.py::Test_Profile::test_logout_all src/azure-cli-core/tests/test_profile.py::Test_Profile::test_normalize src/azure-cli-core/tests/test_profile.py::Test_Profile::test_service_principal_auth_client_secret src/azure-cli-core/tests/test_profile.py::Test_Profile::test_set_active_subscription src/azure-cli-core/tests/test_profile.py::Test_Profile::test_update_add_two_different_subscriptions src/azure-cli-core/tests/test_profile.py::Test_Profile::test_update_with_same_subscription_added_twice
src/azure-cli-core/HISTORY.rst src/azure-cli-core/azure/cli/core/_profile.py
src/azure-cli-core/HISTORY.rst src/azure-cli-core/azure/cli/core/_profile.py