\n',
+ output.data)
+
+ # can view depends on
+ self.assertIn(
+ '
',
+ output.data)
+
+ # can edit depends on
+ self.assertIn(
+ '
private
+ # the other way round won't be possible since GET and POST
+ # to this endpoint for this user will be blocked
+
+ # checkbox for private
+ self.assertIn(
+ '
',
+ output.data)
+
+ # Create private issue
+ repo = pagure.lib.get_project(self.session, 'test')
+ msg = pagure.lib.new_issue(
+ session=self.session,
+ repo=repo,
+ title='Test issue',
+ content='We should work on this',
+ user='pingou',
+ ticketfolder=None,
+ private=True,
+ )
+ self.session.commit()
+ self.assertEqual(msg.title, 'Test issue')
+
+ # Not logged in
+ output = self.app.get('/test/issue/2')
+ self.assertEqual(output.status_code, 403)
+
+ # Wrong user
+ user = tests.FakeUser()
+ with tests.user_set(pagure.APP, user):
+ output = self.app.get('/test/issue/2')
+ self.assertEqual(output.status_code, 403)
+
+ # reporter
+ user.username = 'pingou'
+ with tests.user_set(pagure.APP, user):
+ output = self.app.get('/test/issue/2')
+ self.assertEqual(output.status_code, 200)
+ self.assertIn(
+ '
Issue #2: Test issue - test - Pagure',
+ output.data)
+ self.assertIn(
+ '
', output.data)
+ self.assertIn(
+ '
',
+ output.data)
+
+
+if __name__ == '__main__':
+ SUITE = unittest.TestLoader().loadTestsFromTestCase(
+ PagureFlaskIssuesACLtests)
+ unittest.TextTestRunner(verbosity=2).run(SUITE)