Esempio n. 1
0
def test_warns_about_request_deprecation_with_old_style_requirement(member):
    import warnings

    allows = Allows(identity_loader=lambda: member)

    with warnings.catch_warnings(record=True) as w:
        warnings.simplefilter("always", DeprecationWarning)
        allows.fulfill([lambda u, r: True])
        warnings.simplefilter("default", DeprecationWarning)

    assert len(w) == 1
    assert issubclass(w[0].category, DeprecationWarning)
    assert "Passing request to requirements is now deprecated" in str(
        w[0].message)
Esempio n. 2
0
def test_req_not_called_when_both_added_and_overridden(member, never):
    allows = Allows(identity_loader=lambda: member)

    allows.additional.push(Additional(never))
    allows.overrides.push(Override(never))

    assert allows.fulfill([])
Esempio n. 3
0
def test_fulfill_calls_additional_requirements(member, always):
    allows = Allows(identity_loader=lambda: member)

    allows.additional.push(Additional(always))

    assert allows.fulfill([])
    assert always.called
Esempio n. 4
0
def test_fulfills_skips_overridden_requirements(member, never):
    allows = Allows(identity_loader=lambda: member)
    allows.overrides.push(Override(never))

    assert allows.fulfill([never])

    # be a good test denizen and cleanup
    allows.overrides.pop()
Esempio n. 5
0
def test_allows_can_call_requirements_with_old_and_new_style_arguments(member):
    allows = Allows(identity_loader=lambda: member)

    def new_style(user):
        return True

    def old_style(user, request):
        return True

    assert allows.fulfill([new_style, old_style])
Esempio n. 6
0
def test_Allows_fulfill_ident_override(member, guest, spy):
    allows = Allows(identity_loader=lambda: guest)
    allows.fulfill([spy], identity=member)
    assert spy.called_with["user"] is member
Esempio n. 7
0
def test_Allows_fulfill_false(member, never):
    allows = Allows(identity_loader=lambda: member)
    assert not allows.fulfill([never])
Esempio n. 8
0
def test_Allows_fulfill_true(member, always):
    allows = Allows(identity_loader=lambda: member)
    assert allows.fulfill([always])
    assert always.called_with == {"user": member}
Esempio n. 9
0
def test_req_called_once_even_if_added_multiple_times(member, counter):
    allows = Allows(identity_loader=lambda: member)
    allows.additional.push(Additional(counter, counter))

    assert allows.fulfill([])
    assert counter.count == 1
Esempio n. 10
0
def test_Allows_fulfill_ident_override(member, guest, spy):
    allows = Allows(identity_loader=lambda: guest)
    allows.fulfill([spy], identity=member)
    assert spy.called_with['user'] is member
Esempio n. 11
0
def test_Allows_fulfill_false(member, never, request):
    allows = Allows(identity_loader=lambda: member)
    assert not allows.fulfill([never])
Esempio n. 12
0
def test_Allows_fulfill_true(member, always, request):
    allows = Allows(identity_loader=lambda: member)
    assert allows.fulfill([always])
    assert always.called_with == {'user': member, 'request': request}
Esempio n. 13
0
def test_Allows_fulfill_true(member, always, request):
    allows = Allows(identity_loader=lambda: member)
    assert allows.fulfill([always])
    assert always.called_with == {'user': member, 'request': request}