예제 #1
0
 def test_save_without_override(self):
     """Test to override an existing account without setting overwrite=True."""
     with self.assertRaises(AccountAlreadyExistsError):
         AccountManager.save(
             name="conflict",
             token=_TEST_IBM_CLOUD_ACCOUNT.token,
             url=_TEST_IBM_CLOUD_ACCOUNT.url,
             instance=_TEST_IBM_CLOUD_ACCOUNT.instance,
             channel="ibm_cloud",
             overwrite=False,
         )
예제 #2
0
 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,
         )
예제 #3
0
 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"))
예제 #4
0
 def test_save_channel_ibm_cloud_over_auth_cloud_with_overwrite(self):
     """Test to overwrite an existing auth "cloud" account with channel "ibm_cloud"
     and with setting overwrite=True."""
     AccountManager.save(
         token=_TEST_IBM_CLOUD_ACCOUNT.token,
         url=_TEST_IBM_CLOUD_ACCOUNT.url,
         instance=_TEST_IBM_CLOUD_ACCOUNT.instance,
         channel="ibm_cloud",
         proxies=_TEST_IBM_CLOUD_ACCOUNT.proxies,
         name=None,
         overwrite=True,
     )
     self.assertEqual(_TEST_IBM_CLOUD_ACCOUNT,
                      AccountManager.get(channel="ibm_cloud"))
예제 #5
0
    def test_save_get(self):
        """Test save and get."""

        # Each tuple contains the
        # - account to save
        # - the name passed to AccountManager.save
        # - the name passed to AccountManager.get
        sub_tests = [
            (_TEST_IBM_QUANTUM_ACCOUNT, "acct-1", "acct-1"),
            (_TEST_IBM_CLOUD_ACCOUNT, "acct-2", "acct-2"),
            # verify default account name handling for ibm_cloud accounts
            (_TEST_IBM_CLOUD_ACCOUNT, None, _DEFAULT_ACCOUNT_NAME_IBM_CLOUD),
            (_TEST_IBM_CLOUD_ACCOUNT, None, None),
            # verify default account name handling for ibm_quantum accounts
            (
                _TEST_IBM_QUANTUM_ACCOUNT,
                None,
                _DEFAULT_ACCOUNT_NAME_IBM_QUANTUM,
            ),
            # verify account override
            (_TEST_IBM_QUANTUM_ACCOUNT, "acct", "acct"),
            (_TEST_IBM_CLOUD_ACCOUNT, "acct", "acct"),
        ]
        for account, name_save, name_get in sub_tests:
            with self.subTest(
                    f"for account type '{account.channel}' "
                    f"using `save(name={name_save})` and `get(name={name_get})`"
            ):
                AccountManager.save(
                    token=account.token,
                    url=account.url,
                    instance=account.instance,
                    channel=account.channel,
                    proxies=account.proxies,
                    verify=account.verify,
                    name=name_save,
                    overwrite=True,
                )
                self.assertEqual(account, AccountManager.get(name=name_get))