def test_save_preferences(self): """Test saving preferences.""" preferences = self._get_pref_dict() with custom_qiskitrc(): store_preferences(preferences) _, stored_pref = read_credentials_from_qiskitrc() self.assertEqual(preferences, stored_pref)
def test_save_same_value_twice(self): """Test saving same value twice.""" pref = self._get_pref_dict(pref_val=True) with custom_qiskitrc(): store_preferences(pref) store_preferences(pref) _, stored_pref = read_credentials_from_qiskitrc() self.assertEqual(pref, stored_pref)
def test_new_provider_pref(self): """Test adding preference for another provider.""" pref1 = self._get_pref_dict() with custom_qiskitrc(): store_preferences(pref1) pref2 = self._get_pref_dict('hub2/group2/project2', pref_val=False) store_preferences(pref2) _, stored_pref = read_credentials_from_qiskitrc() self.assertEqual({**pref1, **pref2}, stored_pref)
def test_update_preferences(self): """Test updating preferences.""" pref1 = self._get_pref_dict() with custom_qiskitrc(): store_preferences(pref1) pref2 = self._get_pref_dict(pref_val=False) store_preferences(pref2) _, stored_pref = read_credentials_from_qiskitrc() self.assertEqual(pref2, stored_pref)
def test_save_preferences_credentials(self): """Test saving both preferences and credentials.""" preferences = self._get_pref_dict() credentials = Credentials('QISKITRC_TOKEN', url=QE2_AUTH_URL) with custom_qiskitrc(): store_preferences(preferences) store_credentials(credentials) stored_cred, stored_pref = read_credentials_from_qiskitrc() self.assertEqual(preferences, stored_pref) self.assertEqual(credentials, stored_cred[credentials.unique_id()])
def test_remove_credentials(self): """Test removing credentials when preferences are set.""" preferences = self._get_pref_dict() credentials = Credentials('QISKITRC_TOKEN', url=QE2_AUTH_URL) with custom_qiskitrc(): store_credentials(credentials) store_preferences(preferences) configrc.remove_credentials(credentials) stored_cred, stored_pref = read_credentials_from_qiskitrc() self.assertEqual(preferences, stored_pref) self.assertFalse(stored_cred)
def test_overwrite_category_keys(self): """Test overwriting preference keys in a category.""" pref1 = self._get_pref_dict() orig_active_pref = copy.deepcopy(configrc._ACTIVE_PREFERENCES) try: configrc._ACTIVE_PREFERENCES['experiment'].update({'foo': str}) with custom_qiskitrc(): store_preferences(pref1) new_cat = self._get_pref_dict(pref_key="foo", pref_val='bar') store_preferences(new_cat) _, stored_pref = read_credentials_from_qiskitrc() key = list(pref1.keys())[0] pref1[key]['experiment'] = {'foo': 'bar'} self.assertEqual(pref1, stored_pref) finally: configrc._ACTIVE_PREFERENCES = orig_active_pref
def test_new_pref_cat(self): """Test adding a new preference category.""" pref1 = self._get_pref_dict() orig_active_pref = copy.deepcopy(configrc._ACTIVE_PREFERENCES) try: configrc._ACTIVE_PREFERENCES.update({'foo': {'bar': str}}) with custom_qiskitrc(): store_preferences(pref1) new_cat = self._get_pref_dict(cat="foo", pref_key="bar", pref_val='foobar') store_preferences(new_cat) _, stored_pref = read_credentials_from_qiskitrc() key = list(pref1.keys())[0] pref1[key].update(new_cat[key]) self.assertEqual(pref1, stored_pref) finally: configrc._ACTIVE_PREFERENCES = orig_active_pref
def test_update_preferences_with_credentials(self): """Test updating preferences with credentials.""" preferences = self._get_pref_dict() pref2 = self._get_pref_dict(pref_val=False) credentials = Credentials('QISKITRC_TOKEN', url=QE2_AUTH_URL) credentials2 = Credentials('QISKITRC_TOKEN_2', url=QE2_AUTH_URL) with custom_qiskitrc(): store_preferences(preferences) store_credentials(credentials) # Update preferences. store_preferences(pref2) stored_cred, stored_pref = read_credentials_from_qiskitrc() self.assertEqual(pref2, stored_pref) self.assertEqual(credentials, stored_cred[credentials.unique_id()]) # Update credentials. store_credentials(credentials2, overwrite=True) stored_cred, stored_pref = read_credentials_from_qiskitrc() self.assertEqual(pref2, stored_pref) self.assertEqual(credentials2, stored_cred[credentials2.unique_id()])
def test_update_one_of_many_providers(self): """Test updating one of many provider preferences.""" pref1 = self._get_pref_dict(pref_val=False) pref2 = self._get_pref_dict('hub2/group2/project2', pref_val=False) with custom_qiskitrc(): store_preferences(pref1) store_preferences(pref2) pref1 = self._get_pref_dict(pref_val=True) store_preferences(pref1) _, stored_pref = read_credentials_from_qiskitrc() self.assertEqual({**pref1, **pref2}, stored_pref)