|
2 | 2 |
|
3 | 3 | import pytest |
4 | 4 |
|
| 5 | +from featureflags.evaluations.auth_target import Target |
5 | 6 | from featureflags.evaluations.variation import Variation |
6 | 7 |
|
7 | 8 |
|
8 | 9 | @pytest.mark.parametrize( |
9 | | - "test_input,default,expected", |
| 10 | + "test_input, target, flag_identifier, default,expected", |
10 | 11 | [ |
11 | | - ("true", False, True), |
12 | | - ("false", False, False), |
13 | | - ("", False, False), |
| 12 | + ("true", Target(identifier='harness'), "flag1", False, True), |
| 13 | + ("false", Target(identifier='harness'), "flag1", False, False), |
| 14 | + ("", Target(identifier='harness'), "flag1", False, False), |
14 | 15 | ], |
15 | 16 | ) |
16 | | -def test_variation_bool(test_input, default, expected): |
| 17 | +def test_variation_bool(test_input, target, flag_identifier, |
| 18 | + default, expected): |
17 | 19 | variation = Variation(identifier="test", value=test_input) |
18 | 20 |
|
19 | | - got = variation.bool(default=default) |
| 21 | + got = variation.bool(target, flag_identifier, default=default) |
20 | 22 |
|
21 | 23 | assert got == expected |
22 | 24 |
|
23 | 25 |
|
24 | 26 | @pytest.mark.parametrize( |
25 | | - "test_input,default,expected", |
| 27 | + "test_input, target, flag_identifier, default,expected", |
26 | 28 | [ |
27 | | - ("test", "test_default", "test"), |
28 | | - (None, "test_default", "test_default"), |
| 29 | + ("test", Target(identifier='harness'), "flag1", "test_default", |
| 30 | + "test"), |
| 31 | + (None, Target(identifier='harness'), "flag1", "test_default", |
| 32 | + "test_default"), |
29 | 33 | ], |
30 | 34 | ) |
31 | | -def test_variation_string(test_input, default, expected): |
| 35 | +def test_variation_string(test_input, target, flag_identifier, |
| 36 | + default, expected): |
32 | 37 | variation = Variation(identifier="test", value=test_input) |
33 | 38 |
|
34 | | - got = variation.string(default=default) |
| 39 | + got = variation.string(target, flag_identifier, default=default) |
35 | 40 |
|
36 | 41 | assert got == expected |
37 | 42 |
|
38 | 43 |
|
39 | 44 | @pytest.mark.parametrize( |
40 | | - "test_input,default,expected", [(1.1, 1.0, 1.1), (None, 1.0, 1.0)] |
| 45 | + "test_input,target,flag_identifier,default,expected", [ |
| 46 | + (1.1, Target(identifier='harness'), "flag1", 1.0, 1.1), |
| 47 | + (None, Target(identifier='harness'), "flag1", 1.0, 1.0) |
| 48 | + ] |
41 | 49 | ) |
42 | | -def test_variation_number(test_input, default, expected): |
| 50 | +def test_variation_number(test_input, target, flag_identifier, |
| 51 | + default, expected): |
43 | 52 | variation = Variation(identifier="test", value=test_input) |
44 | 53 |
|
45 | | - got = variation.number(default=default) |
| 54 | + got = variation.number(target, flag_identifier, default=default) |
46 | 55 |
|
47 | 56 | assert got == expected |
48 | 57 |
|
49 | 58 |
|
50 | 59 | @pytest.mark.parametrize( |
51 | | - "test_input,expected", |
| 60 | + "test_input,target,flag_identifier,expected", |
52 | 61 | [ |
53 | | - (json.dumps({"field": "value"}), json.dumps({"field": "value"})), |
54 | | - (None, json.dumps({"field": "value2"})), |
| 62 | + (json.dumps({"field": "value"}), Target(identifier='harness'), |
| 63 | + "flag1", json.dumps({"field": "value"})), |
| 64 | + (None, Target(identifier='harness'), "flag1", |
| 65 | + json.dumps({"field": "value2"})), |
55 | 66 | ], |
56 | 67 | ) |
57 | | -def test_variation_json(test_input, expected): |
| 68 | +def test_variation_json(test_input, target, |
| 69 | + flag_identifier, expected): |
58 | 70 | variation = Variation(identifier="test", value=test_input) |
59 | 71 |
|
60 | | - got = variation.json(default={"field": "value2"}) |
| 72 | + got = variation.json(target, flag_identifier, default={"field": "value2"}) |
61 | 73 |
|
62 | 74 | assert got == json.loads(expected) |
0 commit comments