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,266 @@
.github/workflows/python.yml
.gitignore
.gitlab-ci.yml
.openapi-generator-ignore
.travis.yml
README.md
docs/AdvancedDataField.md
docs/Attachment.md
docs/AttachmentApi.md
docs/Attachments.md
docs/Contact.md
docs/ContactApi.md
docs/Contacts.md
docs/Customer.md
docs/CustomerApi.md
docs/CustomerGroup.md
docs/CustomerGroupApi.md
docs/CustomerGroups.md
docs/CustomerSnapshot.md
docs/Customers.md
docs/Discount.md
docs/DiscountApi.md
docs/DiscountPosition.md
docs/DiscountPositionGroup.md
docs/DiscountPositionGroups.md
docs/DiscountPositions.md
docs/Document.md
docs/DocumentAddress.md
docs/DocumentApi.md
docs/DocumentPayment.md
docs/DocumentPaymentApi.md
docs/DocumentPayments.md
docs/DocumentPosition.md
docs/DocumentRecurring.md
docs/DocumentVersion.md
docs/DocumentVersionApi.md
docs/DocumentVersionItem.md
docs/DocumentVersions.md
docs/Documents.md
docs/FileFormatConfig.md
docs/List.md
docs/Login.md
docs/LoginSecurity.md
docs/Logins.md
docs/LoginsApi.md
docs/PDFTemplate.md
docs/PDFTemplateSettings.md
docs/PDFTemplateSettingsEmail.md
docs/PDFTemplates.md
docs/PdfTemplatesApi.md
docs/Position.md
docs/PositionApi.md
docs/PositionExportIdentifierExtended.md
docs/PositionGroup.md
docs/PositionGroupApi.md
docs/PositionGroups.md
docs/Positions.md
docs/PostBox.md
docs/PostBoxApi.md
docs/PostBoxRequest.md
docs/PostBoxes.md
docs/Project.md
docs/ProjectApi.md
docs/Projects.md
docs/SEPAPayment.md
docs/SEPAPayments.md
docs/SepaPaymentApi.md
docs/SerialNumber.md
docs/SerialNumberApi.md
docs/SerialNumbers.md
docs/ServiceDate.md
docs/Stock.md
docs/StockApi.md
docs/Stocks.md
docs/Task.md
docs/TaskApi.md
docs/Tasks.md
docs/TextTemplate.md
docs/TextTemplateApi.md
docs/TextTemplates.md
docs/TimeTracking.md
docs/TimeTrackingApi.md
docs/TimeTrackings.md
docs/WebHook.md
docs/WebHookLastResponse.md
docs/WebHooks.md
docs/WebhookApi.md
easybill_generated_async/__init__.py
easybill_generated_async/api/__init__.py
easybill_generated_async/api/attachment_api.py
easybill_generated_async/api/contact_api.py
easybill_generated_async/api/customer_api.py
easybill_generated_async/api/customer_group_api.py
easybill_generated_async/api/discount_api.py
easybill_generated_async/api/document_api.py
easybill_generated_async/api/document_payment_api.py
easybill_generated_async/api/document_version_api.py
easybill_generated_async/api/logins_api.py
easybill_generated_async/api/pdf_templates_api.py
easybill_generated_async/api/position_api.py
easybill_generated_async/api/position_group_api.py
easybill_generated_async/api/post_box_api.py
easybill_generated_async/api/project_api.py
easybill_generated_async/api/sepa_payment_api.py
easybill_generated_async/api/serial_number_api.py
easybill_generated_async/api/stock_api.py
easybill_generated_async/api/task_api.py
easybill_generated_async/api/text_template_api.py
easybill_generated_async/api/time_tracking_api.py
easybill_generated_async/api/webhook_api.py
easybill_generated_async/api_client.py
easybill_generated_async/api_response.py
easybill_generated_async/configuration.py
easybill_generated_async/exceptions.py
easybill_generated_async/models/__init__.py
easybill_generated_async/models/advanced_data_field.py
easybill_generated_async/models/attachment.py
easybill_generated_async/models/attachments.py
easybill_generated_async/models/contact.py
easybill_generated_async/models/contacts.py
easybill_generated_async/models/customer.py
easybill_generated_async/models/customer_group.py
easybill_generated_async/models/customer_groups.py
easybill_generated_async/models/customer_snapshot.py
easybill_generated_async/models/customers.py
easybill_generated_async/models/discount.py
easybill_generated_async/models/discount_position.py
easybill_generated_async/models/discount_position_group.py
easybill_generated_async/models/discount_position_groups.py
easybill_generated_async/models/discount_positions.py
easybill_generated_async/models/document.py
easybill_generated_async/models/document_address.py
easybill_generated_async/models/document_payment.py
easybill_generated_async/models/document_payments.py
easybill_generated_async/models/document_position.py
easybill_generated_async/models/document_recurring.py
easybill_generated_async/models/document_version.py
easybill_generated_async/models/document_version_item.py
easybill_generated_async/models/document_versions.py
easybill_generated_async/models/documents.py
easybill_generated_async/models/file_format_config.py
easybill_generated_async/models/list.py
easybill_generated_async/models/login.py
easybill_generated_async/models/login_security.py
easybill_generated_async/models/logins.py
easybill_generated_async/models/pdf_template.py
easybill_generated_async/models/pdf_template_settings.py
easybill_generated_async/models/pdf_template_settings_email.py
easybill_generated_async/models/pdf_templates.py
easybill_generated_async/models/position.py
easybill_generated_async/models/position_export_identifier_extended.py
easybill_generated_async/models/position_group.py
easybill_generated_async/models/position_groups.py
easybill_generated_async/models/positions.py
easybill_generated_async/models/post_box.py
easybill_generated_async/models/post_box_request.py
easybill_generated_async/models/post_boxes.py
easybill_generated_async/models/project.py
easybill_generated_async/models/projects.py
easybill_generated_async/models/sepa_payment.py
easybill_generated_async/models/sepa_payments.py
easybill_generated_async/models/serial_number.py
easybill_generated_async/models/serial_numbers.py
easybill_generated_async/models/service_date.py
easybill_generated_async/models/stock.py
easybill_generated_async/models/stocks.py
easybill_generated_async/models/task.py
easybill_generated_async/models/tasks.py
easybill_generated_async/models/text_template.py
easybill_generated_async/models/text_templates.py
easybill_generated_async/models/time_tracking.py
easybill_generated_async/models/time_trackings.py
easybill_generated_async/models/web_hook.py
easybill_generated_async/models/web_hook_last_response.py
easybill_generated_async/models/web_hooks.py
easybill_generated_async/py.typed
easybill_generated_async/rest.py
git_push.sh
pyproject.toml
requirements.txt
setup.cfg
setup.py
test-requirements.txt
test/__init__.py
test/test_advanced_data_field.py
test/test_attachment.py
test/test_attachment_api.py
test/test_attachments.py
test/test_contact.py
test/test_contact_api.py
test/test_contacts.py
test/test_customer.py
test/test_customer_api.py
test/test_customer_group.py
test/test_customer_group_api.py
test/test_customer_groups.py
test/test_customer_snapshot.py
test/test_customers.py
test/test_discount.py
test/test_discount_api.py
test/test_discount_position.py
test/test_discount_position_group.py
test/test_discount_position_groups.py
test/test_discount_positions.py
test/test_document.py
test/test_document_address.py
test/test_document_api.py
test/test_document_payment.py
test/test_document_payment_api.py
test/test_document_payments.py
test/test_document_position.py
test/test_document_recurring.py
test/test_document_version.py
test/test_document_version_api.py
test/test_document_version_item.py
test/test_document_versions.py
test/test_documents.py
test/test_file_format_config.py
test/test_list.py
test/test_login.py
test/test_login_security.py
test/test_logins.py
test/test_logins_api.py
test/test_pdf_template.py
test/test_pdf_template_settings.py
test/test_pdf_template_settings_email.py
test/test_pdf_templates.py
test/test_pdf_templates_api.py
test/test_position.py
test/test_position_api.py
test/test_position_export_identifier_extended.py
test/test_position_group.py
test/test_position_group_api.py
test/test_position_groups.py
test/test_positions.py
test/test_post_box.py
test/test_post_box_api.py
test/test_post_box_request.py
test/test_post_boxes.py
test/test_project.py
test/test_project_api.py
test/test_projects.py
test/test_sepa_payment.py
test/test_sepa_payment_api.py
test/test_sepa_payments.py
test/test_serial_number.py
test/test_serial_number_api.py
test/test_serial_numbers.py
test/test_service_date.py
test/test_stock.py
test/test_stock_api.py
test/test_stocks.py
test/test_task.py
test/test_task_api.py
test/test_tasks.py
test/test_text_template.py
test/test_text_template_api.py
test/test_text_templates.py
test/test_time_tracking.py
test/test_time_tracking_api.py
test/test_time_trackings.py
test/test_web_hook.py
test/test_web_hook_last_response.py
test/test_web_hooks.py
test/test_webhook_api.py
tox.ini