easybill_client/generated/async/test/test_customer.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

130 lines
6.3 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.customer import Customer
class TestCustomer(unittest.TestCase):
"""Customer unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> Customer:
"""Test Customer
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 `Customer`
"""
model = Customer()
if include_optional:
return Customer(
acquire_options = 5,
additional_groups_ids = [],
bank_account = '123456789',
bank_account_owner = 'Max Mustermann',
bank_bic = 'DEUTDEFF',
bank_code = '50070024',
bank_iban = 'DE89370400440532013000',
bank_name = 'Musterbank',
birth_date = 'Sat Dec 31 00:00:00 UTC 2016',
cash_allowance = 2.0,
cash_allowance_days = 7,
cash_discount = 3.0,
cash_discount_type = 'PERCENT',
city = 'Kaarst',
state = 'NRW',
company_name = 'easybill GmbH',
country = 'DE',
created_at = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(),
updated_at = '',
delivery_title = 'Dr.',
delivery_city = 'Hamburg',
delivery_state = 'NRW',
delivery_company_name = 'Musterfirma Logistik GmbH',
delivery_country = 'DE',
delivery_first_name = 'Erika',
delivery_last_name = 'Musterfrau',
delivery_personal = False,
delivery_salutation = 56,
delivery_street = 'Lieferstraße 42',
delivery_suffix_1 = 'Hinterhaus',
delivery_suffix_2 = '3. Etage',
delivery_zip_code = '20095',
display_name = '',
emails = [max.mustermann@easybill.de],
fax = '+49 2154 89701 29',
first_name = 'Max',
grace_period = 14,
due_in_days = 14,
group_id = 1,
id = 56,
info_1 = 'Kundennummer: 12345',
info_2 = 'Abteilung: Einkauf',
internet = 'https://www.easybill.de',
last_name = 'Mustermann',
login_id = 56,
mobile = '+49 170 1234567',
note = 'Wichtiger Kunde, bevorzugte Betreuung',
number = '',
supplier_number = '',
payment_options = 1,
personal = False,
phone_1 = '+49 2154 89701 20',
phone_2 = '+49 2154 89701 21',
postbox = 'Postfach 1234',
postbox_city = 'Düsseldorf',
postbox_state = 'NRW',
postbox_country = 'DE',
postbox_zip_code = '40213',
sale_price_level = 'SALEPRICE3',
salutation = 56,
sepa_agreement = 'BASIC',
sepa_agreement_date = 'Sat Jan 15 00:00:00 UTC 2022',
sepa_mandate_reference = 'MANDAT-2022-0815',
since_date = 'Sun Mar 01 00:00:00 UTC 2020',
street = 'Düsselstr. 21',
suffix_1 = 'c/o Musterfirma GmbH',
suffix_2 = '2. Stock, links',
tax_number = '21/815/08150',
court = 'Berlin',
court_registry_number = 'HRB XXXXX X',
tax_options = 'IG',
title = 'Dr.',
archived = False,
vat_identifier = 'DE814878557',
zip_code = '41564',
document_pdf_type = 'default',
buyer_reference = '',
foreign_supplier_number = ''
)
else:
return Customer(
company_name = 'easybill GmbH',
last_name = 'Mustermann',
)
"""
def testCustomer(self):
"""Test Customer"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()