Skip to content

Commit

Permalink
Added a test and improved others
Browse files Browse the repository at this point in the history
  • Loading branch information
merav-aharoni committed Aug 13, 2023
1 parent 83e2f9d commit 4ae8904
Showing 1 changed file with 28 additions and 7 deletions.
35 changes: 28 additions & 7 deletions test/integration/test_session.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from ..ibm_test_case import IBMTestCase


class TestSession(IBMTestCase):
class TestIntegrationSession(IBMTestCase):
"""Test Session module."""

@classmethod
Expand All @@ -42,7 +42,7 @@ def test_session_id(self):

backend.open_session()
self.assertEqual(backend.session.session_id, None)
self.assertTrue(backend.session._active)
self.assertTrue(backend.session.active)
job1 = backend.run(ReferenceCircuits.bell())
session_id = backend.session.session_id
self.assertEqual(session_id, job1.job_id())
Expand All @@ -67,9 +67,9 @@ def test_session_close(self):
provider = IBMProvider(self.dependencies.token, self.dependencies.url)
backend = provider.get_backend("ibmq_qasm_simulator")
backend.open_session()
self.assertTrue(backend.session._active)
self.assertTrue(backend.session.active)
backend.close_session()
self.assertFalse(backend.session._active)
self.assertFalse(backend.session.active)

def test_run_after_close(self):
"""Test running after session is closed."""
Expand All @@ -78,15 +78,18 @@ def test_run_after_close(self):
backend.open_session()
_ = backend.run(ReferenceCircuits.bell())
backend.close_session()
with self.assertRaises(RuntimeError):
with self.assertRaises(RuntimeError) as err:
backend.run(
circuits=ReferenceCircuits.bell(),
program_id="program_id",
inputs={},
)
self.assertIn(
f"The session {backend.session.session_id} is closed.", str(err.exception)
)

def test_session_id_as_context_manager(self):
"""Test that the provider uses or doesn't use session correctly"""
def test_session_as_context_manager(self):
"""Test session as a context manager"""
provider = IBMProvider(self.dependencies.token, self.dependencies.url)
backend = provider.get_backend("ibmq_qasm_simulator")

Expand All @@ -96,3 +99,21 @@ def test_session_id_as_context_manager(self):
self.assertEqual(session_id, job1.job_id())
job2 = backend.run(ReferenceCircuits.bell())
self.assertFalse(session_id == job2.job_id())

def test_run_after_close_as_context_manager(self):
"""Test run after close in context manager"""
provider = IBMProvider(self.dependencies.token, self.dependencies.url)
backend = provider.get_backend("ibmq_qasm_simulator")

with backend.open_session() as session:
_ = backend.run(ReferenceCircuits.bell())
backend.close_session()
with self.assertRaises(RuntimeError) as err:
backend.run(
circuits=ReferenceCircuits.bell(),
program_id="program_id",
inputs={},
)
self.assertIn(
f"The session {session.session_id} is closed.", str(err.exception)
)

0 comments on commit 4ae8904

Please sign in to comment.