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:
commit
caacb339dd
550 changed files with 127217 additions and 0 deletions
446
generated/sync/docs/ProjectApi.md
Normal file
446
generated/sync/docs/ProjectApi.md
Normal file
|
|
@ -0,0 +1,446 @@
|
|||
# easybill_generated_sync.ProjectApi
|
||||
|
||||
All URIs are relative to *https://api.easybill.de/rest/v1*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**projects_get**](ProjectApi.md#projects_get) | **GET** /projects | Fetch projects list
|
||||
[**projects_id_delete**](ProjectApi.md#projects_id_delete) | **DELETE** /projects/{id} | Delete project
|
||||
[**projects_id_get**](ProjectApi.md#projects_id_get) | **GET** /projects/{id} | Fetch project
|
||||
[**projects_id_put**](ProjectApi.md#projects_id_put) | **PUT** /projects/{id} | Update project
|
||||
[**projects_post**](ProjectApi.md#projects_post) | **POST** /projects | Create project
|
||||
|
||||
|
||||
# **projects_get**
|
||||
> Projects projects_get(limit=limit, page=page, customer_id=customer_id, status=status)
|
||||
|
||||
Fetch projects list
|
||||
|
||||
### Example
|
||||
|
||||
* Basic Authentication (basicAuth):
|
||||
* Api Key Authentication (Bearer):
|
||||
|
||||
```python
|
||||
import easybill_generated_sync
|
||||
from easybill_generated_sync.models.projects import Projects
|
||||
from easybill_generated_sync.rest import ApiException
|
||||
from pprint import pprint
|
||||
|
||||
# Defining the host is optional and defaults to https://api.easybill.de/rest/v1
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = easybill_generated_sync.Configuration(
|
||||
host = "https://api.easybill.de/rest/v1"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure HTTP basic authorization: basicAuth
|
||||
configuration = easybill_generated_sync.Configuration(
|
||||
username = os.environ["USERNAME"],
|
||||
password = os.environ["PASSWORD"]
|
||||
)
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration.api_key['Bearer'] = os.environ["API_KEY"]
|
||||
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['Bearer'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
async with easybill_generated_sync.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = easybill_generated_sync.ProjectApi(api_client)
|
||||
limit = 56 # int | Limited the result. Default is 100. Maximum can be 1000. (optional)
|
||||
page = 56 # int | Set current Page. Default is 1. (optional)
|
||||
customer_id = 'customer_id_example' # str | Filter projects by customer_id. You can add multiple ids separate by comma like id,id,id. (optional)
|
||||
status = 'status_example' # str | Filter projects by status. (optional)
|
||||
|
||||
try:
|
||||
# Fetch projects list
|
||||
api_response = await api_instance.projects_get(limit=limit, page=page, customer_id=customer_id, status=status)
|
||||
print("The response of ProjectApi->projects_get:\n")
|
||||
pprint(api_response)
|
||||
except Exception as e:
|
||||
print("Exception when calling ProjectApi->projects_get: %s\n" % e)
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Parameters
|
||||
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**limit** | **int**| Limited the result. Default is 100. Maximum can be 1000. | [optional]
|
||||
**page** | **int**| Set current Page. Default is 1. | [optional]
|
||||
**customer_id** | **str**| Filter projects by customer_id. You can add multiple ids separate by comma like id,id,id. | [optional]
|
||||
**status** | **str**| Filter projects by status. | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**Projects**](Projects.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[basicAuth](../README.md#basicAuth), [Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | Successful operation | - |
|
||||
**429** | Too Many Requests | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **projects_id_delete**
|
||||
> projects_id_delete(id)
|
||||
|
||||
Delete project
|
||||
|
||||
### Example
|
||||
|
||||
* Basic Authentication (basicAuth):
|
||||
* Api Key Authentication (Bearer):
|
||||
|
||||
```python
|
||||
import easybill_generated_sync
|
||||
from easybill_generated_sync.rest import ApiException
|
||||
from pprint import pprint
|
||||
|
||||
# Defining the host is optional and defaults to https://api.easybill.de/rest/v1
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = easybill_generated_sync.Configuration(
|
||||
host = "https://api.easybill.de/rest/v1"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure HTTP basic authorization: basicAuth
|
||||
configuration = easybill_generated_sync.Configuration(
|
||||
username = os.environ["USERNAME"],
|
||||
password = os.environ["PASSWORD"]
|
||||
)
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration.api_key['Bearer'] = os.environ["API_KEY"]
|
||||
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['Bearer'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
async with easybill_generated_sync.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = easybill_generated_sync.ProjectApi(api_client)
|
||||
id = 56 # int | ID of project
|
||||
|
||||
try:
|
||||
# Delete project
|
||||
await api_instance.projects_id_delete(id)
|
||||
except Exception as e:
|
||||
print("Exception when calling ProjectApi->projects_id_delete: %s\n" % e)
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Parameters
|
||||
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **int**| ID of project |
|
||||
|
||||
### Return type
|
||||
|
||||
void (empty response body)
|
||||
|
||||
### Authorization
|
||||
|
||||
[basicAuth](../README.md#basicAuth), [Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: Not defined
|
||||
|
||||
### HTTP response details
|
||||
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**204** | Successful operation | - |
|
||||
**404** | Not found | - |
|
||||
**429** | Too Many Requests | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **projects_id_get**
|
||||
> Project projects_id_get(id)
|
||||
|
||||
Fetch project
|
||||
|
||||
### Example
|
||||
|
||||
* Basic Authentication (basicAuth):
|
||||
* Api Key Authentication (Bearer):
|
||||
|
||||
```python
|
||||
import easybill_generated_sync
|
||||
from easybill_generated_sync.models.project import Project
|
||||
from easybill_generated_sync.rest import ApiException
|
||||
from pprint import pprint
|
||||
|
||||
# Defining the host is optional and defaults to https://api.easybill.de/rest/v1
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = easybill_generated_sync.Configuration(
|
||||
host = "https://api.easybill.de/rest/v1"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure HTTP basic authorization: basicAuth
|
||||
configuration = easybill_generated_sync.Configuration(
|
||||
username = os.environ["USERNAME"],
|
||||
password = os.environ["PASSWORD"]
|
||||
)
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration.api_key['Bearer'] = os.environ["API_KEY"]
|
||||
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['Bearer'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
async with easybill_generated_sync.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = easybill_generated_sync.ProjectApi(api_client)
|
||||
id = 56 # int | ID of project
|
||||
|
||||
try:
|
||||
# Fetch project
|
||||
api_response = await api_instance.projects_id_get(id)
|
||||
print("The response of ProjectApi->projects_id_get:\n")
|
||||
pprint(api_response)
|
||||
except Exception as e:
|
||||
print("Exception when calling ProjectApi->projects_id_get: %s\n" % e)
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Parameters
|
||||
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **int**| ID of project |
|
||||
|
||||
### Return type
|
||||
|
||||
[**Project**](Project.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[basicAuth](../README.md#basicAuth), [Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | Successful operation | - |
|
||||
**404** | Not found | - |
|
||||
**429** | Too Many Requests | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **projects_id_put**
|
||||
> Project projects_id_put(id, body)
|
||||
|
||||
Update project
|
||||
|
||||
### Example
|
||||
|
||||
* Basic Authentication (basicAuth):
|
||||
* Api Key Authentication (Bearer):
|
||||
|
||||
```python
|
||||
import easybill_generated_sync
|
||||
from easybill_generated_sync.models.project import Project
|
||||
from easybill_generated_sync.rest import ApiException
|
||||
from pprint import pprint
|
||||
|
||||
# Defining the host is optional and defaults to https://api.easybill.de/rest/v1
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = easybill_generated_sync.Configuration(
|
||||
host = "https://api.easybill.de/rest/v1"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure HTTP basic authorization: basicAuth
|
||||
configuration = easybill_generated_sync.Configuration(
|
||||
username = os.environ["USERNAME"],
|
||||
password = os.environ["PASSWORD"]
|
||||
)
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration.api_key['Bearer'] = os.environ["API_KEY"]
|
||||
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['Bearer'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
async with easybill_generated_sync.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = easybill_generated_sync.ProjectApi(api_client)
|
||||
id = 56 # int | ID of project
|
||||
body = easybill_generated_sync.Project() # Project |
|
||||
|
||||
try:
|
||||
# Update project
|
||||
api_response = await api_instance.projects_id_put(id, body)
|
||||
print("The response of ProjectApi->projects_id_put:\n")
|
||||
pprint(api_response)
|
||||
except Exception as e:
|
||||
print("Exception when calling ProjectApi->projects_id_put: %s\n" % e)
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Parameters
|
||||
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **int**| ID of project |
|
||||
**body** | [**Project**](Project.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**Project**](Project.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[basicAuth](../README.md#basicAuth), [Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: application/json
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | Successful operation | - |
|
||||
**400** | Invalid project | - |
|
||||
**429** | Too Many Requests | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **projects_post**
|
||||
> Project projects_post(body)
|
||||
|
||||
Create project
|
||||
|
||||
### Example
|
||||
|
||||
* Basic Authentication (basicAuth):
|
||||
* Api Key Authentication (Bearer):
|
||||
|
||||
```python
|
||||
import easybill_generated_sync
|
||||
from easybill_generated_sync.models.project import Project
|
||||
from easybill_generated_sync.rest import ApiException
|
||||
from pprint import pprint
|
||||
|
||||
# Defining the host is optional and defaults to https://api.easybill.de/rest/v1
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = easybill_generated_sync.Configuration(
|
||||
host = "https://api.easybill.de/rest/v1"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure HTTP basic authorization: basicAuth
|
||||
configuration = easybill_generated_sync.Configuration(
|
||||
username = os.environ["USERNAME"],
|
||||
password = os.environ["PASSWORD"]
|
||||
)
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration.api_key['Bearer'] = os.environ["API_KEY"]
|
||||
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['Bearer'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
async with easybill_generated_sync.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = easybill_generated_sync.ProjectApi(api_client)
|
||||
body = easybill_generated_sync.Project() # Project |
|
||||
|
||||
try:
|
||||
# Create project
|
||||
api_response = await api_instance.projects_post(body)
|
||||
print("The response of ProjectApi->projects_post:\n")
|
||||
pprint(api_response)
|
||||
except Exception as e:
|
||||
print("Exception when calling ProjectApi->projects_post: %s\n" % e)
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Parameters
|
||||
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**body** | [**Project**](Project.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**Project**](Project.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[basicAuth](../README.md#basicAuth), [Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: application/json
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**201** | Successful operation | - |
|
||||
**429** | Too Many Requests | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue