Skip to content

测试工具

ServiceTestCase

Bases: UnitTestCase, ABC, APICaller

Source code in aloha/testing/service_v1.py
class ServiceTestCase(UnitTestCase, ABC, APICaller):
    api_url_base = None

    @classmethod
    def setUpClass(cls) -> None:
        cls.api_url_base = ServiceTestCase.config.get("service", {}).get("port", 80)

    @classmethod
    def request_api(cls, api_url, timeout=5, **kwargs):
        """Class method to test an API call

        :param api_url: do NOT starts with slash (/)
        :param timeout: requests timeout in seconds
        :param kwargs: request data
        :return:
        """
        payload = cls.wrap_request_data(data=kwargs)
        url = "http://localhost:%s/%s" % (cls.api_url_base, api_url)
        cls.LOG.debug("POST %s  %s" % (url, json.dumps(payload, ensure_ascii=False, sort_keys=True)))
        resp = requests.post(url, json=payload, timeout=timeout, headers={"Content-Type": "application/json"}).json()
        cls.LOG.debug(resp)
        return resp

request_api(api_url, timeout=5, **kwargs) classmethod

Class method to test an API call

Parameters:

Name Type Description Default
api_url

do NOT starts with slash (/)

required
timeout

requests timeout in seconds

5
kwargs

request data

{}

Returns:

Type Description
Source code in aloha/testing/service_v1.py
@classmethod
def request_api(cls, api_url, timeout=5, **kwargs):
    """Class method to test an API call

    :param api_url: do NOT starts with slash (/)
    :param timeout: requests timeout in seconds
    :param kwargs: request data
    :return:
    """
    payload = cls.wrap_request_data(data=kwargs)
    url = "http://localhost:%s/%s" % (cls.api_url_base, api_url)
    cls.LOG.debug("POST %s  %s" % (url, json.dumps(payload, ensure_ascii=False, sort_keys=True)))
    resp = requests.post(url, json=payload, timeout=timeout, headers={"Content-Type": "application/json"}).json()
    cls.LOG.debug(resp)
    return resp

ServiceTestCase

Bases: UnitTestCase, ABC, APICaller

Source code in aloha/testing/service_v2.py
class ServiceTestCase(UnitTestCase, ABC, APICaller):
    api_url_base = None

    @classmethod
    def setUpClass(cls) -> None:
        cls.api_url_port = ServiceTestCase.config.get("service", {}).get("port", 80)

    @classmethod
    def request_api(cls, api_url, timeout=5, **kwargs):
        """Class method to test an API call

        :param api_url: do NOT start with slash (/)
        :param timeout: requests timeout in seconds
        :param kwargs: request data
        :return:
        """
        url = "http://localhost:%s/%s" % (cls.api_url_port, api_url)
        # cls.LOG.debug("POST %s  %s" % (url, json.dumps(kwargs, ensure_ascii=False, sort_keys=True)))
        # resp = requests.post(
        #     url, json=kwargs, timeout=timeout, headers={'Content-Type': 'application/json'}
        # ).json()
        # cls.LOG.debug(resp)
        return cls.call(url, timeout=timeout, **kwargs)

request_api(api_url, timeout=5, **kwargs) classmethod

Class method to test an API call

Parameters:

Name Type Description Default
api_url

do NOT start with slash (/)

required
timeout

requests timeout in seconds

5
kwargs

request data

{}

Returns:

Type Description
Source code in aloha/testing/service_v2.py
@classmethod
def request_api(cls, api_url, timeout=5, **kwargs):
    """Class method to test an API call

    :param api_url: do NOT start with slash (/)
    :param timeout: requests timeout in seconds
    :param kwargs: request data
    :return:
    """
    url = "http://localhost:%s/%s" % (cls.api_url_port, api_url)
    # cls.LOG.debug("POST %s  %s" % (url, json.dumps(kwargs, ensure_ascii=False, sort_keys=True)))
    # resp = requests.post(
    #     url, json=kwargs, timeout=timeout, headers={'Content-Type': 'application/json'}
    # ).json()
    # cls.LOG.debug(resp)
    return cls.call(url, timeout=timeout, **kwargs)