mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-24 00:47:50 +01:00
9dd22a3757
* everything except plugin server and sync_available_features * sync_available_features_done, some plugin_server done? * and a tiny bit more * linting * try to fix some tests * more test fixes/ * clean up typos * weed wacking bugs * more test shenanigans * fix plugin server * actually fix plugin server test? * still fixing tests * another attempt * some pr feedback * small fix * fix database query accessor * fix functional tests * fix tests * Update query snapshots * Update query snapshots * Update query snapshots * update some comments and fxn names * fix plugin server test * Update query snapshots * Update query snapshots * Update query snapshots --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
import datetime
|
|
from typing import Optional, cast
|
|
from zoneinfo import ZoneInfo
|
|
|
|
from ee.models.license import License, LicenseManager
|
|
from posthog.test.base import APIBaseTest
|
|
|
|
|
|
class LicensedTestMixin:
|
|
"""
|
|
Test API using Django REST Framework test suite, for licensed PostHog (mainly enterprise edition).
|
|
"""
|
|
|
|
CONFIG_LICENSE_KEY: Optional[str] = "12345::67890"
|
|
CONFIG_LICENSE_PLAN: Optional[str] = "enterprise"
|
|
license: License = None
|
|
|
|
def license_required_response(
|
|
self,
|
|
message: str = "This feature is part of the premium PostHog offering. Self-hosted licenses are no longer available for purchase. Please contact sales@posthog.com to discuss options.",
|
|
) -> dict[str, Optional[str]]:
|
|
return {
|
|
"type": "server_error",
|
|
"code": "payment_required",
|
|
"detail": message,
|
|
"attr": None,
|
|
}
|
|
|
|
@classmethod
|
|
def setUpTestData(cls):
|
|
super().setUpTestData()
|
|
if cls.CONFIG_LICENSE_PLAN:
|
|
cls.license = super(LicenseManager, cast(LicenseManager, License.objects)).create(
|
|
key=cls.CONFIG_LICENSE_KEY,
|
|
plan=cls.CONFIG_LICENSE_PLAN,
|
|
valid_until=datetime.datetime(2038, 1, 19, 3, 14, 7, tzinfo=ZoneInfo("UTC")),
|
|
)
|
|
if hasattr(cls, "organization") and cls.organization:
|
|
cls.organization.update_available_product_features()
|
|
cls.organization.save()
|
|
|
|
|
|
class APILicensedTest(LicensedTestMixin, APIBaseTest):
|
|
pass
|