コード例 #1
0
ファイル: utils.py プロジェクト: Qiskit-Partners/qiskit-ibm
def get_hgp(qe_token: str,
            qe_url: str,
            default: bool = True) -> HubGroupProject:
    """Return a HubGroupProject for the account.

    Args:
        qe_token: IBM Quantum token.
        qe_url: IBM Quantum auth URL.
        default: If `True`, the default open access hgp is returned.
            Otherwise, a non open access hgp is returned.

    Returns:
        A HubGroupProject, as specified by `default`.
    """
    provider = IBMProvider(qe_token, url=qe_url)  # Default hub/group/project.
    open_hgp = provider._get_hgp()  # Open access hgp
    hgp_to_return = open_hgp
    if not default:
        # Get a non default hgp (i.e. not the default open access hgp).
        hgps = provider._get_hgps()
        for hgp in hgps:
            if hgp != open_hgp:
                hgp_to_return = hgp
                break
    return hgp_to_return
コード例 #2
0
class TestIBMProviderHubGroupProject(IBMTestCase):
    """Tests for IBMProvider HubGroupProject related methods."""
    @integration_test_setup()
    def setUp(self, dependencies: IntegrationTestDependencies) -> None:
        """Initial test setup."""
        # pylint: disable=arguments-differ
        super().setUp()
        self.dependencies = dependencies
        self.provider = IBMProvider(token=dependencies.token,
                                    url=dependencies.url)

    def test_get_hgp(self):
        """Test get single hgp."""
        hgp = self.provider._get_hgp()
        self.assertEqual(self.provider.backend._default_hgp, hgp)

    def test_get_hgps_with_filter(self):
        """Test get hgps with a filter."""
        hgp = self.provider._get_hgps()[0]
        self.assertEqual(self.provider.backend._default_hgp, hgp)

    def test_get_hgps_no_filter(self):
        """Test get hgps without a filter."""
        hgps = self.provider._get_hgps()
        self.assertIn(self.provider.backend._default_hgp, hgps)

    def test_active_account_instance(self):
        """Test active_account returns correct instance."""
        hgp = self.provider._get_hgp()
        provider = IBMProvider(
            token=self.dependencies.token,
            url=self.dependencies.url,
            instance=hgp.name,
        )
        self.assertEqual(hgp.name, provider.active_account()["instance"])

    def test_active_account_with_saved_instance(self):
        """Test active_account with a saved instance."""
        hgp = self.provider._get_hgp()
        name = "foo"
        with temporary_account_config_file(name=name,
                                           token=self.dependencies.token,
                                           instance=hgp.name):
            provider = IBMProvider(name=name)
        self.assertEqual(hgp.name, provider.active_account()["instance"])