49 lines
1.6 KiB
Python
Raw Normal View History

2022-07-25 13:35:10 -04:00
"""Base_test."""
from flask.app import Flask
2022-07-29 13:39:57 -04:00
from spiffworkflow_backend.models.user import UserModel
from spiffworkflow_backend.services.user_service import UserService
from spiffworkflow_backend.services.authentication_service import PublicAuthenticationService
2022-07-25 13:35:10 -04:00
class BaseTest:
"""BaseTest."""
@staticmethod
def find_or_create_user(username: str = "test_user1") -> UserModel:
"""Find_or_create_user."""
user = UserModel.query.filter_by(username=username).first()
if isinstance(user, UserModel):
return user
else:
user: UserModel = UserService().create_user("local", username, username=username)
UserService().create_principal(user_id=user.id)
return user
2022-07-25 13:35:10 -04:00
@staticmethod
def get_keycloak_constants(app: Flask) -> tuple:
"""Get_keycloak_constants."""
2022-07-29 13:39:57 -04:00
keycloak_server_url = app.config["KEYCLOAK_SERVER_URL"]
2022-07-25 13:35:10 -04:00
keycloak_client_id = app.config["KEYCLOAK_CLIENT_ID"]
keycloak_realm_name = app.config["KEYCLOAK_REALM_NAME"]
2022-07-29 13:39:57 -04:00
keycloak_client_secret_key = app.config[
"KEYCLOAK_CLIENT_SECRET_KEY"
] # noqa: S105
2022-07-25 13:35:10 -04:00
2022-07-29 13:39:57 -04:00
return (
keycloak_server_url,
keycloak_client_id,
keycloak_realm_name,
keycloak_client_secret_key,
)
2022-07-25 14:05:32 -04:00
@staticmethod
2022-08-01 16:20:36 -04:00
def get_public_access_token(username: str, password: str) -> dict:
2022-07-29 13:39:57 -04:00
"""Get_public_access_token."""
public_access_token = PublicAuthenticationService().get_public_access_token(
username, password
)
2022-07-25 14:05:32 -04:00
return public_access_token