def test_apply(self): FakeRule = type(b"FakeRule", (object, ), {"to_field": None}) rules = Rules({}) rules._fields = {} rules._fields["field"] = FakeRule() rules.field = "field__value" special_field = FakeRule() special_field.to_field = "__special_field" rules._fields["special_field"] = special_field rules.special_field = "special_field__value" self.assertDictEqual(rules.apply(), { "field": "field__value", "__special_field": "special_field__value", })
def test_apply_error(self): rules = Rules({}) rules._fields = {} rules.f = rules._fields['f'] = _NOTSET self.assertRaises(NotSetError, rules.apply, silent=False) self.assertEqual(rules.apply(silent=True), {})