def test_delete_project_with_coloredtags_and_issues(self): """ Test the model when we delete a project with Colored tags and issues. """ # Create a project item = model.Project( user_id=1, # pingou name='test', description='test project #1', hook_token='aaabbbiii', ) self.session.add(item) self.session.commit() # Create two ColoredTags tagobj = model.TagColored(tag='Tag#1', project_id=1) self.session.add(tagobj) self.session.flush() tagobj = model.TagColored(tag='Tag#2', project_id=1) self.session.add(tagobj) self.session.flush() # Create issues issue = model.Issue( id=pagure.lib.query.get_next_id(self.session, 1), project_id=1, title='Issue #1', content='Description #1', user_id=1, uid=uuid.uuid4().hex, private=False, ) self.session.add(issue) self.session.commit() issue = model.Issue( id=pagure.lib.query.get_next_id(self.session, 1), project_id=1, title='Issue #2', content='Description #2', user_id=1, uid=uuid.uuid4().hex, private=False, ) self.session.add(issue) self.session.commit() self.assertEqual(self.session.query(model.Project).count(), 1) self.assertEqual(self.session.query(model.TagColored).count(), 2) self.assertEqual(self.session.query(model.Issue).count(), 2) project = self.session.query( model.Project).filter(model.Project.id == 1).one() self.session.delete(project) self.session.commit() self.assertEqual(self.session.query(model.Project).count(), 0) self.assertEqual(self.session.query(model.TagColored).count(), 0) self.assertEqual(self.session.query(model.Issue).count(), 0)
def test_obj_anchor_tag_private_issue(self): """Assert links to private issues hide the title""" issue = model.Issue(title='The private issue summary', content='The issue description', private=True) expected_markup = (b'<a href="http://eh/" title="Private issue">' b'My Issue</a>') element = pfmarkdown._obj_anchor_tag('jcline', None, None, issue, 'My Issue') self.assertEqual(expected_markup, ElementTree.tostring(element))
def test_obj_anchor_tag_issue(self): """Assert links to issues are generated correctly""" issue = model.Issue( title='The issue summary', content='The issue description', ) expected_markup = ('<a href="http://eh/" title="The issue summary">' 'My Issue</a>') element = pfmarkdown._obj_anchor_tag( 'jcline', None, None, issue, 'My Issue') self.assertEqual(expected_markup, ElementTree.tostring(element))
def test_delete_project_with_coloredtags_and_tagged_issues(self): """ Test the model when we delete a project with Colored tags and tagged issues. """ # Create a project item = model.Project( user_id=1, # pingou name="test", description="test project #1", hook_token="aaabbbiii", ) self.session.add(item) self.session.commit() # Create two ColoredTags tagobj = model.TagColored(tag="Tag#1", project_id=1) self.session.add(tagobj) self.session.flush() tagobj = model.TagColored(tag="Tag#2", project_id=1) self.session.add(tagobj) self.session.flush() # Create issues issue = model.Issue( id=pagure.lib.query.get_next_id(self.session, 1), project_id=1, title="Issue #1", content="Description #1", user_id=1, uid="Issue#1", private=False, ) self.session.add(issue) self.session.commit() issue = model.Issue( id=pagure.lib.query.get_next_id(self.session, 1), project_id=1, title="Issue #2", content="Description #2", user_id=1, uid="Issue#2", private=False, ) self.session.add(issue) self.session.commit() # Tag the issue tagissue = model.TagIssueColored(issue_uid="Issue#1", tag_id=1) self.session.add(tagissue) self.session.commit() tagissue = model.TagIssueColored(issue_uid="Issue#2", tag_id=2) self.session.add(tagissue) self.session.commit() self.assertEqual(self.session.query(model.Project).count(), 1) self.assertEqual(self.session.query(model.TagColored).count(), 2) self.assertEqual(self.session.query(model.Issue).count(), 2) project = (self.session.query( model.Project).filter(model.Project.id == 1).one()) self.session.delete(project) self.session.commit() self.assertEqual(self.session.query(model.Project).count(), 0) self.assertEqual(self.session.query(model.TagColored).count(), 0) self.assertEqual(self.session.query(model.Issue).count(), 0)