Skip to content

API client

This page describes APIKeyClient class which is implementation of API client class that uses API key for authentication.

APIKeyClient

Bases: APIClient

API client class that uses API key for authentication.

Attributes:

Name Type Description
url str

Typhoon Test Hub url

api_key str

API key for authentication

Source code in tth\client\api_key_client.py
class APIKeyClient(APIClient):
    """
    API client class that uses API key for authentication.

    Attributes:
        url (str): Typhoon Test Hub url
        api_key (str): API key for authentication
    """

    def __init__(self, url, api_key):
        self.url = url
        self.api_key = api_key
        super().__init__(url)

    def test_credentials(self):
        """
        Tests if provided credentials are valid.

        Returns:
            status (bool): Indicator whether provided credentials are valid
        """
        response = requests.get(f'{self.url}/api/api_keys/test', headers=self.get_request_headers())
        return response.status_code == 200

    def get_request_headers(self):
        """
        Generates dictionary with request header parameters.

        Returns:
            header (dict): Request header parameters
        """
        return {'X-API-Key': str(self.api_key)}

get_request_headers()

Generates dictionary with request header parameters.

Returns:

Name Type Description
header dict

Request header parameters

Source code in tth\client\api_key_client.py
def get_request_headers(self):
    """
    Generates dictionary with request header parameters.

    Returns:
        header (dict): Request header parameters
    """
    return {'X-API-Key': str(self.api_key)}

test_credentials()

Tests if provided credentials are valid.

Returns:

Name Type Description
status bool

Indicator whether provided credentials are valid

Source code in tth\client\api_key_client.py
def test_credentials(self):
    """
    Tests if provided credentials are valid.

    Returns:
        status (bool): Indicator whether provided credentials are valid
    """
    response = requests.get(f'{self.url}/api/api_keys/test', headers=self.get_request_headers())
    return response.status_code == 200