Commit Graph

10 Commits

Author SHA1 Message Date
Tom Carrio ca0b6f48a8 feat: process flag evaluation options in client
- performs validation of options as dictionary before pulling hooks and hints
- introduces immutable dictionary extension of dict following naming from 3.12 release
- documented "upgrade" process for MappingProxyType

Signed-off-by: Tom Carrio <tom@carrio.dev>
2022-11-07 21:46:16 -05:00
Andrew Helsby df0c033083
fix: Unit tests (#28)
* fix/unit-tests: Improve unit test coverage to ensure spec is followed
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/unit-tests: Add test coverage around hooks
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/unit-tests: Parametrize test_should_use_no_op_provider_if_none_provided
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/unit-tests: Parametrize all flag type methods in open feature client
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/unit-tests: Parametrize all flag type methods in open feature client
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/unit-tests: Add fixture to clear global provider after each tests
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/unit-tests: Mock hooks in tests
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/unit-tests: Update docstring on clear_provider method
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/unit-tests: remove setup method in client tests
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/unit-tests: Remove invalid flag type check in private method _create_provider_evaluation and move to public method
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>
2022-11-02 16:24:16 +04:00
Andrew Helsby b39cced329
feat: Add metadata to providers (#26)
* provider-metadata: Add metadata to providers
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* feature/provider-metadata: Test extending metadata class
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* feature/provider-metadata: Change no op metadata
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>
2022-10-18 16:34:06 +04:00
Andrew Helsby b44224be0d
fix: Move flag evaluation details to a dataclass (#27)
* fix/flag-error-message: Move flag evaluation details to a dataclass and add error message to the class
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/flag-error-message: Rename flag_key in FlagEvaluationDetails to match spec
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/flag-error-message: Rename flag_key in provider.py to match spec
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/flag-error-message: Rename flag_key in open_feature_client.py
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/flag-error-message: Rename flag_key in open_feature_client.py
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* fix/flag-error-message: handle error_message doesn't exist exception
Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>
2022-10-18 15:23:24 +04:00
Manuel Schönlaub 059ef20d8d Remove superflous docstring
Signed-off-by: Manuel Schönlaub <manuel.schoenlaub@gmail.com>
2022-10-07 10:08:26 -06:00
Manuel Schönlaub 25119766f9 Reintroduce flag_evaluation_options in client
Signed-off-by: Manuel Schönlaub <manuel.schoenlaub@gmail.com>
2022-10-07 09:53:04 -06:00
Manuel Schönlaub 0ace3cd001 Remove EvaluationOptions from method signatures
Signed-off-by: Manuel Schönlaub <manuel.schoenlaub@gmail.com>
2022-09-30 14:48:11 -06:00
Andrew Helsby bc58cd8932
hooks: Implementation of hooks for python OpenFeature (#6)
* hooks: Implementation of hooks for python Open Feature

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* hooks: Fix tests broken as a result of providing hook support

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* hooks: Add api level evaluation context support

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* hooks: Change typing on iterables to be compatible with python 3.8

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* hooks: Add docstring for evaluate_flag_details method

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* hooks: Add docstring for evaluate_flag_details method

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* hooks: docstring change requested in review

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* hooks: add docstrings and comments to

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* hooks: Use correct exception in error hooks in the client

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* hooks: Set empty evaluation context in no op provider to None

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>
2022-09-02 12:23:15 +04:00
Andrew Helsby 6b05df774e
evaluation-context: Add evaluation context to open feature (#5)
* evaluation-context: Add evaluation context to open feature

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* evaluation-context: Fix evaluation context tests

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* evaluation-context: Reduce code on context merge

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* evaluation-context: Add docstring for create_provider_evaluation

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* evaluation-context: Add tests for merging evaluation context

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>

* evaluation-context: Fix evaluation context for python 3.8

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>
2022-08-03 12:02:43 +01:00
Andrew Helsby d2b484343d
Restructure modules (#3)
restructure-modules: Rename src module to open_feature

Signed-off-by: Andrew Helsby <ajhelsby@hotmail.com>
2022-06-30 21:35:41 +04:00