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:
claudi 2026-04-17 10:20:12 +02:00
commit caacb339dd
550 changed files with 127217 additions and 0 deletions

View file

@ -0,0 +1,106 @@
# Customer
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**acquire_options** | **int** | 1 = Empfehlung eines anderen Kunden, 2 = Zeitungsanzeige, 3 = Eigene Akquisition, 4 = Mitarbeiter Akquisition, 5 = Google, 6 = Gelbe Seiten, 7 = Kostenlose Internet Plattform, 8 = Bezahlte Internet Plattform | [optional]
**additional_groups_ids** | **List[int]** | | [optional]
**bank_account** | **str** | | [optional]
**bank_account_owner** | **str** | | [optional]
**bank_bic** | **str** | | [optional]
**bank_code** | **str** | | [optional]
**bank_iban** | **str** | | [optional]
**bank_name** | **str** | | [optional]
**birth_date** | **date** | | [optional]
**cash_allowance** | **float** | | [optional]
**cash_allowance_days** | **int** | | [optional]
**cash_discount** | **float** | | [optional]
**cash_discount_type** | **str** | | [optional]
**city** | **str** | | [optional]
**state** | **str** | | [optional]
**company_name** | **str** | |
**country** | **str** | | [optional]
**created_at** | **date** | | [optional] [readonly]
**updated_at** | **str** | | [optional] [readonly]
**delivery_title** | **str** | | [optional]
**delivery_city** | **str** | | [optional]
**delivery_state** | **str** | | [optional]
**delivery_company_name** | **str** | | [optional]
**delivery_country** | **str** | | [optional]
**delivery_first_name** | **str** | | [optional]
**delivery_last_name** | **str** | | [optional]
**delivery_personal** | **bool** | | [optional]
**delivery_salutation** | **int** | 0 = nothing, 1 = Mr, 2 = Mrs, 3 = Company, 4 = Mr & Mrs, 5 = Married couple, 6 = Family | [optional]
**delivery_street** | **str** | | [optional]
**delivery_suffix_1** | **str** | | [optional]
**delivery_suffix_2** | **str** | | [optional]
**delivery_zip_code** | **str** | | [optional]
**display_name** | **str** | | [optional] [readonly]
**emails** | **List[str]** | | [optional]
**fax** | **str** | | [optional]
**first_name** | **str** | | [optional]
**grace_period** | **int** | will be replaced by its alias due_in_days. | [optional]
**due_in_days** | **int** | due date in days | [optional]
**group_id** | **int** | | [optional]
**id** | **int** | | [optional] [readonly]
**info_1** | **str** | | [optional]
**info_2** | **str** | | [optional]
**internet** | **str** | | [optional]
**last_name** | **str** | |
**login_id** | **int** | | [optional]
**mobile** | **str** | | [optional]
**note** | **str** | | [optional]
**number** | **str** | Automatically generated if empty/omitted and when no type in query is provided or the type 'CUSTOMER', 'CUSTOMER,SUPPLIER' | [optional]
**supplier_number** | **str** | Automatically generated if the type SUPPLIER or 'CUSTOMER,SUPPLIER' is provided as query parameter and the field supplier_number is empty/omitted. | [optional]
**payment_options** | **int** | 1 = Stets pünktliche Zahlung, 2 = überwiegend pünktliche Zahlung, 3 = überwiegend verspätete Zahlung, 5 = Grundsätzlich verspätete Zahlung | [optional]
**personal** | **bool** | | [optional] [default to False]
**phone_1** | **str** | | [optional]
**phone_2** | **str** | | [optional]
**postbox** | **str** | | [optional]
**postbox_city** | **str** | | [optional]
**postbox_state** | **str** | | [optional]
**postbox_country** | **str** | | [optional]
**postbox_zip_code** | **str** | | [optional]
**sale_price_level** | **str** | | [optional]
**salutation** | **int** | 0 = nothing, 1 = Mr, 2 = Mrs, 3 = Company, 4 = Mr & Mrs, 5 = Married couple, 6 = Family | [optional]
**sepa_agreement** | **str** | BASIC = SEPA-Basislastschrift, COR1 = SEPA-Basislastschrift COR1 (deprecated use BASIC instead), COMPANY = SEPA-Firmenlastschrift, NULL = Noch kein Mandat erteilt | [optional]
**sepa_agreement_date** | **date** | | [optional]
**sepa_mandate_reference** | **str** | | [optional]
**since_date** | **date** | | [optional]
**street** | **str** | | [optional]
**suffix_1** | **str** | | [optional]
**suffix_2** | **str** | | [optional]
**tax_number** | **str** | | [optional]
**court** | **str** | | [optional]
**court_registry_number** | **str** | | [optional]
**tax_options** | **str** | nStb = Nicht steuerbar (Drittland), nStbUstID = Nicht steuerbar (EU mit USt-IdNr.), nStbNoneUstID = Nicht steuerbar (EU ohne USt-IdNr.), revc = Steuerschuldwechsel §13b (Inland), IG = Innergemeinschaftliche Lieferung, AL = Ausfuhrlieferung, sStfr = sonstige Steuerbefreiung, NULL = Umsatzsteuerpflichtig | [optional]
**title** | **str** | | [optional]
**archived** | **bool** | | [optional]
**vat_identifier** | **str** | | [optional]
**zip_code** | **str** | | [optional]
**document_pdf_type** | **str** | Type of PDF to use when sending a Document to the Customer. | [optional] [default to 'default']
**buyer_reference** | **str** | Used as \"buyerReference\" in ZUGFeRD and as \"Leitweg-ID\" in the XRechnung format. | [optional]
**foreign_supplier_number** | **str** | The ID given to your company by the customer in his system. | [optional]
## Example
```python
from easybill_generated_async.models.customer import Customer
# TODO update the JSON string below
json = "{}"
# create an instance of Customer from a JSON string
customer_instance = Customer.from_json(json)
# print the JSON string representation of the object
print(Customer.to_json())
# convert the object into a dict
customer_dict = customer_instance.to_dict()
# create an instance of Customer from a dict
customer_from_dict = Customer.from_dict(customer_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)