Update tests based on improved inheritance and other changes.

pull/3500/head
derekpierre 2024-09-16 11:04:47 -04:00
parent 468aae93dc
commit cfc0186b96
No known key found for this signature in database
5 changed files with 24 additions and 9 deletions

View File

@ -2,6 +2,7 @@ import json
import pytest
from nucypher.policy.conditions.base import AccessControlCondition
from nucypher.policy.conditions.context import USER_ADDRESS_CONTEXT
from nucypher.policy.conditions.evm import ContractCondition
from nucypher.policy.conditions.lingo import (
@ -94,3 +95,8 @@ def erc721_evm_condition(test_registry):
]
)
return condition
@pytest.fixture(scope="function")
def mock_skip_schema_validation(mocker):
mocker.patch.object(AccessControlCondition.Schema, "validate", return_value=None)

View File

@ -146,7 +146,8 @@ def test_compound_condition_schema_validation(operator, time_condition, rpc_cond
CompoundAccessControlCondition.validate(compound_condition_dict)
def test_and_condition_and_short_circuit(mock_conditions):
@pytest.mark.usefixtures("mock_skip_schema_validation")
def test_and_condition_and_short_circuit(mocker, mock_conditions):
condition_1, condition_2, condition_3, condition_4 = mock_conditions
and_condition = AndCompoundCondition(
@ -180,6 +181,7 @@ def test_and_condition_and_short_circuit(mock_conditions):
assert value == [1, 2, 3]
@pytest.mark.usefixtures("mock_skip_schema_validation")
def test_or_condition_and_short_circuit(mock_conditions):
condition_1, condition_2, condition_3, condition_4 = mock_conditions
@ -221,6 +223,7 @@ def test_or_condition_and_short_circuit(mock_conditions):
assert value == [1, 2, 3, 4]
@pytest.mark.usefixtures("mock_skip_schema_validation")
def test_compound_condition(mock_conditions):
condition_1, condition_2, condition_3, condition_4 = mock_conditions
@ -277,6 +280,7 @@ def test_compound_condition(mock_conditions):
] # or-condition short-circuited because condition_1 was True
@pytest.mark.usefixtures("mock_skip_schema_validation")
def test_nested_compound_condition(mock_conditions):
condition_1, condition_2, condition_3, condition_4 = mock_conditions
@ -322,6 +326,7 @@ def test_nested_compound_condition(mock_conditions):
assert value == [[1, [2, 3]], 4]
@pytest.mark.usefixtures("mock_skip_schema_validation")
def test_not_compound_condition(mock_conditions):
condition_1, condition_2, condition_3, condition_4 = mock_conditions

View File

@ -63,11 +63,11 @@ class FakeExecutionContractCondition(ContractCondition):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def _create_rpc_call(self, *args, **kwargs) -> ContractCall:
def _create_execution_call(self, *args, **kwargs) -> ContractCall:
return self.FakeRPCCall(*args, **kwargs)
def set_execution_return_value(self, value: Any):
self.rpc_call.set_execution_return_value(value)
self.execution_call.set_execution_return_value(value)
@pytest.fixture(scope="function")

View File

@ -88,7 +88,7 @@ def test_json_api_condition_fetch(mocker):
query="$.store.book[0].title",
return_value_test=ReturnValueTest("==", "'Test Title'"),
)
response = condition.json_api_call._fetch()
response = condition.execution_call._fetch()
assert response.status_code == 200
assert response.json() == {"store": {"book": [{"title": "Test Title"}]}}
@ -104,7 +104,7 @@ def test_json_api_condition_fetch_failure(mocker):
return_value_test=ReturnValueTest("==", 1),
)
with pytest.raises(InvalidCondition) as excinfo:
condition.json_api_call._fetch()
condition.execution_call._fetch()
assert "Failed to fetch endpoint" in str(excinfo.value)

View File

@ -33,7 +33,8 @@ def mock_execution_variables(mocker):
return var_1, var_2, var_3, var_4
def test_invalid_sequential_condition(mock_execution_variables, rpc_condition):
@pytest.mark.usefixtures("mock_skip_schema_validation")
def test_invalid_sequential_condition(mock_execution_variables):
# invalid condition type
with pytest.raises(InvalidCondition, match=ConditionType.SEQUENTIAL.value):
_ = SequentialAccessControlCondition(
@ -62,7 +63,8 @@ def test_invalid_sequential_condition(mock_execution_variables, rpc_condition):
)
def test_sequential_condition(mocker, mock_execution_variables):
@pytest.mark.usefixtures("mock_skip_schema_validation")
def test_sequential_condition(mock_execution_variables):
var_1, var_2, var_3, var_4 = mock_execution_variables
var_1.condition.verify.return_value = (True, 1)
@ -94,8 +96,9 @@ def test_sequential_condition(mocker, mock_execution_variables):
assert len(original_context) == 0, "original context remains unchanged"
@pytest.mark.usefixtures("mock_skip_schema_validation")
def test_sequential_condition_all_prior_vars_passed_to_subsequent_calls(
mocker, mock_execution_variables
mock_execution_variables,
):
var_1, var_2, var_3, var_4 = mock_execution_variables
@ -140,7 +143,8 @@ def test_sequential_condition_all_prior_vars_passed_to_subsequent_calls(
assert len(original_context) == 0, "original context remains unchanged"
def test_sequential_condition_a_call_fails(mocker, mock_execution_variables):
@pytest.mark.usefixtures("mock_skip_schema_validation")
def test_sequential_condition_a_call_fails(mock_execution_variables):
var_1, var_2, var_3, var_4 = mock_execution_variables
var_4.condition.verify.side_effect = Web3Exception