def test_can_retrieve_the_pdf_of_existing_articles(self, mock_ds, mock_pdf): # Setup with open(os.path.join(FIXTURE_ROOT, 'dummy.pdf'), 'rb') as f: mock_pdf.content = io.BytesIO() mock_pdf.content.write(f.read()) mock_ds = ['ERUDITXSD300', ] # noqa issue = IssueFactory.create( journal=self.journal, year=2010, date_published=dt.datetime.now() - dt.timedelta(days=1000)) article = ArticleFactory.create(issue=issue) journal_id = self.journal.localidentifier issue_id = issue.localidentifier article_id = article.localidentifier url = reverse('public:journal:article_raw_pdf', args=( journal_id, issue.volume_slug, issue_id, article_id )) request = self.factory.get(url) request.user = AnonymousUser() request.subscription = None # Run response = ArticleRawPdfView.as_view()( request, journal_code=journal_id, issue_slug=issue.volume_slug, issue_localid=issue_id, localid=article_id) # Check self.assertEqual(response.status_code, 200) self.assertEqual(response['Content-Type'], 'application/pdf')
def test_cannot_be_accessed_if_the_publication_of_the_article_is_not_allowed_by_its_authors( self): # noqa # Setup self.journal.open_access = False self.journal.save() issue = IssueFactory.create(journal=self.journal, year=2010, date_published=dt.datetime.now()) article = ArticleFactory.create(issue=issue, publication_allowed=False) journal_id = self.journal.localidentifier issue_id = issue.localidentifier article_id = article.localidentifier url = reverse('public:journal:article_raw_pdf', args=(journal_id, issue.volume_slug, issue_id, article_id)) request = self.factory.get(url) request.user = AnonymousUser() # Run & check response = ArticleRawPdfView.as_view()(request, journal_code=journal_id, issue_slug=issue.volume_slug, issue_localid=issue_id, localid=article_id) assert isinstance(response, HttpResponseRedirect) assert response.url == reverse('public:journal:article_detail', args=(journal_id, issue.volume_slug, issue_id, article_id))
def test_cannot_be_accessed_if_the_publication_of_the_article_is_not_allowed_by_its_authors(self): # noqa # Setup self.journal.open_access = False self.journal.save() issue = IssueFactory.create( journal=self.journal, year=2010, date_published=dt.datetime.now()) article = ArticleFactory.create(issue=issue, publication_allowed_by_authors=False) journal_id = self.journal.localidentifier issue_id = issue.localidentifier article_id = article.localidentifier url = reverse('public:journal:article_raw_pdf', args=( journal_id, issue.volume_slug, issue_id, article_id )) request = self.factory.get(url) request.user = AnonymousUser() # Run & check with self.assertRaises(PermissionDenied): ArticleRawPdfView.as_view()( request, journal_code=journal_id, issue_slug=issue.volume_slug, issue_localid=issue_id, localid=article_id)
def test_can_retrieve_the_pdf_of_existing_articles(self, mock_ds, mock_pdf): # Setup with open(os.path.join(FIXTURE_ROOT, 'dummy.pdf'), 'rb') as f: mock_pdf.content = io.BytesIO() mock_pdf.content.write(f.read()) mock_ds = ['ERUDITXSD300', ] # noqa journal_id = 'dummy139' issue_id = 'dummy1515298' article_id = '1001942du' url = reverse('public:journal:article-raw-pdf', args=( journal_id, issue_id, article_id )) request = self.factory.get(url) # Run response = ArticleRawPdfView.as_view()( request, journalid=journal_id, issueid=issue_id, articleid=article_id) # Check self.assertEqual(response.status_code, 200) self.assertEqual(response['Content-Type'], 'application/pdf')
def test_can_retrieve_the_pdf_of_existing_articles(self, mock_check_call, mock_ds, mock_pdf, mock_erudit_object): # Setup with open(os.path.join(FIXTURE_ROOT, 'dummy.pdf'), 'rb') as f: mock_pdf.content = io.BytesIO() mock_pdf.content.write(f.read()) mock_ds = [ 'ERUDITXSD300', ] # noqa issue = IssueFactory.create(journal=self.journal, year=2010, date_published=dt.datetime.now() - dt.timedelta(days=1000)) IssueFactory.create(journal=self.journal, year=2010, date_published=dt.datetime.now()) article = ArticleFactory.create(issue=issue) journal_id = self.journal.localidentifier issue_id = issue.localidentifier article_id = article.localidentifier url = reverse('public:journal:article_raw_pdf', args=(journal_id, issue.volume_slug, issue_id, article_id)) request = self.factory.get(url) request.user = AnonymousUser() request.subscription = None # Run response = ArticleRawPdfView.as_view()(request, journal_code=journal_id, issue_slug=issue.volume_slug, issue_localid=issue_id, localid=article_id) # Check self.assertEqual(response.status_code, 200) self.assertEqual(response['Content-Type'], 'application/pdf')