예제 #1
0
 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)
예제 #2
0
    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)
예제 #3
0
 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)
예제 #4
0
 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)
예제 #5
0
 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()])
예제 #6
0
 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)
예제 #7
0
    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
예제 #8
0
    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
예제 #9
0
 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()])
예제 #10
0
    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)