def test_validate_deep(self): data = deepcopy(TEST_ENTITY) other = deepcopy(TEST_ENTITY_OTHER) rel = deepcopy(TEST_RELATION) rel['target'] = other data['outgoing'] = [rel] try: d = validate_entity(data, self.schema, self.context) #pprint(d) #assert False except Invalid, i: assert False, i.asdict()
def setUp(self): self.client = h.make_test_app() self.network = Network.create({'title': 'Net', 'slug': 'net'}) self.schema = Schema.create(self.network, Schema.RELATION, h.TEST_RELATION_SCHEMA) db.session.commit() self.eschema = Schema.create(self.network, Schema.ENTITY, h.TEST_ENTITY_SCHEMA) self.context = ValidationContext(network=self.network) entity = deepcopy(TEST_ENTITY) entity['network'] = self.network.slug entity = validate_entity(entity, self.eschema, self.context) entity['title'] = 'Alice' a = self.network.Entity.create(self.eschema, entity) entity['title'] = 'Bob' b = self.network.Entity.create(self.eschema, entity) TEST_RELATION['source'] = a.id TEST_RELATION['target'] = b.id db.session.commit()
def test_invalid_type(self): in_ = deepcopy(TEST_ENTITY) in_['type'] = 'animal' validate_entity(in_, self.schema, self.context)
def test_no_title(self): in_ = deepcopy(TEST_ENTITY) del in_['title'] validate_entity(in_, self.schema, self.context)
def test_validate_basic(self): try: validate_entity(TEST_ENTITY, self.schema, self.context) except Invalid, i: assert False, i.asdict()