Add unit tests for authentication and webhook parsing
- Implement tests for basic and bearer authentication headers in `test_auth.py`. - Create tests for the `EasybillWebhookParser` in `test_webhooks.py`, covering JSON and form-encoded payloads, as well as a generic parse and acknowledgement method.
This commit is contained in:
commit
caacb339dd
550 changed files with 127217 additions and 0 deletions
70
generated/sync/test/test_web_hook.py
Normal file
70
generated/sync/test/test_web_hook.py
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
# coding: utf-8
|
||||
|
||||
"""
|
||||
easybill REST API
|
||||
|
||||
The first version of the easybill REST API. [CHANGELOG](https://api.easybill.de/rest/v1/CHANGELOG.md) ## Authentication You can choose between two available methods: `Basic Auth` or `Bearer Token`. In each HTTP request, one of the following HTTP headers is required: ``` # Basic Auth Authorization: Basic base64_encode('<email>:<api_key>') # Bearer Token Authorization: Bearer <api_key> ``` ## Limitations ### Request Limit * PLUS: 10 requests per minute * BUSINESS: 60 requests per minute If the limit is exceeded, you will receive the HTTP error: `429 Too Many Requests` ### Result Limit All result lists are limited to 100 by default. This limit can be increased by the query parameter `limit` to a maximum of 1000. ## Query filter Many list resources can be filtered. In `/documents` you can filter e.g. by number with `/documents?number=111028654`. If you want to filter multiple numbers, you can either enter them separated by commas `/documents?number=111028654,222006895` or as an array `/documents?number[]=111028654&number[]=222006895`. **Warning**: The maximum size of an HTTP request line in bytes is 4094. If this limit is exceeded, you will receive the HTTP error: `414 Request-URI Too Large` ### Escape commas in query You can escape commans in query `name=Patrick\\, Peter` if you submit the header `X-Easybill-Escape: true` in your request. ## Property login_id This is the login of your admin or employee account. ## Date and Date-Time format Please use the timezone `Europe/Berlin`. * **date** = *Y-m-d* = `2016-12-31` * **date-time** = *Y-m-d H:i:s* = `2016-12-31 03:13:37` Date or datetime can be `null` because the attributes have been added later and the entry is older.
|
||||
|
||||
The version of the OpenAPI document: 1.96.0
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from easybill_generated_sync.models.web_hook import WebHook
|
||||
|
||||
class TestWebHook(unittest.TestCase):
|
||||
"""WebHook unit test stubs"""
|
||||
|
||||
def setUp(self):
|
||||
pass
|
||||
|
||||
def tearDown(self):
|
||||
pass
|
||||
|
||||
def make_instance(self, include_optional) -> WebHook:
|
||||
"""Test WebHook
|
||||
include_optional is a boolean, when False only required
|
||||
params are included, when True both required and
|
||||
optional params are included """
|
||||
# uncomment below to create an instance of `WebHook`
|
||||
"""
|
||||
model = WebHook()
|
||||
if include_optional:
|
||||
return WebHook(
|
||||
content_type = 'form',
|
||||
description = 'My Webhook',
|
||||
events = [
|
||||
'document.create'
|
||||
],
|
||||
id = 56,
|
||||
is_active = True,
|
||||
last_response = easybill_generated_sync.models.web_hook_last_response.WebHookLastResponse(
|
||||
date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
||||
code = 204,
|
||||
response = '', ),
|
||||
secret = '',
|
||||
url = 'https://...'
|
||||
)
|
||||
else:
|
||||
return WebHook(
|
||||
content_type = 'form',
|
||||
description = 'My Webhook',
|
||||
events = [
|
||||
'document.create'
|
||||
],
|
||||
secret = '',
|
||||
url = 'https://...',
|
||||
)
|
||||
"""
|
||||
|
||||
def testWebHook(self):
|
||||
"""Test WebHook"""
|
||||
# inst_req_only = self.make_instance(include_optional=False)
|
||||
# inst_req_and_optional = self.make_instance(include_optional=True)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue