"""Tests for Split.io model.""" from unittest.mock import MagicMock from pythonfeatures.models import split def test_get_single_feature(monkeypatch): """Test get single split feature.""" mock_split_client = MagicMock() mock_split_client.get_treatment.return_value = MagicMock( return_value='pizza') monkeypatch.setattr(split, 'split_client', mock_split_client) split.get_single_feature( 'users', 'ows_features_example', {'identity_id': '5c548bd462501638ea3ed444'}) assert mock_split_client.get_treatment.called mock_split_client.get_treatment.assert_called_with( 'users', 'ows_features_example', {'identity_id': '5c548bd462501638ea3ed444'}) def test_get_all_features(monkeypatch): """Test get all split features.""" mock_split_client = MagicMock() mock_split_client.get_treatment.return_value = MagicMock( return_value='pizza') mock_split_manager = MagicMock() mock_split_manager.split_names.return_value = ['ows_features_example'] monkeypatch.setattr( split, 'split_client', mock_split_client) monkeypatch.setattr(split, 'split_manager', mock_split_manager) split.get_all_features( 'users', {'identity_id': '5c548bd462501638ea3ed444'}) assert mock_split_client.get_treatments.called mock_split_client.get_treatments.assert_called_with( 'users', ['ows_features_example'], {'identity_id': '5c548bd462501638ea3ed444'})