Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def urlopenstub(url):
if url.find("readthedocs.org") != -1:
host = url.split("/")[2]
package = host.split(".")[0]
# Faking the docs:
if package in ("distribute", "complete"):
return FakeResponse(200)
else:
# This package doesn't have docs on pythonhosted.org:
return FakeResponse(404)
if url.startswith("http://pypi.org/project"):
filename = url[len("http://pypi.org/project/") :]
# Faking PyPI package
datafile = resource_filename(
__name__, os.path.join("testdata", "xmlrpcdata", filename + ".html")
)
return FakeResponse(200, datafile)
if url.startswith("http://pypi.python.org/packages"):
filename = [x for x in url.split("/") if x][-1]
# Faking PyPI file downloads
datafile = resource_filename(
__name__, os.path.join("testdata", "distributions", filename)
)
return FakeResponse(200, datafile)
if url.startswith("http://pypi.org/project"):
filename = url[len("http://pypi.org/project/") :]
# Faking PyPI package
datafile = resource_filename(
__name__, os.path.join("testdata", "xmlrpcdata", filename + ".html")
)
return FakeResponse(200, datafile)
if url.startswith("http://pypi.python.org/packages"):
filename = [x for x in url.split("/") if x][-1]
# Faking PyPI file downloads
datafile = resource_filename(
__name__, os.path.join("testdata", "distributions", filename)
)
return FakeResponse(200, datafile)
raise ValueError("Don't know how to stub " + url)
def urlopenstub(url):
if url.find("readthedocs.org") != -1:
host = url.split("/")[2]
package = host.split(".")[0]
# Faking the docs:
if package in ("distribute", "complete"):
return FakeResponse(200)
else:
# This package doesn't have docs on pythonhosted.org:
return FakeResponse(404)
if url.startswith("http://pypi.org/project"):
filename = url[len("http://pypi.org/project/") :]
# Faking PyPI package
datafile = resource_filename(
__name__, os.path.join("testdata", "xmlrpcdata", filename + ".html")
)
return FakeResponse(200, datafile)
if url.startswith("http://pypi.python.org/packages"):
filename = [x for x in url.split("/") if x][-1]
# Faking PyPI file downloads
datafile = resource_filename(
def _get_file_rating(self, dirname):
directory = resource_filename(__name__, os.path.join("testdata", dirname))
data = projectdata.get_data(directory)
return rate(data)
def test_complete(self):
directory = resource_filename(__name__, os.path.join("testdata", "complete"))
data = projectdata.get_data(directory)
self.assertEqual(data, COMPLETE)
def test_pyroma(self):
# Arrange
data = pyroma.projectdata.get_data(".")
# Act
rating = pyroma.ratings.rate(data)
# Assert
if "rc" in __version__:
# Pyroma needs to chill about RC versions and not kill all our tests.
self.assertEqual(
rating,
(9, ["The package's version number does not comply with PEP-386."]),
)
else:
# Should have a perfect score
self.assertEqual(rating, (10, []))
def _get_file_rating(self, dirname):
directory = resource_filename(__name__, os.path.join("testdata", dirname))
data = projectdata.get_data(directory)
return rate(data)
def test_pyroma(self):
# Arrange
data = pyroma.projectdata.get_data(".")
# Act
rating = pyroma.ratings.rate(data)
# Assert
if "rc" in __version__:
# Pyroma needs to chill about RC versions and not kill all our tests.
self.assertEqual(
rating,
(9, ["The package's version number does not comply with PEP-386."]),
)
else:
# Should have a perfect score
self.assertEqual(rating, (10, []))
def test_complete(self):
real_urlopen = urllib.urlopen
real_server_proxy = xmlrpclib.ServerProxy
try:
xmlrpclib.ServerProxy = ProxyStub(
"completedata.py", xmlrpclib.ServerProxy, False
)
urllib.urlopen = urlopenstub
data = pypidata.get_data("complete")
rating = rate(data)
self.assertEqual(rating, (10, []))
finally:
xmlrpclib.ServerProxy = real_server_proxy
urllib.urlopen = real_urlopen
def test_markdown(self):
# Markdown and text shouldn't get ReST errors
testdata = COMPLETE.copy()
testdata["long_description"] = "# Broken ReST\n\n``Valid Markdown\n"
testdata["long_description_content_type"] = "text/markdown"
rating = rate(testdata)
self.assertEqual(
rating, (9, ["The package's long_description is quite short."])
)
testdata["long_description_content_type"] = "text/plain"
rating = rate(testdata)
self.assertEqual(
rating, (9, ["The package's long_description is quite short."])
)