move tests to root directory

This commit is contained in:
Dmitry Afanasyev 2022-08-15 21:43:07 +03:00
parent 09b7e58bcd
commit aeb45c9d7d
11 changed files with 19 additions and 20 deletions

View File

@ -5,9 +5,13 @@ from aiogram.contrib.middlewares.logging import LoggingMiddleware
from aiogram.dispatcher import Dispatcher from aiogram.dispatcher import Dispatcher
from aiogram.dispatcher.webhook import SendMessage from aiogram.dispatcher.webhook import SendMessage
from aiogram.utils.callback_data import CallbackData from aiogram.utils.callback_data import CallbackData
from core.logger import logger from app.core.logger import logger
from core.parse_web import configure_firefox_driver, download_gecko_driver, parse_site from app.core.parse_web import (
from settings import API_TOKEN configure_firefox_driver,
download_gecko_driver,
parse_site,
)
from app.settings import API_TOKEN
bot = Bot(token=API_TOKEN) bot = Bot(token=API_TOKEN)
dispatcher = Dispatcher(bot) dispatcher = Dispatcher(bot)

View File

@ -4,13 +4,13 @@ import time
from pathlib import Path from pathlib import Path
import wget import wget
from core.logger import logger from app.core.logger import logger
from app.settings import BASE_DIR, GECKO_DRIVER_VERSION
from selenium import webdriver from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException, WebDriverException from selenium.common.exceptions import NoSuchElementException, WebDriverException
from selenium.webdriver.firefox import options from selenium.webdriver.firefox import options
from selenium.webdriver.firefox.service import Service from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.webdriver import WebDriver from selenium.webdriver.firefox.webdriver import WebDriver
from settings import BASE_DIR, GECKO_DRIVER_VERSION
def download_gecko_driver() -> None: def download_gecko_driver() -> None:
@ -38,7 +38,7 @@ def configure_firefox_driver(private_window: bool = False) -> WebDriver | None:
opt.add_argument(f'{Path.home()}/snap/firefox/common/.mozilla/firefox') opt.add_argument(f'{Path.home()}/snap/firefox/common/.mozilla/firefox')
if private_window: if private_window:
opt.set_preference("browser.privatebrowsing.autostart", True) opt.set_preference("browser.privatebrowsing.autostart", True)
service = Service(executable_path=BASE_DIR / 'geckodriver') service = Service(executable_path=(BASE_DIR / 'geckodriver').as_posix())
try: try:
firefox_driver = webdriver.Firefox(service=service, options=opt) firefox_driver = webdriver.Firefox(service=service, options=opt)
return firefox_driver return firefox_driver

View File

@ -1,4 +1,4 @@
from core.bot import morning_bus_mailing from app.core.bot import morning_bus_mailing
cron_jobs = [ cron_jobs = [
{'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 8, 'minute': 59, 'second': 0}, {'trigger': 'cron', 'day_of_week': 'mon-fri', 'hour': 8, 'minute': 59, 'second': 0},

View File

@ -1,9 +1,9 @@
from aiogram import Dispatcher from aiogram import Dispatcher
from aiogram.utils.executor import start_polling, start_webhook from aiogram.utils.executor import start_polling, start_webhook
from core.bot import bot, dispatcher from app.core.bot import bot, dispatcher
from core.logger import logger from app.core.logger import logger
from core.scheduler import asyncio_schedule from app.core.scheduler import asyncio_schedule
from settings import ( from app.settings import (
START_WITH_WEBHOOK, START_WITH_WEBHOOK,
WEBAPP_HOST, WEBAPP_HOST,
WEBAPP_PORT, WEBAPP_PORT,

View File

@ -4,4 +4,4 @@
echo "starting the bot" echo "starting the bot"
cd /opt/mosgortrans \ cd /opt/mosgortrans \
&& source /home/balsh/.cache/pypoetry/virtualenvs/mosgortrans-3eZxMcY3-py3.10/bin/activate \ && source /home/balsh/.cache/pypoetry/virtualenvs/mosgortrans-3eZxMcY3-py3.10/bin/activate \
&& python app/main.py && python main.py

View File

@ -2,8 +2,8 @@ import pytest
from aiogram import Bot, types from aiogram import Bot, types
from aiogram.dispatcher.filters.builtin import Command from aiogram.dispatcher.filters.builtin import Command
from app.core.bot import dispatcher from app.core.bot import dispatcher
from app.tests.conftest import FakeTelegram from tests.conftest import FakeTelegram
from app.tests.data.factories import UserFactory from tests.data.factories import UserFactory
pytestmark = [ pytestmark = [
pytest.mark.asyncio, pytest.mark.asyncio,

View File

@ -1,6 +1,4 @@
import asyncio import asyncio
import sys
from pathlib import Path
from typing import Any from typing import Any
import aresponses import aresponses
@ -10,9 +8,6 @@ from aiogram import Bot
BOT_ID = 123456789 BOT_ID = 123456789
TOKEN = f'{BOT_ID}:AABBCCDDEEFFaabbccddeeff-1234567890' TOKEN = f'{BOT_ID}:AABBCCDDEEFFaabbccddeeff-1234567890'
# include pytest directory in PATH
sys.path.append(Path(__file__).parent.parent.as_posix())
class FakeTelegram(aresponses.ResponsesMockServer): class FakeTelegram(aresponses.ResponsesMockServer):
def __init__( def __init__(

View File

@ -1,6 +1,6 @@
import factory import factory
from app.tests.data.models import User
from faker import Faker from faker import Faker
from tests.data.models import User
faker = Faker('ru_RU') faker = Faker('ru_RU')