def _create_experiment_data(self): """Create an experiment data.""" exp_data = DbExperimentData(backend=self.backend, experiment_type="qiskit_test") exp_data.save() self.experiments_to_delete.append(exp_data.experiment_id) return exp_data
def test_new_experiment_data(self): """Test creating a new experiment data.""" metadata = {"complex": 2 + 3j, "numpy": np.zeros(2)} exp_data = DbExperimentData( backend=self.backend, experiment_type="qiskit_test", tags=["foo", "bar"], share_level="hub", metadata=metadata, notes="some notes", ) job_ids = [] for _ in range(2): job = self._run_circuit() exp_data.add_jobs(job) job_ids.append(job.job_id()) exp_data.save() self.experiments_to_delete.append(exp_data.experiment_id) credentials = self.backend.provider().credentials rexp = DbExperimentData.load(exp_data.experiment_id, self.experiment) self._verify_experiment_data(exp_data, rexp) self.assertEqual(credentials.hub, rexp.hub) # pylint: disable=no-member self.assertEqual(credentials.group, rexp.group) # pylint: disable=no-member self.assertEqual(credentials.project, rexp.project) # pylint: disable=no-member
def test_set_service_job(self): """Test setting service with a job.""" exp_data = DbExperimentData(experiment_type="qiskit_test") job = self._run_circuit() exp_data.add_jobs(job) exp_data.save() rexp = self.experiment.experiment(exp_data.experiment_id) self.assertEqual([job.job_id()], rexp["job_ids"])
def test_save(self): """Test saving all experiment related data.""" exp_data = DbExperimentData(backend=self.backend, experiment_type="qiskit_test") service = mock.create_autospec(DatabaseServiceV1, instance=True) exp_data.add_figures(str.encode("hello world")) analysis_result = mock.MagicMock() exp_data.add_analysis_results(analysis_result) exp_data.service = service exp_data.save() service.create_experiment.assert_called_once() service.create_figure.assert_called_once() analysis_result.save.assert_called_once()