- 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.
139 lines
7.2 KiB
Python
139 lines
7.2 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.customers import Customers
|
|
|
|
class TestCustomers(unittest.TestCase):
|
|
"""Customers unit test stubs"""
|
|
|
|
def setUp(self):
|
|
pass
|
|
|
|
def tearDown(self):
|
|
pass
|
|
|
|
def make_instance(self, include_optional) -> Customers:
|
|
"""Test Customers
|
|
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 `Customers`
|
|
"""
|
|
model = Customers()
|
|
if include_optional:
|
|
return Customers(
|
|
page = 1,
|
|
pages = 1,
|
|
limit = 100,
|
|
total = 20,
|
|
items = [
|
|
easybill_generated_async.models.customer.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 Customers(
|
|
page = 1,
|
|
pages = 1,
|
|
limit = 100,
|
|
total = 20,
|
|
)
|
|
"""
|
|
|
|
def testCustomers(self):
|
|
"""Test Customers"""
|
|
# inst_req_only = self.make_instance(include_optional=False)
|
|
# inst_req_and_optional = self.make_instance(include_optional=True)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|