def test_content_links_parsing(self): self.populate(self.session) en = self.session.query(Language).filter(Language.lang == 'en').one() menu = self.session.query(Menu).first() home_info = self.session.query(PageInfo).filter(PageInfo.id == 2).one() home = home_info.node contact_info = self.session.query(PageInfo).filter(PageInfo.id == 4).one() contact = contact_info.node team = Page(home=True, parent=menu, weight=300) content = '<h2>' content += '<a href="{obj.url}">{obj.label}</a>'.format(obj=home_info) content += '</h2>' team_info = PageInfo(label="Team", title="The Team", url_part="team", content=content, lang=en, node=team) self.session.flush() self.assertIn(home_info, team_info.links) self.assertNotIn(contact_info, team_info.links) content = '<a href="{obj.url}">{obj.label}</a>'.format(obj=contact_info) team_info.content = team_info.content + content self.session.flush() self.assertIn(home_info, team_info.links) self.assertIn(contact_info, team_info.links) self.assertIn(home_info.url, team_info.content) self.assertIn(contact_info.url, team_info.content) home.weight = 3000 home.parent = self.session.query(Section).filter(Section.id == 4).one() log.debug('Flushing...') self.session.flush() self.assertIn(home_info.url, team_info.content) self.assertIn(contact_info.url, team_info.content) self.assertIn(home_info, team_info.links) self.assertIn(contact_info, team_info.links)