Untitled
unknown
plain_text
a year ago
2.1 kB
5
Indexable
from fastapi import FastAPI, Query, HTTPException
from fastapi.testclient import TestClient
from typing import List
import pytest
from pytest import MonkeyPatch
from src.database.models.Analytics import AnalyticsModel
from src.database.dbutils import *
from src.dependables import auth, db
from sqlalchemy.orm import Session
from unittest.mock import Mock, MagicMock, create_autospec
def test_is_db_locked(mock_db_session):
db_session = MagicMock()
mock_db_session.scalar.return_value = db_session
db_session.is_db_locked = True
result = is_db_locked(mock_db_session)
assert result == True
def test_is_db_locked_metadata_none(mock_db_session):
db_session = MagicMock()
mock_db_session.scalar.return_value = None
db_session.is_db_locked = True
result = is_db_locked(mock_db_session)
assert result == False
def test_is_db_locked_with_exception(mock_db_session):
mock_db_session.scalar.side_effect = Exception
result = is_db_locked(mock_db_session)
assert result == False
def test_lock_db(mock_db_session):
db_session = MagicMock()
mock_db_session.scalar.return_value = db_session
lock_db(mock_db_session)
mock_db_session.commit.assert_called_once()
assert db_session.is_db_locked == True
def test_lock_db_with_exception(mock_db_session):
db_session = MagicMock()
mock_db_session.scalar.side_effect = Exception
lock_db(mock_db_session)
mock_db_session.commit.assert_not_called()
assert db_session.is_db_locked != True
def test_unlock_db(mock_db_session):
db_session = MagicMock()
mock_db_session.scalar.return_value = db_session
unlock_db(mock_db_session)
mock_db_session.commit.assert_called_once()
assert db_session.is_db_locked == False
def test_unlock_db_with_exception(mock_db_session):
mp = MonkeyPatch()
mp.setenv("ENV", "local")
db_session = MagicMock()
mock_db_session.scalar.side_effect = Exception
unlock_db(mock_db_session)
mock_db_session.commit.assert_not_called()
assert db_session.is_db_locked != False
Editor is loading...
Leave a Comment