diff --git a/qiskit_ibm_provider/accounts/management.py b/qiskit_ibm_provider/accounts/management.py index 65ea9c121..fc4b68977 100644 --- a/qiskit_ibm_provider/accounts/management.py +++ b/qiskit_ibm_provider/accounts/management.py @@ -44,7 +44,6 @@ def save( overwrite: Optional[bool] = False, ) -> None: """Save account on disk.""" - cls.migrate() name = name or cls._default_account_name_ibm_quantum return save_config( filename=cls._default_account_config_json_file, @@ -70,7 +69,6 @@ def list( name: Optional[str] = None, ) -> Dict[str, Account]: """List all accounts saved on disk.""" - AccountManager.migrate() def _matching_name(account_name: str) -> bool: return name is None or name == account_name @@ -120,7 +118,7 @@ def get( """Read account from disk. Args: - name: Account name. Takes precedence if `auth` is also specified. + name: Account name. Takes precedence. channel: Channel type. Returns: @@ -129,7 +127,6 @@ def get( Raises: AccountNotFoundError: If the input value cannot be found on disk. """ - cls.migrate() if name: saved_account = read_config( filename=cls._default_account_config_json_file, name=name @@ -167,37 +164,9 @@ def delete( name: Optional[str] = None, ) -> bool: """Delete account from disk.""" - cls.migrate() name = name or cls._default_account_name_ibm_quantum return delete_config(name=name, filename=cls._default_account_config_json_file) - @classmethod - def migrate(cls) -> None: - """Migrate accounts on disk by removing `auth` and adding `channel`.""" - data = read_config(filename=cls._default_account_config_json_file) - for key, value in data.items(): - if key == cls._default_account_name_legacy: - value.pop("auth", None) - value.update(channel="ibm_quantum") - delete_config(filename=cls._default_account_config_json_file, name=key) - save_config( - filename=cls._default_account_config_json_file, - name=cls._default_account_name_ibm_quantum, - config=value, - overwrite=False, - ) - else: - if hasattr(value, "auth"): - if value["auth"] == "legacy": - value.update(channel="ibm_quantum") - value.pop("auth", None) - save_config( - filename=cls._default_account_config_json_file, - name=key, - config=value, - overwrite=True, - ) - @classmethod def _from_env_variables(cls, channel: Optional[ChannelType]) -> Optional[Account]: """Read account from environment variable.""" diff --git a/test/account.py b/test/account.py index 7a6cf9e16..904c14b8b 100644 --- a/test/account.py +++ b/test/account.py @@ -138,7 +138,7 @@ def get_account_config_contents( verify=None, proxies=None, ): - """Generate qiskitrc content""" + """Generate content of account config file""" if instance is None: instance = "hub/group/project" token = token or uuid.uuid4().hex diff --git a/test/unit/test_account.py b/test/unit/test_account.py index 31b60c99c..87625d461 100644 --- a/test/unit/test_account.py +++ b/test/unit/test_account.py @@ -46,13 +46,6 @@ instance="ibm-q/open/main", ) -_TEST_LEGACY_ACCOUNT = { - "auth": "legacy", - "token": "token-x", - "url": "https://auth.quantum-computing.ibm.com/api", - "instance": "ibm-q/open/main", -} - class TestAccount(IBMTestCase): """Tests for Account class.""" @@ -158,44 +151,6 @@ def test_save_without_override(self): channel="ibm_quantum", overwrite=False, ) - # TODO remove test when removing auth parameter - - @temporary_account_config_file( - contents={_DEFAULT_ACCOUNT_NAME_LEGACY: _TEST_LEGACY_ACCOUNT} - ) - @no_envs(["QISKIT_IBM_TOKEN"]) - def test_save_channel_ibm_quantum_over_auth_legacy_without_overwrite(self): - """Test to overwrite an existing auth "legacy" account with channel "ibm_quantum" - and without setting overwrite=True.""" - with self.assertRaises(AccountAlreadyExistsError): - AccountManager.save( - token=_TEST_IBM_QUANTUM_ACCOUNT.token, - url=_TEST_IBM_QUANTUM_ACCOUNT.url, - instance=_TEST_IBM_QUANTUM_ACCOUNT.instance, - channel="ibm_quantum", - name=None, - overwrite=False, - ) - - # TODO remove test when removing auth parameter - @temporary_account_config_file( - contents={_DEFAULT_ACCOUNT_NAME_LEGACY: _TEST_LEGACY_ACCOUNT} - ) - @no_envs(["QISKIT_IBM_TOKEN"]) - def test_save_channel_ibm_quantum_over_auth_legacy_with_overwrite(self): - """Test to overwrite an existing auth "elegacy" account with channel "ibm_quantum" - and with setting overwrite=True.""" - AccountManager.save( - token=_TEST_IBM_QUANTUM_ACCOUNT.token, - url=_TEST_IBM_QUANTUM_ACCOUNT.url, - instance=_TEST_IBM_QUANTUM_ACCOUNT.instance, - channel="ibm_quantum", - name=None, - overwrite=True, - ) - self.assertEqual( - _TEST_IBM_QUANTUM_ACCOUNT, AccountManager.get(channel="ibm_quantum") - ) @temporary_account_config_file( contents={"conflict": _TEST_IBM_QUANTUM_ACCOUNT.to_saved_format()} @@ -298,24 +253,6 @@ def test_delete(self): self.assertTrue(len(AccountManager.list()) == 0) - @temporary_account_config_file( - contents={ - "key1": _TEST_LEGACY_ACCOUNT, - _DEFAULT_ACCOUNT_NAME_LEGACY: _TEST_LEGACY_ACCOUNT, - } - ) - def test_delete_auth(self): - """Test delete accounts already saved using auth.""" - - with self.subTest("delete named account"): - self.assertTrue(AccountManager.delete(name="key1")) - self.assertFalse(AccountManager.delete(name="key1")) - - with self.subTest("delete default auth='legacy' account using channel"): - self.assertTrue(AccountManager.delete()) - - self.assertTrue(len(AccountManager.list()) == 0) - MOCK_PROXY_CONFIG_DICT = { "urls": {"https": "127.0.0.1", "username_ntlm": "", "password_ntlm": ""} @@ -399,8 +336,8 @@ def test_enable_account_by_only_channel(self): self.assertEqual(service._account.url, expected) self.assertEqual(service._account.channel, "ibm_quantum") - def test_enable_account_by_env_auth(self): - """Test initializing account by environment variable and auth.""" + def test_enable_account_by_env(self): + """Test initializing account by environment variables.""" token = uuid.uuid4().hex url = uuid.uuid4().hex