def test_dict_field(): s_f = StringField() _ = lambda value: Var({'role_1': value}) field = DictField(properties=Var( role_1={'name': Var(role_1=s_f)}, role_2={'name': Var(role_2=s_f)}, roles_to_pass_down=['role_1'] ), pattern_properties=Var( role_1={'.*': Var(role_1=s_f)}, role_2={'.*': Var(role_2=s_f)}, roles_to_pass_down=['role_1'] ), additional_properties=_(s_f), min_properties=_(1), max_properties=_(2)) assert field.get_schema() == { 'type': 'object' } assert field.get_schema(role='role_1') == { 'type': 'object', 'properties': { 'name': s_f.get_schema(), }, 'patternProperties': { '.*': s_f.get_schema(), }, 'additionalProperties': s_f.get_schema(), 'minProperties': 1, 'maxProperties': 2, } assert field.get_schema(role='role_2') == { 'type': 'object', 'properties': {}, 'patternProperties': {}, }
def test_dict_field(): s_f = StringField() _ = lambda value: Var({'role_1': value}) field = DictField(properties=Var( { 'role_1': { 'name': Var({'role_1': s_f}) }, 'role_2': { 'name': Var({'role_2': s_f}) }, }, propagate='role_1'), pattern_properties=Var( { 'role_1': { '.*': Var({'role_1': s_f}) }, 'role_2': { '.*': Var({'role_2': s_f}) }, }, propagate='role_1'), additional_properties=_(s_f), min_properties=_(1), max_properties=_(2)) assert s(field.get_schema()) == s({'type': 'object'}) assert s(field.get_schema(role='role_1')) == s({ 'type': 'object', 'properties': { 'name': s_f.get_schema(), }, 'patternProperties': { '.*': s_f.get_schema(), }, 'additionalProperties': s_f.get_schema(), 'minProperties': 1, 'maxProperties': 2, }) assert s(field.get_schema(role='role_2')) == s({ 'type': 'object', 'properties': {}, 'patternProperties': {}, })
def test_dict_field(): s_f = StringField() _ = lambda value: Var({'role_1': value}) field = DictField(properties=Var( { 'role_1': {'name': Var({'role_1': s_f})}, 'role_2': {'name': Var({'role_2': s_f})}, }, propagate='role_1' ), pattern_properties=Var( { 'role_1': {'.*': Var({'role_1': s_f})}, 'role_2': {'.*': Var({'role_2': s_f})}, }, propagate='role_1' ), additional_properties=_(s_f), min_properties=_(1), max_properties=_(2)) assert s(field.get_schema()) == s({ 'type': 'object' }) assert s(field.get_schema(role='role_1')) == s({ 'type': 'object', 'properties': { 'name': s_f.get_schema(), }, 'patternProperties': { '.*': s_f.get_schema(), }, 'additionalProperties': s_f.get_schema(), 'minProperties': 1, 'maxProperties': 2, }) assert s(field.get_schema(role='role_2')) == s({ 'type': 'object', 'properties': {}, 'patternProperties': {}, })