easybill_client/generated/async/test/test_position.py
claudi caacb339dd 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.
2026-04-17 10:20:12 +02:00

96 lines
4.6 KiB
Python

# 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_async.models.position import Position
class TestPosition(unittest.TestCase):
"""Position unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> Position:
"""Test Position
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 `Position`
"""
model = Position()
if include_optional:
return Position(
id = 56,
type = 'PRODUCT',
number = '1234',
description = 'iPhone X',
document_note = 'Test Note',
note = 'null',
unit = 'null',
export_identifier = 'null',
export_identifier_extended = easybill_generated_async.models.position_export_identifier_extended.PositionExportIdentifierExtended(
null = 'null',
n_stb = 'null',
n_stb_ust_id = 'null',
n_stb_none_ust_id = 'null',
n_stb_im = 'null',
revc = 'null',
ig = 'null',
al = 'null',
s_stfr = 'null',
small_business = 'null', ),
login_id = 56,
price_type = 'NETTO',
vat_percent = 19.0,
sale_price = 1250.0,
sale_price2 = 1.337,
sale_price3 = 1.337,
sale_price4 = 1.337,
sale_price5 = 1.337,
sale_price6 = 1.337,
sale_price7 = 1.337,
sale_price8 = 1.337,
sale_price9 = 1.337,
sale_price10 = 1.337,
cost_price = 830.0,
export_cost1 = 'null',
export_cost2 = 'null',
group_id = 56,
stock = 'NO',
stock_count = 100,
stock_limit_notify = True,
stock_limit_notify_frequency = 'ALWAYS',
stock_limit = 50,
quantity = 10.0,
archived = False
)
else:
return Position(
number = '1234',
description = 'iPhone X',
sale_price = 1250.0,
)
"""
def testPosition(self):
"""Test Position"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()