0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-28 09:16:49 +01:00
Commit Graph

18 Commits

Author SHA1 Message Date
Guido Iaquinti
40fe3a6f54
Rebuild requirements files (#8648) 2022-02-17 10:54:48 +01:00
Tim Glaser
041402e394
Update mypy and typed_ast (#8160)
* Update black to 21.12b0

* Don't update black, update mypy instead

* fix mypy issue
2022-01-20 14:19:43 +00:00
Neil Kakkar
b805a7e67f
Funnel multivariate experiment results API (#7922)
* funnel multivariate experiments

* cleanup

* remove numpy from requirements
2022-01-06 15:46:11 +00:00
Marius Andra
1696ed5950
Update mypy and typed-ast, fail early if db version not in range (#7599)
* error if unsupported db version

* upgrade mypy

* fix various types for mypy

* you can have it in any color you want, as long as it's black

* fix mypy

* Update `kafka-python`

* Format with Black

* Fix mypy after merge

Co-authored-by: Michael Matloka <dev@twixes.com>
2021-12-10 09:29:04 +01:00
Paul D'Ambra
50b12d9bb7
Set debug, test, and primary_db env variables based on context (#7250)
* set debug, test, and primary_db env variables based on context

* remove unnecessary print

* also use pytest.ini for some tests run straight from pytest at the CLI
2021-11-20 17:18:39 +00:00
Karl-Aksel Puulmann
e66fbf0278
CI: Run EE tests in 5 minutes (#6759)
* Unify SAML and non-saml tests workflows

* Include matrix name in cache key

* Prettify yaml

* Measure test duration time

* Install pytest-split

* Try out parallelism

* Update name

* Fixup yaml

* Upload artifacts

* Run FOSS tests separately

* Run mark.ee tests only once

* Set up needed files properly

* Run backend tests only on one python version

* Run only cloud tests for cloud repo

* Remove test_durations file for posthog/

* Skip setting up ch on foss tests

* Fixup cloud tests

* Cache .test_durations file

* Fix ternary expression

* Only upload artefacts if needed

* .test_durations change

* Default to 3.8.5 in tests

* Add a note
2021-11-01 17:23:23 +02:00
Karl-Aksel Puulmann
457e151f58
Push person predicates down (#6346)
* Refactor column_optimizer to work differently

* WIP: Use counter over set

* Handle person filters in person query

* Remove a dead argument

* Use enum over parameter for determining behavior

* Allow excluding person properties mode when handled in person query

* Fix _get_person_query type

* Use correct table for funnel_event_query

* Remove unneeded override

* Add extra typing

* Filter by entity.properties in person query for trends

* Handle error 184 due to naming clash

* Better default for prop_filter_json_extract

* Update column_optimizer tests for Counter

* Handle person_props as extra_fields

* Handle breakdowns and person property filter pushdown

* Transform values correctly

* Simplify get_entity_filtering_params

* Fix funnel correlations

* Solve caching issues in trend people queries

* Remove @skip test

* Add syrupy tests for parse_prop_clauses

Can update these via --snapshot-update

* Add snapshot tests for person queries

* Add a few notes

* Update test to avoid collision

* Kill dead code

* Handle PR comments

* Update ee/clickhouse/queries/person_query.py

Co-authored-by: Neil Kakkar <neilkakkar@gmail.com>

Co-authored-by: Neil Kakkar <neilkakkar@gmail.com>
2021-10-13 14:00:47 +00:00
Harry Waye
c450be93f5
ci(tests): show untested code in PR with codecov (#6082) 2021-10-04 10:37:15 +01:00
Harry Waye
c07be4f0f6
chore(dev): make sure dev deps don't change production dep versions (#5945)
Previously it's possible that installing dev dependencies would end up
installing different versions to those used in production. Using `-c
requirements` we make sure that we constrain the dev deps by the
production pinned versions.

See
https://github.com/jazzband/pip-tools#workflow-for-layered-requirements
for details
2021-09-16 09:27:11 +01:00
Tim Glaser
92bd10ffa5
Speed up EE tests by not destroying tables (#5715)
* Speed up EE tests by not destroying tables

* Fix broken tests

* Speed up tests by not running migrations

* Fix last test

* req file?

* caching

* Parallel

* revert exp

* debug without parallel

* Revert "debug without parallel"

This reverts commit 83b3ad633f.

* Undo parallel tests

* Speed up more tests

* use final

* correct final

* print exception

* more prints

* move test

* add filter

* remove duplicate test

* prints here

* test wait

* set variable in query

* remove mutations_sync

* cleanup

Co-authored-by: eric <eeoneric@gmail.com>
2021-08-25 10:58:09 +02:00
Michael Matloka
420d8000c1
Support href/text element filters (#5654)
* Fix `icontains` and support `href/`text` element filters

* Test `is_set`/`is_not_set` too

* Require newer `flake8` to support Py 3.8 walrus operator

* Better handle empty mutlivalue operators and support doublequotes

* Polish all element filtering cases

* Roll back general `icontains` fix

* Make minor improvements
2021-08-20 13:53:15 +02:00
Paolo D'Amico
d0c93fa589
Upgrade to Django 3.1.12, urllib & requests (#4639) 2021-06-08 14:19:32 -07:00
Paolo D'Amico
14446c9ca7
Remove Django debug toolbar (#4029) 2021-04-26 10:02:45 -07:00
Paolo D'Amico
7ea9eb692c
Update Django to 3.1.8 (and related) (#4007) 2021-04-19 12:59:10 -07:00
Karl-Aksel Puulmann
1adaa8abb7
Chunk session recording events (#3705)
* Chunk session recording events

Closes https://github.com/PostHog/posthog/issues/3632 and replaces https://github.com/PostHog/posthog/pull/3566/files

This should make it possible to ingest large full snapshot events

Base64 is used to compress the data for serialization purposes.

pytest.mock is used for clean patching methods

* Mock time.time for py3.7 compatibility

* Group captured $snapshot events by $session_id

* Don't chunk already chunked payloads
2021-03-23 11:39:13 +01:00
Karl-Aksel Puulmann
24de8b55e4
Run tests via pytest (#3417)
* 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>
2021-02-24 09:32:44 +02:00
James Greenhill
7ac64c84f1
Basic caching for Clickhouse to redis (#2300)
* Basic caching for Clickhouse to redis

* Use redis for caching results

* add tests and fix bugs

* fix mypy

* add fakeredis as req

* add fakeredis to github action for testing

* add fakeredis to cloud tests too

* pickle -> json

* bytes

* json in tests

* tuplefy
2020-11-13 13:20:00 +01:00
Michael Matloka
b7b9e8caf3
Remove some seemingly unused requirements and use pip-compile (#2192)
* Remove some seemingly unused requirements

* Remove a few more

* Bring back dependencies of other requirements

* pip-compile prod requirements

* Sync with master updates

* Fix grep

* Revert "Fix grep"

This reverts commit 2e6538cad4.

* Fix grep but using cut

* Clean up and regenerate requirements

* Simplify requirements-dev

* Fix fakeredis import in production

* Black
2020-11-10 10:17:48 +01:00