mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-28 00:46:45 +01:00
24de8b55e4
* Compile requirements-dev.txt with latest pip-tools * Install pytest * Avoid picking up factories as tests * New runner * Always set TEST env variable running tests Some of our tests rely on it. * Remove repetition * Fix a broken test * Cut down noise from bin/tests * Rename test factory * Fix stickiness filter * Skip a broken test This has been broken since numpy removal PR. Sadly tests were not running for this submodule * Fix import on ee * Run ee tests properly The django_db_setup fixture will be automatically run when running ee/ module tests. * Make tests run on CI * Include REDIS_URL, fix cloud * Set TEST env variable * Hack cloud tests to work * Attempt at workflow fix * Import Person model when running ee tests This module implicitly adds hooks, so this is needed when running tests * Respect reuse-db for clickhouse * Add custom markers to avoid warnings * pytest: use ch test database always Accidentally wiped by ch setup a few times without this. Oops * Remove repetition in tests * Pytest: Always run migrations Testing a state cleanup fix * Use same DB in conftest and main code * Pytest: autoset TEST setting without env variable * fix broken test Co-authored-by: eric <eeoneric@gmail.com>
45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
import pytest
|
|
from infi.clickhouse_orm import Database
|
|
|
|
from ee.clickhouse.client import sync_execute
|
|
from ee.clickhouse.models.person import Person
|
|
from posthog.settings import (
|
|
CLICKHOUSE_DATABASE,
|
|
CLICKHOUSE_HTTP_URL,
|
|
CLICKHOUSE_PASSWORD,
|
|
CLICKHOUSE_USER,
|
|
CLICKHOUSE_VERIFY,
|
|
)
|
|
|
|
|
|
@pytest.fixture(scope="package")
|
|
def django_db_setup(django_db_setup, django_db_keepdb):
|
|
database = Database(
|
|
CLICKHOUSE_DATABASE,
|
|
db_url=CLICKHOUSE_HTTP_URL,
|
|
username=CLICKHOUSE_USER,
|
|
password=CLICKHOUSE_PASSWORD,
|
|
verify_ssl_cert=CLICKHOUSE_VERIFY,
|
|
)
|
|
|
|
if not django_db_keepdb:
|
|
try:
|
|
database.drop_database()
|
|
except:
|
|
pass
|
|
|
|
if not django_db_keepdb or not database.db_exists:
|
|
database.create_database()
|
|
|
|
database.migrate("ee.clickhouse.migrations")
|
|
# Make DELETE / UPDATE synchronous to avoid flaky tests
|
|
sync_execute("SET mutations_sync = 1")
|
|
|
|
yield
|
|
|
|
if not django_db_keepdb:
|
|
try:
|
|
database.drop_database()
|
|
except:
|
|
pass
|