def test_related(): field_lookup = FieldLookupBackend() lookup = '__'.join(['inventory', 'organization', 'pk']) field, new_lookup = field_lookup.get_field_from_lookup( InventorySource, lookup) print(field) print(new_lookup)
def test_filter_on_password_field(password_field, lookup_suffix): field_lookup = FieldLookupBackend() lookup = '__'.join(filter(None, [password_field, lookup_suffix])) with pytest.raises(PermissionDenied) as excinfo: field, new_lookup = field_lookup.get_field_from_lookup( Credential, lookup) assert 'not allowed' in str(excinfo.value)
def test_looping_filters_prohibited(): field_lookup = FieldLookupBackend() with pytest.raises(ParseError) as loop_exc: field_lookup.get_field_from_lookup(Job, 'job_events__job__job_events') assert 'job_events' in str(loop_exc.value)
def test_filter_sensitive_fields_and_relations(model, query): field_lookup = FieldLookupBackend() with pytest.raises(PermissionDenied) as excinfo: field, new_lookup = field_lookup.get_field_from_lookup(model, query) assert 'not allowed' in str(excinfo.value)