Flagsmith / Flagsmith/flagsmith-python-client

Implement a pytest plugin to help with testing

Đang mở
#135 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Python
Star
24
Fork
12
Merge trung bình
15 giờ 43 phút
Pull request đã merge (30 ngày)
4

Mô tả

As part of some work in the core Flagsmith repository, we found that there isn't currently a good, generic solution for mocking the flagsmith client to return a given value for a flag at a given time. The ideal implementation as I see it would be to build a fixture that can be used as a context manager, or a function that looks something like this:

```python
def my_test_function(set_flags: FlagsmithSetFlagsFixture) -> None:
with override_flagsmith(flags=[Flag(name="foo", enabled=True, value="foobar")]):
# in here, any calls to Flags.is_feature_enabled,Flags.get_flag and Flags.get_feature_value
# for the feature "foo" will return the values provided as an argument to override_flagsmith
...

def my_other_test_function(set_flags: FlagsmithSetFlagsFixture) -> None:
set_flags(flags=[Flag(name="foo", enabled=True, value="foobar")])

# For the remainder of this test, any calls to Flags.is_feature_enabled,Flags.get_flag
# and Flags.get_feature_value for the feature "foo" will return the values provided as
# an argument to override_flagsmith
```

See PR [here](https://github.com/Flagsmith/flagsmith/pull/5108) for more context / discussions

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.