def test_get_lookup_key_field__mismatched_name(self): class FakeModel: account_id = mock.MagicMock() # some mistakes can't be fixed. lookup = MappingLookup(table="contact", key_field="Foo", name="Foo") with pytest.raises(KeyError): lookup.get_lookup_key_field(FakeModel())
def test_get_lookup_key_field__by_key_field_wrong_case(self): class FakeModel: account_id = mock.MagicMock() # we can correct mismatched mapping files if the mistake is just # old-fashioned SQL with new Mapping File lookup = MappingLookup(table="contact", key_field="AccountId", name="AccountId") assert lookup.get_lookup_key_field(FakeModel()) == "account_id"
def test_get_lookup_key_field__by_key_field(self): class FakeModel: foo = mock.MagicMock() lookup = MappingLookup(table="contact", key_field="foo", name="AccountId") assert lookup.get_lookup_key_field(FakeModel()) == "foo"
def test_get_lookup_key_field__snake_case_model(self): class FakeModel: account_id = mock.MagicMock() lookup = MappingLookup(table="contact", name="AccountId") assert lookup.get_lookup_key_field(FakeModel()) == "account_id"
def test_get_lookup_key_field__no_model(self): lookup = MappingLookup(table="contact", name="AccountId") assert lookup.get_lookup_key_field() == "AccountId"