|
5 | 5 | from django.test import TestCase |
6 | 6 |
|
7 | 7 | from shared.django_apps.rollouts.models import ( |
8 | | - FeatureExposure, |
9 | 8 | FeatureFlag, |
10 | 9 | FeatureFlagVariant, |
11 | | - Platform, |
12 | 10 | RolloutUniverse, |
13 | 11 | ) |
14 | 12 | from shared.rollouts import Feature |
@@ -384,100 +382,3 @@ def test_check_value_with_env_disable_and_env_override(self): |
384 | 382 | assert feature.check_value(identifier=1, default=100) == 100 |
385 | 383 | fetch_fn.assert_not_called() |
386 | 384 | assert not hasattr(feature.__dict__, "_buckets") |
387 | | - |
388 | | - |
389 | | -class TestFeatureExposures(TestCase): |
390 | | - def test_exposure_created(self): |
391 | | - complex = FeatureFlag.objects.create( |
392 | | - name="my_feature", proportion=1.0, salt="random_salt" |
393 | | - ) |
394 | | - enabled = FeatureFlagVariant.objects.create( |
395 | | - name="enabled", feature_flag=complex, proportion=1.0, value=True |
396 | | - ) |
397 | | - FeatureFlagVariant.objects.create( |
398 | | - name="disabled", feature_flag=complex, proportion=0, value=False |
399 | | - ) |
400 | | - |
401 | | - owner_id = 123123123 |
402 | | - |
403 | | - my_feature = Feature("my_feature") |
404 | | - my_feature.check_value(identifier=owner_id) |
405 | | - |
406 | | - exposure = FeatureExposure.objects.all().first() |
407 | | - |
408 | | - assert exposure is not None |
409 | | - assert exposure.owner == owner_id |
410 | | - assert exposure.feature_flag == complex |
411 | | - assert exposure.feature_flag_variant == enabled |
412 | | - |
413 | | - def test_exposure_not_created(self): |
414 | | - complex = FeatureFlag.objects.create( |
415 | | - name="my_feature", proportion=1.0, salt="random_salt" |
416 | | - ) |
417 | | - FeatureFlagVariant.objects.create( |
418 | | - name="enabled", feature_flag=complex, proportion=0, value=True |
419 | | - ) |
420 | | - |
421 | | - with patch.object(Feature, "create_exposure") as create_exposure: |
422 | | - owner_id = 123123123 |
423 | | - |
424 | | - my_feature = Feature("my_feature") |
425 | | - my_feature.check_value(identifier=owner_id) |
426 | | - |
427 | | - exposure = FeatureExposure.objects.first() |
428 | | - |
429 | | - # Should not create an exposure because the owner was not exposed to any |
430 | | - # explicit variant, it was assigned the default behaviour |
431 | | - assert exposure is None |
432 | | - create_exposure.assert_not_called() |
433 | | - |
434 | | - def test_frontend_flag_does_not_log_exposures(self): |
435 | | - complex = FeatureFlag.objects.create( |
436 | | - name="my_feature", |
437 | | - proportion=1.0, |
438 | | - salt="random_salt", |
439 | | - platform=Platform.FRONTEND, |
440 | | - ) |
441 | | - FeatureFlagVariant.objects.create( |
442 | | - name="enabled", feature_flag=complex, proportion=1.0, value=True |
443 | | - ) |
444 | | - FeatureFlagVariant.objects.create( |
445 | | - name="disabled", feature_flag=complex, proportion=0, value=False |
446 | | - ) |
447 | | - |
448 | | - with patch.object(Feature, "create_exposure") as create_exposure: |
449 | | - owner_id = 123123123 |
450 | | - |
451 | | - my_feature = Feature("my_feature") |
452 | | - my_feature.check_value(identifier=owner_id) |
453 | | - |
454 | | - exposure = FeatureExposure.objects.all().first() |
455 | | - |
456 | | - assert exposure is None |
457 | | - create_exposure.assert_not_called() |
458 | | - |
459 | | - def test_backend_flag_does_log_exposures(self): |
460 | | - complex = FeatureFlag.objects.create( |
461 | | - name="my_feature", |
462 | | - proportion=1.0, |
463 | | - salt="random_salt", |
464 | | - platform=Platform.BACKEND, |
465 | | - ) |
466 | | - enabled = FeatureFlagVariant.objects.create( |
467 | | - name="enabled", feature_flag=complex, proportion=1.0, value=True |
468 | | - ) |
469 | | - FeatureFlagVariant.objects.create( |
470 | | - name="disabled", feature_flag=complex, proportion=0, value=False |
471 | | - ) |
472 | | - |
473 | | - owner_id = 123123123 |
474 | | - |
475 | | - my_feature = Feature("my_feature") |
476 | | - my_feature.check_value(identifier=owner_id) |
477 | | - |
478 | | - exposure = FeatureExposure.objects.all().first() |
479 | | - |
480 | | - assert exposure is not None |
481 | | - assert exposure.owner == owner_id |
482 | | - assert exposure.feature_flag == complex |
483 | | - assert exposure.feature_flag_variant == enabled |
0 commit comments