def test_quota_controller_base_transport_with_adc():
    # Test the default credentials are used if credentials and credentials_file are None.
    with mock.patch.object(google.auth, 'default', autospec=True) as adc, mock.patch('google.cloud.servicecontrol_v1.services.quota_controller.transports.QuotaControllerTransport._prep_wrapped_messages') as Transport:
        Transport.return_value = None
        adc.return_value = (ga_credentials.AnonymousCredentials(), None)
        transport = transports.QuotaControllerTransport()
        adc.assert_called_once()
def test_quota_controller_base_transport_error():
    # Passing both a credentials object and credentials_file should raise an error
    with pytest.raises(exceptions.DuplicateCredentialArgs):
        transport = transports.QuotaControllerTransport(
            credentials=credentials.AnonymousCredentials(),
            credentials_file="credentials.json",
        )
def test_quota_controller_base_transport_with_credentials_file_old_google_auth():
    # Instantiate the base transport with a credentials file
    with mock.patch.object(google.auth, 'load_credentials_from_file', autospec=True) as load_creds, mock.patch('google.cloud.servicecontrol_v1.services.quota_controller.transports.QuotaControllerTransport._prep_wrapped_messages') as Transport:
        Transport.return_value = None
        load_creds.return_value = (ga_credentials.AnonymousCredentials(), None)
        transport = transports.QuotaControllerTransport(
            credentials_file="credentials.json",
            quota_project_id="octopus",
        )
        load_creds.assert_called_once_with("credentials.json", scopes=(
            'https://www.googleapis.com/auth/cloud-platform',
            'https://www.googleapis.com/auth/servicecontrol',
            ),
            quota_project_id="octopus",
        )
def test_quota_controller_base_transport():
    # Instantiate the base transport.
    with mock.patch(
        "google.cloud.servicecontrol_v1.services.quota_controller.transports.QuotaControllerTransport.__init__"
    ) as Transport:
        Transport.return_value = None
        transport = transports.QuotaControllerTransport(
            credentials=credentials.AnonymousCredentials(),
        )

    # Every method on the transport should just blindly
    # raise NotImplementedError.
    methods = ("allocate_quota",)
    for method in methods:
        with pytest.raises(NotImplementedError):
            getattr(transport, method)(request=object())