alnoda-workspaces/workspaces/notebook-old-workspace/nbviewer/nbviewer/providers/github/tests/test_github.py
2022-05-30 07:24:06 +00:00

165 lines
5.9 KiB
Python

# coding: utf-8
# -----------------------------------------------------------------------------
# Copyright (C) Jupyter Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
# -----------------------------------------------------------------------------
import requests
from ....tests.base import FormatHTMLMixin
from ....tests.base import NBViewerTestCase
from ....tests.base import skip_unless_github_auth
class GitHubTestCase(NBViewerTestCase):
@skip_unless_github_auth
def ipython_example(self, *parts, **kwargs):
ref = kwargs.get("ref", "rel-2.0.0")
return self.url("github/ipython/ipython/blob/%s/examples" % ref, *parts)
@skip_unless_github_auth
def test_github(self):
url = self.ipython_example("Index.ipynb")
r = requests.get(url)
self.assertEqual(r.status_code, 200)
@skip_unless_github_auth
def test_github_unicode(self):
url = self.url(
"github/tlapicka/IPythonNotebooks/blob",
"ee6d2d13b96023e5f5e38e4516803eb22ede977e",
u"Matplotlib -- osy a mřížka.ipynb",
)
r = requests.get(url)
self.assertEqual(r.status_code, 200)
@skip_unless_github_auth
def test_github_blob_redirect_unicode(self):
url = self.url(
"/urls/github.com/tlapicka/IPythonNotebooks/blob",
"ee6d2d13b96023e5f5e38e4516803eb22ede977e",
u"Matplotlib -- osy a mřížka.ipynb",
)
r = requests.get(url)
self.assertEqual(r.status_code, 200)
# verify redirect
self.assertIn("/github/tlapicka/IPythonNotebooks/blob/", r.request.url)
@skip_unless_github_auth
def test_github_raw_redirect_unicode(self):
url = self.url(
"/url/raw.github.com/tlapicka/IPythonNotebooks",
"ee6d2d13b96023e5f5e38e4516803eb22ede977e",
u"Matplotlib -- osy a mřížka.ipynb",
)
r = requests.get(url)
self.assertEqual(r.status_code, 200)
# verify redirect
self.assertIn("/github/tlapicka/IPythonNotebooks/blob/", r.request.url)
@skip_unless_github_auth
def test_github_tag(self):
url = self.ipython_example("Index.ipynb", ref="rel-2.0.0")
r = requests.get(url)
self.assertEqual(r.status_code, 200)
@skip_unless_github_auth
def test_github_commit(self):
url = self.ipython_example(
"Index.ipynb", ref="7f5cbd622058396f1f33c4b26c8d205a8dd26d16"
)
r = requests.get(url)
self.assertEqual(r.status_code, 200)
@skip_unless_github_auth
def test_github_blob_redirect(self):
url = self.url(
"urls/github.com/ipython/ipython/blob/rel-2.0.0/examples", "Index.ipynb"
)
r = requests.get(url)
self.assertEqual(r.status_code, 200)
# verify redirect
self.assertIn("/github/ipython/ipython/blob/master", r.request.url)
@skip_unless_github_auth
def test_github_raw_redirect(self):
url = self.url(
"urls/raw.github.com/ipython/ipython/rel-2.0.0/examples", "Index.ipynb"
)
r = requests.get(url)
self.assertEqual(r.status_code, 200)
# verify redirect
self.assertIn("/github/ipython/ipython/blob/rel-2.0.0/examples", r.request.url)
@skip_unless_github_auth
def test_github_rawusercontent_redirect(self):
"""Test GitHub's new raw domain"""
url = self.url(
"urls/raw.githubusercontent.com/ipython/ipython/rel-2.0.0/examples",
"Index.ipynb",
)
r = requests.get(url)
self.assertEqual(r.status_code, 200)
# verify redirect
self.assertIn("/github/ipython/ipython/blob/rel-2.0.0/examples", r.request.url)
@skip_unless_github_auth
def test_github_raw_redirect_2(self):
"""test /url/github.com/u/r/raw/ redirects"""
url = self.url(
"url/github.com/ipython/ipython/blob/rel-2.0.0/examples", "Index.ipynb"
)
r = requests.get(url)
self.assertEqual(r.status_code, 200)
# verify redirect
self.assertIn("/github/ipython/ipython/blob/rel-2.0.0", r.request.url)
@skip_unless_github_auth
def test_github_repo_redirect(self):
url = self.url("github/ipython/ipython")
r = requests.get(url)
self.assertEqual(r.status_code, 200)
# verify redirect
self.assertIn("/github/ipython/ipython/tree/master", r.request.url)
@skip_unless_github_auth
def test_github_tree(self):
url = self.url("github/ipython/ipython/tree/rel-2.0.0/IPython/")
r = requests.get(url)
self.assertEqual(r.status_code, 200)
self.assertIn("__init__.py", r.text)
@skip_unless_github_auth
def test_github_tree_redirect(self):
url = self.url("github/ipython/ipython/tree/rel-2.0.0/MANIFEST.in")
r = requests.get(url)
self.assertEqual(r.status_code, 200)
# verify redirect
self.assertIn("/github/ipython/ipython/blob/rel-2.0.0", r.request.url)
self.assertIn("global-exclude", r.text)
@skip_unless_github_auth
def test_github_blob_redirect(self):
url = self.url("github/ipython/ipython/blob/rel-2.0.0/IPython")
r = requests.get(url)
self.assertEqual(r.status_code, 200)
# verify redirect
self.assertIn("/github/ipython/ipython/tree/rel-2.0.0/IPython", r.request.url)
self.assertIn("__init__.py", r.text)
@skip_unless_github_auth
def test_github_ref_list(self):
url = self.url("github/ipython/ipython/tree/master")
r = requests.get(url)
self.assertEqual(r.status_code, 200)
html = r.text
# verify branch is linked
self.assertIn("/github/ipython/ipython/tree/2.x/", html)
# verify tag is linked
self.assertIn("/github/ipython/ipython/tree/rel-2.3.0/", html)
class FormatHTMLGitHubTestCase(NBViewerTestCase, FormatHTMLMixin):
pass