def test_delete_accounts(self): """Test deleting an account from disk.""" with custom_qiskitrc(), mock_ibmq_provider(): qiskit.IBMQ.save_account('QISKITRC_TOKEN') self.assertEqual(len(read_credentials_from_qiskitrc()), 1) qiskit.IBMQ._accounts.clear() qiskit.IBMQ.delete_accounts(token='QISKITRC_TOKEN') self.assertEqual(len(read_credentials_from_qiskitrc()), 0)
def test_delete_all_accounts(self): """Test deleting all accounts from disk.""" with custom_qiskitrc(), mock_ibmq_provider(): qiskit.IBMQ.save_account('QISKITRC_TOKEN') qiskit.IBMQ.save_account('QISKITRC_TOKEN', url=IBMQ_TEMPLATE.format('a', 'b', 'c')) self.assertEqual(len(read_credentials_from_qiskitrc()), 2) qiskit.IBMQ.delete_accounts() self.assertEqual(len(qiskit.IBMQ._accounts), 0) self.assertEqual(len(read_credentials_from_qiskitrc()), 0)
def test_remove_account_from_disk(self): """Test removing an account from disk.""" with custom_qiskitrc(), mock_ibmq_provider(): qiskit.IBMQ.add_account('QISKITRC_TOKEN') self.assertEqual(len(read_credentials_from_qiskitrc()), 1) qiskit.IBMQ._accounts.clear() qiskit.IBMQ.remove_account('QISKITRC_TOKEN') self.assertEqual(len(qiskit.IBMQ._accounts), 0) self.assertEqual(len(read_credentials_from_qiskitrc()), 0)
def test_save_duplicate_accounts(self): """Test saving the same credentials twice.""" with custom_qiskitrc(), mock_ibmq_provider(): qiskit.IBMQ.save_account('QISKITRC_TOKEN') qiskit.IBMQ.save_account('QISKITRC_TOKEN') # Compare the session accounts with the ones stored in file. stored_accounts = read_credentials_from_qiskitrc() self.assertEqual(len(stored_accounts), 1)
def test_save_account(self): """Test saving one account.""" with custom_qiskitrc(), mock_ibmq_provider(): qiskit.IBMQ.save_account('QISKITRC_TOKEN', url=QE_URL, proxies={'http': 'foo'}) # Compare the session accounts with the ones stored in file. stored_accounts = read_credentials_from_qiskitrc() self.assertEqual(len(stored_accounts.keys()), 1)
def test_enable_multiple_accounts(self): """Test enabling multiple accounts, combining QX and IBMQ.""" with custom_qiskitrc(), mock_ibmq_provider(): qiskit.IBMQ.enable_account('QISKITRC_TOKEN') qiskit.IBMQ.enable_account('QISKITRC_TOKEN', url=IBMQ_TEMPLATE.format('a', 'b', 'c')) qiskit.IBMQ.enable_account('QISKITRC_TOKEN', url=IBMQ_TEMPLATE.format('a', 'b', 'X')) # Compare the session accounts with the ones stored in file. loaded_accounts = read_credentials_from_qiskitrc() self.assertEqual(loaded_accounts, {}) self.assertEqual(len(qiskit.IBMQ._accounts), 3)
def test_store_duplicate_credentials(self): """Test store the same credentials twice.""" with custom_qiskitrc(), mock_ibmq_provider(): qiskit.IBMQ.add_account('QISKITRC_TOKEN') with self.assertRaises(QISKitError): # Note they are considered the same, as they have the same url. qiskit.IBMQ.use_account('QISKITRC_TOKEN2') # Compare the session accounts with the ones stored in file. loaded_accounts = read_credentials_from_qiskitrc() self.assertEqual(len(qiskit.IBMQ._accounts), 1) self.assertEqual(len(loaded_accounts), 1)
def test_store_credentials(self): """Test storing one account.""" with custom_qiskitrc(), mock_ibmq_provider(): qiskit.IBMQ.add_account('QISKITRC_TOKEN', url=QE_URL, proxies={'http': 'foo'}) # Compare the session accounts with the ones stored in file. loaded_accounts = read_credentials_from_qiskitrc() self.assertEqual(qiskit.IBMQ._accounts.keys(), loaded_accounts.keys()) self.assertEqual( list(qiskit.IBMQ._accounts.values())[0].credentials, list(loaded_accounts.values())[0])
def test_enable_account(self): """Test enabling one account.""" with custom_qiskitrc(), mock_ibmq_provider(): qiskit.IBMQ.enable_account('QISKITRC_TOKEN', url='someurl', proxies={'http': 'foo'}) # Compare the session accounts with the ones stored in file. loaded_accounts = read_credentials_from_qiskitrc() _, provider = list(qiskit.IBMQ._accounts.items())[0] self.assertEqual(loaded_accounts, {}) self.assertEqual('QISKITRC_TOKEN', provider.credentials.token) self.assertEqual('someurl', provider.credentials.url) self.assertEqual({'http': 'foo'}, provider.credentials.proxies)
def test_save_multiple_accounts(self): """Test saving several accounts, combining QX and IBMQ""" with custom_qiskitrc(), mock_ibmq_provider(): qiskit.IBMQ.save_account('QISKITRC_TOKEN') qiskit.IBMQ.save_account('QISKITRC_TOKEN', url=IBMQ_TEMPLATE.format('a', 'b', 'c')) qiskit.IBMQ.save_account('QISKITRC_TOKEN', url=IBMQ_TEMPLATE.format('a', 'b', 'X')) # Compare the session accounts with the ones stored in file. stored_accounts = read_credentials_from_qiskitrc() self.assertEqual(len(stored_accounts), 3) for account_name, provider in qiskit.IBMQ._accounts.items(): self.assertEqual(provider.credentials, stored_accounts[account_name])