Skip to content

Commit

Permalink
feat: add tests for dao queries
Browse files Browse the repository at this point in the history
  • Loading branch information
SteBaum committed Jun 11, 2024
1 parent 98b3a20 commit a0a448b
Showing 1 changed file with 103 additions and 0 deletions.
103 changes: 103 additions & 0 deletions tests/unit/test_dao.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,12 @@
from sqlalchemy.engine import Engine

from tdp.core.models import (
DeploymentModel,
OperationModel,
SCHStatusLogModel,
SCHStatusLogSourceEnum,
)
from tdp.core.models.enums import DeploymentStateEnum, OperationStateEnum
from tdp.dao import Dao
from tests.conftest import create_session

Expand Down Expand Up @@ -158,3 +161,103 @@ def test_multiple_service_component_status(db_engine: Engine):

with Dao(db_engine) as dao:
assert set(dao.get_cluster_status()) == last_values


@pytest.mark.parametrize("db_engine", [True], indirect=True)
def test_get_deployment(db_engine):
with create_session(db_engine) as session:
session.add(
DeploymentModel(
id=1,
state=DeploymentStateEnum.RUNNING,
)
)
session.commit()
with Dao(db_engine) as dao:
assert dao.get_deployment(1) == DeploymentModel(
id=1,
state=DeploymentStateEnum.RUNNING,
)


@pytest.mark.parametrize("db_engine", [True], indirect=True)
def test_get_planned_deployment(db_engine):
with create_session(db_engine) as session:
session.add(
DeploymentModel(
id=1,
state=DeploymentStateEnum.PLANNED,
)
)
session.commit()
with Dao(db_engine) as dao:
assert dao.get_planned_deployment() == DeploymentModel(
id=1,
state=DeploymentStateEnum.PLANNED,
)


@pytest.mark.parametrize("db_engine", [True], indirect=True)
def test_get_last_deployment(db_engine):
with create_session(db_engine) as session:
session.add(
DeploymentModel(
id=3,
state=DeploymentStateEnum.SUCCESS,
)
)
session.commit()
with Dao(db_engine) as dao:
assert dao.get_last_deployment() == DeploymentModel(
id=3,
state=DeploymentStateEnum.SUCCESS,
)


@pytest.mark.parametrize("db_engine", [True], indirect=True)
def test_get_deployments(db_engine):
with create_session(db_engine) as session:
session.add(
DeploymentModel(
id=1,
state=DeploymentStateEnum.SUCCESS,
)
)
session.add(
DeploymentModel(
id=2,
state=DeploymentStateEnum.PLANNED,
)
)
session.commit()
with Dao(db_engine) as dao:
assert list(dao.get_deployments())[0] == DeploymentModel(
id=1, state=DeploymentStateEnum.SUCCESS
)
assert list(dao.get_deployments())[1] == DeploymentModel(
id=2, state=DeploymentStateEnum.PLANNED
)


@pytest.mark.parametrize("db_engine", [True], indirect=True)
def test_operation(db_engine):
with create_session(db_engine) as session:
session.add(DeploymentModel(id=1, state=DeploymentStateEnum.SUCCESS))
session.add(
OperationModel(
deployment_id=1,
operation_order=1,
operation="test_operation",
state=OperationStateEnum.SUCCESS,
)
)
session.commit()
with Dao(db_engine) as dao:
assert dao.get_operation(deployment_id=1, operation_name="test_operation") == [
OperationModel(
deployment_id=1,
operation_order=1,
operation="test_operation",
state=OperationStateEnum.SUCCESS,
)
]

0 comments on commit a0a448b

Please sign in to comment.