0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-12-01 12:21:02 +01:00
posthog/plugin-server/functional_tests
Tomás Farías Santana 315f47f57d
feat: person-overrides writes with Mapping to Persons (#14513)
* feat(person-override): Add a helper model to indirectly reference person overrides

This allows us to use an exclusion constraint on the person overrides table instead of directly using a FK on posthog_person.

* test(person-overrides): Update tests to match new constraint

* fix(migration): Add drop extension query to reverse migration

* fix(migration): Use correct table name

* refactor(person-overrides): Make team a regular bigint field without FK

* refactor(person-overrides): Rename Helper model to Mapping

* feat(person-override): Add a helper model to indirectly reference person overrides

This allows us to use an exclusion constraint on the person overrides table instead of directly using a FK on posthog_person.

* wip: add test for concurrent updates to posthog_personoverride table

* refactor

* Update snapshots

* fix(isort): Correctly sort imports

* fix(ee-cohort-test): Delete person after creating it

* fix: person constraint in person overrides table (#14319)

* nits

* fix migration tests

* chore(migration): Bump migration number to 0302

* Update snapshots

* feat: person-overrides writes

* test(person-overrides): Add concurrent tests to person-overrides model

* feat(person-merge): Update merge to use new helper table

* fix(tests): Pass poEEmbraceJoin to updatePersonState in test

* fix(person-state): Format person-overrides message for ClickHouse

* test(api): Add function to reload dictionary for person overrides

* fix: poe final test failure

* refactor(person-state): Make failed attempts a class variable to

This allows us to mock it during testing as some tests require
immediate failures.

* fix(postgres-utils): Apply some magic changes lost to time

* fix(person-state): Join with helper table to return UUIDs

* fix(person-state): Use single quotes for UUID queries

* test(person-overrides): Skip test that doesn't work without a merge command

* test(person-state): Add a very complicated query to get UUIDs in a test

* test(person-state): Try waiting longer, this is flaky

* fix(migrations): Remove unused migration

* fix(person): Undo unneeded person model changes

* chore: Clean-up artifacts from rebase on model branch

* refactor(person-state): Rename mergeAttempts and don't read from ENV

* chore: Better clarify oldest_event usage in comment

Co-authored-by: Tiina Turban <tiina303@gmail.com>

* refactor(person-state): Update version in queries

* fix(person-state): Use new mapping model instead of helper

* fix(migrations): Re-add constraint deleted on field drop

* revert: Re-enable test that was skipped

Test was originally skipped due to missing a $merge command, but now
$merge_dangerously is available, so the test should pass.

* test: Attempt to refresh dictionary in test

* Update query snapshots

* Update query snapshots

* test: Expect dictionaries to be refreshed before resuming test

* fix(test): Use alias property for $merge_dangerously in test

* fix(test): Expect any string like in all other tests

* test: Fix order of events to determine merged persons

* chore: Update comment regarding overrides mapping query

* chore: Remove out of date comment

* test: Set number of retries to 0 when updating persons

* test: Delete comment

* test: Assert clickhouse state after identify

* chore: Move comment

* chore: Delete TODO regarding oldest_event updates

* test: Assert events are still processed if merge fails

* test: Assert properties are processed if merge fails

* test: Don't expect to throw when failing merges

* fix: Indent RETURNING query clause

Co-authored-by: Harry Waye <harry@posthog.com>

* chore: Remove out of date comment

Co-authored-by: Tiina Turban <tiina303@gmail.com>

* test: Resume merges after test suite

* test: Run processPersonStep tests for both poEEmbraceJoin modes

---------

Co-authored-by: Harry Waye <harry@posthog.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Tiina Turban <tiina303@gmail.com>
2023-03-13 11:52:08 +01:00
..
api.ts feat: person-overrides writes with Mapping to Persons (#14513) 2023-03-13 11:52:08 +01:00
definitions.test.ts test: remove explicit dependencies from functional tests (#14471) 2023-03-01 12:03:54 +00:00
expectations.ts feat(person-on-events): add option to delay all events (#13505) 2023-01-05 16:38:43 +00:00
exports-v1.test.ts test: remove explicit dependencies from functional tests (#14471) 2023-03-01 12:03:54 +00:00
exports-v2.test.ts test: remove explicit dependencies from functional tests (#14471) 2023-03-01 12:03:54 +00:00
ingestion.test.ts feat: person-overrides writes with Mapping to Persons (#14513) 2023-03-13 11:52:08 +01:00
jest.global-teardown.ts feat(plugin-server): distribute scheduled tasks i.e. runEveryX (#13124) 2022-12-05 12:30:52 +00:00
jest.setup.ts ci(plugin-server): fix functional tests running forever (#13033) 2022-11-30 13:43:36 +00:00
jobs-consumer.test.ts test: remove explicit dependencies from functional tests (#14471) 2023-03-01 12:03:54 +00:00
kafka.ts test: remove explicit dependencies from functional tests (#14471) 2023-03-01 12:03:54 +00:00
plugins.test.ts test: remove explicit dependencies from functional tests (#14471) 2023-03-01 12:03:54 +00:00
scheduled-tasks-runner.test.ts test: remove explicit dependencies from functional tests (#14471) 2023-03-01 12:03:54 +00:00
session-recordings.test.ts fix(plugin-server): don't DLQ session recordings with invalid token (#14500) 2023-03-02 13:03:23 +00:00
web-performance-events.test.ts test: remove explicit dependencies from functional tests (#14471) 2023-03-01 12:03:54 +00:00
webhooks.test.ts test: remove explicit dependencies from functional tests (#14471) 2023-03-01 12:03:54 +00:00