54 lines
1.7 KiB
Python
54 lines
1.7 KiB
Python
import pytest
|
|
from pydantic import ValidationError
|
|
|
|
from delta_barth.api import common
|
|
from delta_barth.errors import (
|
|
UnspecifiedRequestType,
|
|
)
|
|
from delta_barth.types import HttpRequestTypes
|
|
|
|
|
|
def test_validate_creds(credentials):
|
|
creds = common.validate_credentials(
|
|
username=credentials["user"],
|
|
password=credentials["pwd"],
|
|
database=credentials["db"],
|
|
mandant=credentials["mandant"],
|
|
)
|
|
assert creds.username == credentials["user"]
|
|
assert creds.password == credentials["pwd"]
|
|
assert creds.database == credentials["db"]
|
|
assert creds.mandant == credentials["mandant"]
|
|
# with whitespaces
|
|
user = " " + credentials["user"] + " "
|
|
creds = common.validate_credentials(
|
|
username=user,
|
|
password=credentials["pwd"],
|
|
database=credentials["db"],
|
|
mandant=credentials["mandant"],
|
|
)
|
|
assert user != credentials["user"]
|
|
assert creds.username == credentials["user"]
|
|
# invalid type
|
|
user = 123
|
|
with pytest.raises(ValidationError):
|
|
creds = common.validate_credentials(
|
|
username=user, # type: ignore
|
|
password=credentials["pwd"],
|
|
database=credentials["db"],
|
|
mandant=credentials["mandant"],
|
|
)
|
|
|
|
|
|
@pytest.mark.api_con_required
|
|
def test_ping(api_base_url):
|
|
resp = common.ping(api_base_url, HttpRequestTypes.GET)
|
|
assert resp.status_code == 204
|
|
resp = common.ping(api_base_url, HttpRequestTypes.PUT)
|
|
assert resp.status_code == 204
|
|
resp = common.ping(api_base_url, HttpRequestTypes.DELETE)
|
|
assert resp.status_code == 204
|
|
|
|
with pytest.raises(UnspecifiedRequestType):
|
|
resp = common.ping(api_base_url, HttpRequestTypes.POST)
|