|
1 | 1 | import pytest |
2 | | -from django.test import override_settings |
3 | | - |
| 2 | +from flags.state import get_flags, flag_state |
| 3 | +from ansible_base.feature_flags.models import AAPFlag |
| 4 | +from ansible_base.feature_flags.utils import create_initial_data as seed_feature_flags |
| 5 | +from django.conf import settings |
4 | 6 | from awx.main.models import User |
5 | 7 |
|
6 | 8 |
|
7 | | -@override_settings(FLAGS={}) |
8 | 9 | @pytest.mark.django_db |
9 | 10 | def test_feature_flags_list_endpoint(get): |
10 | | - bob = User.objects.create(username='bob', password='test_user', is_superuser=False) |
11 | | - |
12 | | - url = "/api/v2/feature_flags_state/" |
| 11 | + bob = User.objects.create(username='bob', password='test_user', is_superuser=True) |
| 12 | + url = "/api/v2/feature_flags/states/" |
13 | 13 | response = get(url, user=bob, expect=200) |
14 | | - assert len(response.data) == 0 |
| 14 | + assert len(get_flags()) > 0 |
| 15 | + assert len(response.data["results"]) == len(get_flags()) |
15 | 16 |
|
16 | 17 |
|
17 | | -@override_settings( |
18 | | - FLAGS={ |
19 | | - "FEATURE_SOME_PLATFORM_FLAG_ENABLED": [ |
20 | | - {"condition": "boolean", "value": False}, |
21 | | - {"condition": "before date", "value": "2022-06-01T12:00Z"}, |
22 | | - ], |
23 | | - "FEATURE_SOME_PLATFORM_FLAG_FOO_ENABLED": [ |
24 | | - {"condition": "boolean", "value": True}, |
25 | | - ], |
26 | | - } |
27 | | -) |
28 | 18 | @pytest.mark.django_db |
29 | | -def test_feature_flags_list_endpoint_override(get): |
30 | | - bob = User.objects.create(username='bob', password='test_user', is_superuser=False) |
| 19 | +@pytest.mark.parametrize('flag_val', (True, False)) |
| 20 | +def test_feature_flags_list_endpoint_override(get, flag_val): |
| 21 | + bob = User.objects.create(username='bob', password='test_user', is_superuser=True) |
31 | 22 |
|
32 | | - url = "/api/v2/feature_flags_state/" |
| 23 | + AAPFlag.objects.all().delete() |
| 24 | + flag_name = "FEATURE_DISPATCHERD_ENABLED" |
| 25 | + setattr(settings, flag_name, flag_val) |
| 26 | + seed_feature_flags() |
| 27 | + url = "/api/v2/feature_flags/states/" |
33 | 28 | response = get(url, user=bob, expect=200) |
34 | | - assert len(response.data) == 2 |
35 | | - assert response.data["FEATURE_SOME_PLATFORM_FLAG_ENABLED"] is False |
36 | | - assert response.data["FEATURE_SOME_PLATFORM_FLAG_FOO_ENABLED"] is True |
| 29 | + assert len(response.data["results"]) == 6 |
| 30 | + assert flag_state(flag_name) == flag_val |
0 commit comments