def test_copy_metadata_pending_job(self): """Test copy metadata with a pending job.""" event = threading.Event() self.addCleanup(event.set) job_results1 = self._get_job_result(1) job_results2 = self._get_job_result(1) def _job1_result(): event.wait(timeout=15) return job_results1 def _job2_result(): event.wait(timeout=15) return job_results2 exp_data = DbExperimentData(experiment_type="qiskit_test") job = mock.create_autospec(Job, instance=True) job.result = _job1_result exp_data.add_jobs(job) copied = exp_data.copy(copy_results=False) job2 = mock.create_autospec(Job, instance=True) job2.result = _job2_result copied.add_jobs(job2) event.set() exp_data.block_for_results() copied.block_for_results() self.assertEqual(1, len(exp_data.data())) self.assertEqual(2, len(copied.data())) self.assertIn( exp_data.data(0)["counts"], [copied.data(0)["counts"], copied.data(1)["counts"]] )
def test_copy_metadata(self): """Test copy metadata.""" exp_data = DbExperimentData(experiment_type="qiskit_test") exp_data.add_data(self._get_job_result(1)) result = mock.MagicMock() exp_data.add_analysis_results(result) copied = exp_data.copy(copy_results=False) self.assertEqual(exp_data.data(), copied.data()) self.assertFalse(copied.analysis_results())