Beispiel #1
0
def api() -> api_methods.APIMethods:
    settings = api_settings.ApiSettings("../looker.ini")
    transport = requests_transport.RequestsTransport.configure(settings)
    auth = auth_session.AuthSession(settings, transport, serialize.deserialize31, "3.1")
    return api_methods.APIMethods(
        auth, serialize.deserialize31, serialize.serialize, transport, "3.1"
    )
Beispiel #2
0
def api() -> api_methods.APIMethods:
    settings = api_settings.ApiSettings(
        filename="../looker.ini", env_prefix=constants.environment_prefix)
    transport = requests_transport.RequestsTransport.configure(settings)
    auth = auth_session.AuthSession(settings, transport,
                                    serialize.deserialize31, "3.1")
    return api_methods.APIMethods(auth, serialize.deserialize31,
                                  serialize.serialize31, transport, "3.1")
Beispiel #3
0
def setup(config_file: str = "looker.ini",
          section: Optional[str] = None) -> methods.LookerSDK:
    """Default dependency configuration
    """
    settings = api_settings.ApiSettings.configure(config_file, section)
    settings.headers = {"Content-Type": "application/json"}
    transport = requests_transport.RequestsTransport.configure(settings)
    return methods.LookerSDK(
        auth_session.AuthSession(settings, transport, serialize.deserialize),
        serialize.deserialize,
        serialize.serialize,
        transport,
    )
Beispiel #4
0
def init40(config_file: str = "looker.ini",
           section: Optional[str] = None) -> methods40.Looker40SDK:
    """Default dependency configuration"""
    settings = _settings(config_file, section)
    settings.is_configured()
    transport = requests_transport.RequestsTransport.configure(settings)
    return methods40.Looker40SDK(
        auth_session.AuthSession(settings, transport, serialize.deserialize40,
                                 "4.0"),
        serialize.deserialize40,
        serialize.serialize,
        transport,
        "4.0",
    )
Beispiel #5
0
    def get_looker_sdk(self):
        """Returns Looker SDK client for Looker API 4.0."""
        conn = self.get_connection(self.looker_conn_id)
        settings = LookerApiSettings(conn)

        transport = requests_transport.RequestsTransport.configure(settings)
        return methods40.Looker40SDK(
            auth_session.AuthSession(settings, transport,
                                     serialize.deserialize40, "4.0"),
            serialize.deserialize40,
            serialize.serialize,
            transport,
            "4.0",
        )
def test_it_fails_with_missing_credentials(config_file, monkeypatch,
                                           test_section, test_env_client_id,
                                           test_env_client_secret):
    monkeypatch.setenv("LOOKERSDK_CLIENT_ID", test_env_client_id)
    monkeypatch.setenv("LOOKERSDK_CLIENT_SECRET", test_env_client_secret)

    settings = api_settings.ApiSettings.configure(config_file, test_section)
    auth_session = auth.AuthSession(settings,
                                    MockTransport.configure(settings),
                                    serialize.deserialize)

    with pytest.raises(error.SDKError) as exc_info:
        auth_session.authenticate()
    assert "auth credentials not found" in str(exc_info.value)
Beispiel #7
0
def init40(
    config_file: str = "looker.ini", section: Optional[str] = None
) -> methods40.Looker40SDK:
    """Default dependency configuration
    """
    settings = api_settings.ApiSettings(config_file, section)
    if not settings.is_configured():
        raise InitError("Missing required configuration values.")
    transport = requests_transport.RequestsTransport.configure(settings)
    return methods40.Looker40SDK(
        auth_session.AuthSession(settings, transport, serialize.deserialize40, "4.0"),
        serialize.deserialize40,
        serialize.serialize,
        transport,
        "4.0",
    )
Beispiel #8
0
def configure_sdk():

    try:
        settings = api_settings.ApiSettings()
        user_agent_tag = f"Themis v1.0"
        settings.headers = {
            "Content-Type": "application/json",
            "User-Agent": user_agent_tag,
        }
        settings.timeout = 480
        transport = requests_transport.RequestsTransport.configure(settings)
    except Exception as e:
        logger.error('Issues generating SDK configuration: {}'.format(e))

    return methods.Looker40SDK(
        auth_session.AuthSession(settings, transport, serialize.deserialize40,
                                 "4.0"), serialize.deserialize40,
        serialize.serialize, transport, "4.0")
Beispiel #9
0
def init31(
    config_file: str = "looker.ini",
    section: Optional[str] = None,
    config_settings: Optional[api_settings.ApiSettings] = None,
) -> methods31.Looker31SDK:
    """Default dependency configuration"""
    settings = (_settings(config_file, section)
                if config_settings is None else config_settings)
    settings.is_configured()
    transport = requests_transport.RequestsTransport.configure(settings)
    return methods31.Looker31SDK(
        auth_session.AuthSession(settings, transport, serialize.deserialize31,
                                 "3.1"),
        serialize.deserialize31,
        serialize.serialize31,
        transport,
        "3.1",
    )
Beispiel #10
0
def init40(config_file: str = "looker.ini",
           section: Optional[str] = None) -> methods40.Looker40SDK:
    """Default dependency configuration
    """
    settings = api_settings.ApiSettings.configure(config_file, section)
    if settings.api_version is not None:
        warnings.warn(
            message=DeprecationWarning(API_SETTINGS_API_VERSION_DEPRECATED))
    settings.api_version = "4.0"
    settings.headers = {"Content-Type": "application/json"}
    if not settings.is_configured():
        raise InitError(
            f"Missing required configuration values like base_url and api_version."
        )
    transport = requests_transport.RequestsTransport.configure(settings)
    return methods40.Looker40SDK(
        auth_session.AuthSession(settings, transport, serialize.deserialize40),
        serialize.deserialize40,
        serialize.serialize,
        transport,
    )
Beispiel #11
0
 def configure_sdk(
     self, config_file: str, section: str, timeout: Optional[int],
 ) -> methods.LookerSDK:
     """Instantiates and returns a LookerSDK object and overrides default timeout if
     specified by user.
     """
     settings = api_settings.ApiSettings.configure(config_file, section)
     user_agent_tag = f"Henry v{pkg.__version__}: cmd={self.cmd}, sid={uuid.uuid1()}"
     settings.headers = {
         "Content-Type": "application/json",
         "User-Agent": user_agent_tag,
     }
     if timeout:
         settings.timeout = timeout
     settings.api_version = "3.1"
     transport = requests_transport.RequestsTransport.configure(settings)
     return methods.LookerSDK(
         auth_session.AuthSession(settings, transport, serialize.deserialize),
         serialize.deserialize,
         serialize.serialize,
         transport,
     )
def auth_session(config_file):
    settings = api_settings.ApiSettings(config_file)
    return auth.AuthSession(settings, MockTransport.configure(settings),
                            serialize.deserialize31, "3.1")
Beispiel #13
0
def auth_session(config_file):
    settings = api_settings.ApiSettings(filename=config_file,
                                        env_prefix="LOOKERSDK")
    return auth.AuthSession(settings, MockTransport.configure(settings),
                            serialize.deserialize31, "3.1")