def adapt_schema_for_type(waypoint_type, field_list_type): """Get the schema for a waypoint type. `field_list_type` should be either "fields" or "listing". All schemas are cached using memoization with @lru_cache. """ fields = fields_waypoint.get(waypoint_type).get(field_list_type) return restrict_schema(schema_waypoint, fields)
def test_restrict_schema(self): fields = fields_waypoint.get('summit').get('fields') schema = restrict_schema(schema_waypoint, fields) self.assertHasField(schema, 'document_id') self.assertHasField(schema, 'version') self.assertHasField(schema, 'elevation') self.assertHasNotField(schema, 'climbing_outdoor_types') geometry_node = self.get_child_node(schema, 'geometry') self.assertHasField(geometry_node, 'version') self.assertHasField(geometry_node, 'geom') locales_node = self.get_child_node(schema, 'locales') locale_node = locales_node.children[0] self.assertHasField(locale_node, 'version') self.assertHasField(locale_node, 'culture') self.assertHasField(locale_node, 'title') self.assertHasNotField(locale_node, 'access_period')
def test_restrict_schema(self): fields = fields_waypoint.get("summit").get("fields") schema = restrict_schema(schema_waypoint, fields) self.assertHasField(schema, "document_id") self.assertHasField(schema, "version") self.assertHasField(schema, "elevation") self.assertHasNotField(schema, "climbing_outdoor_types") geometry_node = self.get_child_node(schema, "geometry") self.assertHasField(geometry_node, "version") self.assertHasField(geometry_node, "geom") locales_node = self.get_child_node(schema, "locales") locale_node = locales_node.children[0] self.assertHasField(locale_node, "version") self.assertHasField(locale_node, "lang") self.assertHasField(locale_node, "title") self.assertHasNotField(locale_node, "access_period")
def test_restrict_schema(self): fields = fields_waypoint.get('summit').get('fields') schema = restrict_schema(schema_waypoint, fields) self.assertHasField(schema, 'document_id') self.assertHasField(schema, 'version') self.assertHasField(schema, 'elevation') self.assertHasNotField(schema, 'climbing_outdoor_types') geometry_node = self.get_child_node(schema, 'geometry') self.assertHasField(geometry_node, 'version') self.assertHasField(geometry_node, 'geom') locales_node = self.get_child_node(schema, 'locales') locale_node = locales_node.children[0] self.assertHasField(locale_node, 'version') self.assertHasField(locale_node, 'lang') self.assertHasField(locale_node, 'title') self.assertHasNotField(locale_node, 'access_period')