This commit is contained in:
Florian Förster 2025-03-21 07:30:56 +01:00
parent 4a34bb7934
commit 0888c6ebfd
2 changed files with 41 additions and 1 deletions

View File

@ -44,6 +44,8 @@ class Session:
database: str, database: str,
mandant: str, mandant: str,
) -> None: ) -> None:
if self.logged_in:
self.logout()
self._creds = validate_credentials( self._creds = validate_credentials(
username=username, username=username,
password=password, password=password,
@ -60,6 +62,8 @@ class Session:
self, self,
base_url: str, base_url: str,
) -> None: ) -> None:
if self.logged_in:
self.logout()
self._base_url = base_url self._base_url = base_url
@property @property

View File

@ -54,7 +54,7 @@ def test_ping(api_base_url):
resp = common.ping(api_base_url, HttpRequestTypes.POST) resp = common.ping(api_base_url, HttpRequestTypes.POST)
def test_session(credentials, api_base_url): def test_session_set_ApiInfo_LoggedOut(credentials, api_base_url):
session = common.Session(HTTP_BASE_CONTENT_HEADERS) session = common.Session(HTTP_BASE_CONTENT_HEADERS)
assert session.session_token is None assert session.session_token is None
@ -75,6 +75,42 @@ def test_session(credentials, api_base_url):
assert not session.logged_in assert not session.logged_in
@pytest.mark.api_con_required
def test_session_set_ApiInfo_LoggedIn(credentials, api_base_url):
session = common.Session(HTTP_BASE_CONTENT_HEADERS)
# prepare login
assert session.session_token is None
assert session._creds is None
assert session._base_url is None
session.set_base_url(api_base_url)
session.set_credentials(
username=credentials["user"],
password=credentials["pwd"],
database=credentials["db"],
mandant=credentials["mandant"],
)
session.login()
assert session._base_url is not None
assert session.logged_in
# reset base URL
session.set_base_url(api_base_url)
assert session._base_url is not None
assert not session.logged_in
assert session.session_token is None
# reset credentials
session.login()
assert session.logged_in
session.set_credentials(
username=credentials["user"],
password=credentials["pwd"],
database=credentials["db"],
mandant=credentials["mandant"],
)
assert session._creds is not None
assert not session.logged_in
assert session.session_token is None
@pytest.mark.api_con_required @pytest.mark.api_con_required
def test_login_logout_Success(session, credentials): def test_login_logout_Success(session, credentials):
assert not session.logged_in assert not session.logged_in