Skip to content

Commit

Permalink
Add some extra aliasing tests for the mapper
Browse files Browse the repository at this point in the history
  • Loading branch information
ml-evs committed Jun 2, 2020
1 parent a35785c commit 64c8963
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions tests/server/test_mappers.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,36 @@ class MyMapper(BaseResourceMapper):
toy_collection = mongomock.MongoClient()["fake"]["fake"]
with self.assertRaises(RuntimeError):
MongoCollection(toy_collection, StructureResource, mapper)

def test_property_aliases(self):
class MyMapper(BaseResourceMapper):
PROVIDER_FIELDS = ("dft_parameters", "test_field")
LENGTH_ALIASES = (("_exmpl_test_field", "test_field_len"),)
ALIASES = (("field", "completely_different_field"),)

mapper = MyMapper()
self.assertEqual(mapper.alias_for("_exmpl_dft_parameters"), "dft_parameters")
self.assertEqual(mapper.alias_for("_exmpl_test_field"), "test_field")
self.assertEqual(mapper.alias_for("field"), "completely_different_field")
self.assertEqual(mapper.length_alias_for("_exmpl_test_field"), "test_field_len")
self.assertEqual(mapper.length_alias_for("test_field"), None)
self.assertEqual(mapper.alias_for("test_field"), "test_field")

# nested properties
self.assertEqual(
mapper.alias_for("_exmpl_dft_parameters.nested.property"),
"dft_parameters.nested.property",
)
self.assertEqual(
mapper.alias_for("_exmpl_dft_parameters.nested_property"),
"dft_parameters.nested_property",
)

# test nonsensical query
self.assertEqual(mapper.alias_for("_exmpl_test_field."), "test_field.")

# test an awkward case that has no alias
self.assertEqual(
mapper.alias_for("_exmpl_dft_parameters_dft_parameters.nested.property"),
"_exmpl_dft_parameters_dft_parameters.nested.property",
)

0 comments on commit 64c8963

Please sign in to comment.