mirror of
https://github.com/Balshgit/gpt_chat_bot.git
synced 2025-12-16 21:20:39 +03:00
remove models update from migrations (#80)
* add bot models update script * add last question at field * update README.md
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import asyncio
|
||||
import datetime
|
||||
from unittest import mock
|
||||
|
||||
import httpx
|
||||
@@ -414,6 +415,9 @@ async def test_ask_question_action_bot_user_not_exists(
|
||||
|
||||
created_user_question_count = dbsession.query(UserQuestionCount).filter_by(user_id=user["id"]).one()
|
||||
assert created_user_question_count.question_count == 1
|
||||
assert created_user_question_count.last_question_at - datetime.datetime.now() < datetime.timedelta( # noqa: DTZ005
|
||||
seconds=2
|
||||
)
|
||||
|
||||
|
||||
async def test_ask_question_action_bot_user_already_exists(
|
||||
@@ -466,6 +470,9 @@ async def test_ask_question_action_bot_user_already_exists(
|
||||
|
||||
updated_user_question_count = dbsession.query(UserQuestionCount).filter_by(user_id=user["id"]).one()
|
||||
assert updated_user_question_count.question_count == existing_user_question_count + 1
|
||||
assert updated_user_question_count.last_question_at - datetime.datetime.now() < datetime.timedelta( # noqa: DTZ005
|
||||
seconds=2
|
||||
)
|
||||
|
||||
|
||||
async def test_ask_question_action_user_is_banned(
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
import pytest
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from constants import ChatGptModelsEnum
|
||||
from core.bot.models.chatgpt import ChatGptModels
|
||||
from core.bot.services import ChatGptService
|
||||
|
||||
pytestmark = [
|
||||
pytest.mark.asyncio,
|
||||
pytest.mark.enable_socket,
|
||||
]
|
||||
|
||||
|
||||
async def test_models_update(dbsession: Session) -> None:
|
||||
models = dbsession.query(ChatGptModels).all()
|
||||
|
||||
assert len(models) == 0
|
||||
|
||||
chatgpt_service = ChatGptService.build()
|
||||
|
||||
await chatgpt_service.update_chatgpt_models()
|
||||
|
||||
models = dbsession.query(ChatGptModels).all()
|
||||
|
||||
model_priorities = {model.model: model.priority for model in models}
|
||||
|
||||
assert len(models) == len(ChatGptModelsEnum.base_models_priority())
|
||||
|
||||
for model_priority in ChatGptModelsEnum.base_models_priority():
|
||||
assert model_priorities[model_priority["model"]] == model_priority["priority"]
|
||||
@@ -34,6 +34,7 @@ class AccessTokenFactory(BaseModelFactory):
|
||||
class UserQuestionCountFactory(BaseModelFactory):
|
||||
user_id = factory.Sequence(lambda n: n + 1)
|
||||
question_count = factory.Faker("random_int")
|
||||
last_question_at = factory.Faker("past_datetime")
|
||||
|
||||
class Meta:
|
||||
model = UserQuestionCount
|
||||
|
||||
Reference in New Issue
Block a user