def test_attach_tags_to_record_pass(self): """Successfully attach tags to a record.""" from invenio.modules.records.models import Record # first create a record test_record = Record( creation_date=datetime.now(), modification_date=datetime.now() ) test_record_info = dict( name="test_record" ) test_record.additional_info = test_record_info db.session.add(test_record) db.session.commit() # attach tags to the record tag_data = dict( tags=["ROOT", "PHYSICS"] ) answer = self.post( 'recordlisttagresource', user_id=self.user_a.id, data=tag_data, urlargs=dict(record_id=test_record.id), ) # answer.json is a list of TagRepresentation objects ordered_created_tags = [] for tag_representation in answer.json: ordered_tag_repr = OrderedDict( sorted(tag_representation.items(), key=lambda t: t[0]) ) ordered_created_tags.append(ordered_tag_repr) #now query DB get_answer = self.get( 'recordlisttagresource', user_id=self.user_a.id, urlargs=dict(record_id=test_record.id), ) ordered_retrieved_tags = [] for retrieved_tag_repr in get_answer.json: ordered_retrieved_tag_repr = OrderedDict( sorted(retrieved_tag_repr.items(), key=lambda t: t[0]) ) ordered_retrieved_tags.append(ordered_retrieved_tag_repr) self.assertEqual(ordered_created_tags, ordered_retrieved_tags) self.delete( 'taglistresource', user_id=self.user_a.id, code=204 ) # delete the created record db.session.delete(test_record) db.session.commit()
def test_attach_tags_to_record_pass(self): """Successfully attach tags to a record.""" from invenio.modules.records.models import Record # first create a record test_record = Record(creation_date=datetime.now(), modification_date=datetime.now()) test_record_info = dict(name="test_record") test_record.additional_info = test_record_info db.session.add(test_record) db.session.commit() # attach tags to the record tag_data = dict(tags=["ROOT", "PHYSICS"]) answer = self.post( 'recordlisttagresource', user_id=self.user_a.id, data=tag_data, urlargs=dict(record_id=test_record.id), ) # answer.json is a list of TagRepresentation objects ordered_created_tags = [] for tag_representation in answer.json: ordered_tag_repr = OrderedDict( sorted(tag_representation.items(), key=lambda t: t[0])) ordered_created_tags.append(ordered_tag_repr) #now query DB get_answer = self.get( 'recordlisttagresource', user_id=self.user_a.id, urlargs=dict(record_id=test_record.id), ) ordered_retrieved_tags = [] for retrieved_tag_repr in get_answer.json: ordered_retrieved_tag_repr = OrderedDict( sorted(retrieved_tag_repr.items(), key=lambda t: t[0])) ordered_retrieved_tags.append(ordered_retrieved_tag_repr) self.assertEqual(ordered_created_tags, ordered_retrieved_tags) self.delete('taglistresource', user_id=self.user_a.id, code=204) # delete the created record db.session.delete(test_record) db.session.commit()