def test_register_backend_name_conflicts(self): """Test backend name conflicts when registering.""" class SecondDummyProvider(DummyProvider): """ Subclass the DummyProvider so register treats them as different.""" pass dummy_provider = qiskit.wrapper.register(provider_class=DummyProvider) initial_providers = registered_providers() initial_backends = qiskit.wrapper.available_backends() dummy_backend = dummy_provider.get_backend('local_dummy_simulator') with self.assertLogs(level=logging.WARNING) as logs: second_dummy_provider = qiskit.wrapper.register( provider_class=SecondDummyProvider) # Check that one, and only one warning has been issued. self.assertEqual(len(logs.records), 1) # Check that the provider has been registered. self.assertCountEqual(initial_providers + [second_dummy_provider], registered_providers()) # Check that no new backends have been added. self.assertCountEqual(initial_backends, qiskit.wrapper.available_backends()) # Check the name of the backend still refers to the previous one. self.assertEqual(dummy_backend, qiskit.wrapper.get_backend('local_dummy_simulator'))
def test_register_twice(self, QE_TOKEN, QE_URL, hub, group, project): """Test double registration of the same credentials.""" qiskit.wrapper.register(QE_TOKEN, QE_URL, hub, group, project) initial_providers = registered_providers() with self.assertRaises(QISKitError): qiskit.wrapper.register(QE_TOKEN, QE_URL, hub, group, project) self.assertCountEqual(initial_providers, registered_providers())
def test_unregister_non_existent(self, QE_TOKEN, QE_URL): """Test unregistering a non existent provider.""" initial_providers = registered_providers() ibmqprovider = IBMQProvider(QE_TOKEN, QE_URL) with self.assertRaises(QISKitError): qiskit.wrapper.unregister(ibmqprovider) self.assertEqual(initial_providers, registered_providers())
def test_register_twice(self, QE_TOKEN, QE_URL): """Test double registration of the same credentials.""" qiskit.wrapper.register(QE_TOKEN, QE_URL) initial_providers = registered_providers() # Registering twice should give warning and add no providers. qiskit.wrapper.register(QE_TOKEN, QE_URL) self.assertCountEqual(initial_providers, registered_providers())
def test_register_backend_name_conflicts(self, QE_TOKEN, QE_URL, hub, group, project): """Test backend name conflicts when registering.""" qiskit.wrapper.register(QE_TOKEN, QE_URL, hub, group, project, provider_name='provider1') initial_providers = registered_providers() initial_backends = qiskit.wrapper.available_backends() ibmqx4_backend = qiskit.wrapper.get_backend('ibmqx4') with self.assertLogs(level=logging.WARNING) as logs: qiskit.wrapper.register(QE_TOKEN, QE_URL, hub, group, project, provider_name='provider2') # Check that one, and only one warning has been issued. self.assertEqual(len(logs.records), 1) # Check that the provider has been registered. self.assertCountEqual(initial_providers + ['provider2'], registered_providers()) # Check that no new backends have been added. self.assertCountEqual(initial_backends, qiskit.wrapper.available_backends()) # Check the name of the backend still refers to the previous one. self.assertEqual(ibmqx4_backend, qiskit.wrapper.get_backend('ibmqx4'))
def test_register_twice(self, qe_token, qe_url): """Test double registration of the same credentials.""" qiskit.wrapper.register(qe_token, qe_url) initial_providers = registered_providers() with self.assertRaises(QISKitError): qiskit.wrapper.register(qe_token, qe_url) self.assertCountEqual(initial_providers, registered_providers())
def test_unregister(self, QE_TOKEN, QE_URL): """Test unregistering.""" initial_providers = registered_providers() ibmqprovider = qiskit.wrapper.register(QE_TOKEN, QE_URL) self.assertCountEqual(initial_providers + [ibmqprovider], registered_providers()) qiskit.wrapper.unregister(ibmqprovider) self.assertEqual(initial_providers, registered_providers())
def test_unregister(self, qe_token, qe_url): """Test unregistering.""" initial_providers = registered_providers() ibmqprovider = qiskit.wrapper.register(qe_token, qe_url) self.assertCountEqual(initial_providers + [ibmqprovider], registered_providers()) qiskit.wrapper.unregister(ibmqprovider) self.assertEqual(initial_providers, registered_providers())
def test_register_twice(self, qe_token, qe_url): """Test double registration of the same credentials.""" qiskit.wrapper.register(qe_token, qe_url) initial_providers = registered_providers() with self.assertWarns(Warning) as context_manager: qiskit.wrapper.register(qe_token, qe_url) self.assertEqual('Credentials are already in use.', str(context_manager.warnings[-1].message)) self.assertCountEqual(initial_providers, registered_providers())
def test_unregister(self, QE_TOKEN, QE_URL, hub, group, project): """Test unregistering.""" initial_providers = registered_providers() qiskit.wrapper.register(QE_TOKEN, QE_URL, hub, group, project, provider_name='provider1') self.assertCountEqual(initial_providers + ['provider1'], registered_providers()) qiskit.wrapper.unregister('provider1') self.assertEqual(initial_providers, registered_providers())
def test_register_twice_with_different_names(self, QE_TOKEN, QE_URL, hub, group, project): """Test double registration of same credentials but different names.""" initial_providers = registered_providers() qiskit.wrapper.register(QE_TOKEN, QE_URL, hub, group, project, provider_name='provider1') qiskit.wrapper.register(QE_TOKEN, QE_URL, hub, group, project, provider_name='provider2') self.assertCountEqual(initial_providers + ['provider1', 'provider2'], registered_providers())
def test_register_bad_credentials(self): """Test registering a provider with bad credentials.""" initial_providers = registered_providers() with self.assertRaises(QISKitError): qiskit.wrapper.register('FAKE_TOKEN', 'http://unknown') self.assertEqual(initial_providers, registered_providers())
def test_register_unknown_name(self): """Test registering a provider with not explicit name.""" initial_providers = registered_providers() with self.assertRaises(QISKitError): qiskit.wrapper.register('FAKE_TOKEN', 'http://unknown') self.assertEqual(initial_providers, registered_providers())
def test_unregister_non_existent(self): """Test unregistering a non existent provider.""" initial_providers = registered_providers() with self.assertRaises(QISKitError): qiskit.wrapper.unregister('provider1') self.assertEqual(initial_providers, registered_providers())