Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/certbot/certbot.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'certbot-dns-nsone')
-rw-r--r--certbot-dns-nsone/Dockerfile5
-rw-r--r--certbot-dns-nsone/MANIFEST.in3
-rw-r--r--certbot-dns-nsone/certbot_dns_nsone/_internal/__init__.py1
-rw-r--r--certbot-dns-nsone/certbot_dns_nsone/_internal/dns_nsone.py (renamed from certbot-dns-nsone/certbot_dns_nsone/dns_nsone.py)17
-rw-r--r--certbot-dns-nsone/docs/api.rst5
-rw-r--r--certbot-dns-nsone/docs/api/dns_nsone.rst5
-rw-r--r--certbot-dns-nsone/docs/conf.py3
-rw-r--r--certbot-dns-nsone/local-oldest-requirements.txt5
-rw-r--r--certbot-dns-nsone/readthedocs.org.requirements.txt8
-rw-r--r--certbot-dns-nsone/setup.py36
-rw-r--r--certbot-dns-nsone/tests/dns_nsone_test.py (renamed from certbot-dns-nsone/certbot_dns_nsone/dns_nsone_test.py)8
11 files changed, 53 insertions, 43 deletions
diff --git a/certbot-dns-nsone/Dockerfile b/certbot-dns-nsone/Dockerfile
deleted file mode 100644
index 88fc13c57..000000000
--- a/certbot-dns-nsone/Dockerfile
+++ /dev/null
@@ -1,5 +0,0 @@
-FROM certbot/certbot
-
-COPY . src/certbot-dns-nsone
-
-RUN pip install --no-cache-dir --editable src/certbot-dns-nsone
diff --git a/certbot-dns-nsone/MANIFEST.in b/certbot-dns-nsone/MANIFEST.in
index 18f018c08..5a661cef6 100644
--- a/certbot-dns-nsone/MANIFEST.in
+++ b/certbot-dns-nsone/MANIFEST.in
@@ -1,3 +1,6 @@
include LICENSE.txt
include README.rst
recursive-include docs *
+recursive-include tests *
+global-exclude __pycache__
+global-exclude *.py[cod]
diff --git a/certbot-dns-nsone/certbot_dns_nsone/_internal/__init__.py b/certbot-dns-nsone/certbot_dns_nsone/_internal/__init__.py
new file mode 100644
index 000000000..40a095edf
--- /dev/null
+++ b/certbot-dns-nsone/certbot_dns_nsone/_internal/__init__.py
@@ -0,0 +1 @@
+"""Internal implementation of `~certbot_dns_nsone.dns_nsone` plugin."""
diff --git a/certbot-dns-nsone/certbot_dns_nsone/dns_nsone.py b/certbot-dns-nsone/certbot_dns_nsone/_internal/dns_nsone.py
index 3e23df11c..f5af37389 100644
--- a/certbot-dns-nsone/certbot_dns_nsone/dns_nsone.py
+++ b/certbot-dns-nsone/certbot_dns_nsone/_internal/dns_nsone.py
@@ -1,8 +1,8 @@
"""DNS Authenticator for NS1 DNS."""
import logging
-import zope.interface
from lexicon.providers import nsone
+import zope.interface
from certbot import errors
from certbot import interfaces
@@ -76,11 +76,10 @@ class _NS1LexiconClient(dns_common_lexicon.LexiconClient):
def _handle_http_error(self, e, domain_name):
if domain_name in str(e) and (str(e).startswith('404 Client Error: Not Found for url:') or \
str(e).startswith("400 Client Error: Bad Request for url:")):
- return # Expected errors when zone name guess is wrong
- else:
- hint = None
- if str(e).startswith('401 Client Error: Unauthorized for url:'):
- hint = 'Is your API key correct?'
-
- return errors.PluginError('Error determining zone identifier: {0}.{1}'
- .format(e, ' ({0})'.format(hint) if hint else ''))
+ return None # Expected errors when zone name guess is wrong
+ hint = None
+ if str(e).startswith('401 Client Error: Unauthorized for url:'):
+ hint = 'Is your API key correct?'
+
+ return errors.PluginError('Error determining zone identifier: {0}.{1}'
+ .format(e, ' ({0})'.format(hint) if hint else ''))
diff --git a/certbot-dns-nsone/docs/api.rst b/certbot-dns-nsone/docs/api.rst
index 8668ec5d8..ac13c3df2 100644
--- a/certbot-dns-nsone/docs/api.rst
+++ b/certbot-dns-nsone/docs/api.rst
@@ -2,7 +2,4 @@
API Documentation
=================
-.. toctree::
- :glob:
-
- api/**
+Certbot plugins implement the Certbot plugins API, and do not otherwise have an external API.
diff --git a/certbot-dns-nsone/docs/api/dns_nsone.rst b/certbot-dns-nsone/docs/api/dns_nsone.rst
deleted file mode 100644
index 788ce732a..000000000
--- a/certbot-dns-nsone/docs/api/dns_nsone.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-:mod:`certbot_dns_nsone.dns_nsone`
-----------------------------------
-
-.. automodule:: certbot_dns_nsone.dns_nsone
- :members:
diff --git a/certbot-dns-nsone/docs/conf.py b/certbot-dns-nsone/docs/conf.py
index cffe2a25c..5531959ed 100644
--- a/certbot-dns-nsone/docs/conf.py
+++ b/certbot-dns-nsone/docs/conf.py
@@ -17,6 +17,7 @@
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
+
# import sys
# sys.path.insert(0, os.path.abspath('.'))
@@ -37,7 +38,7 @@ extensions = ['sphinx.ext.autodoc',
'sphinx.ext.viewcode']
autodoc_member_order = 'bysource'
-autodoc_default_flags = ['show-inheritance', 'private-members']
+autodoc_default_flags = ['show-inheritance']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
diff --git a/certbot-dns-nsone/local-oldest-requirements.txt b/certbot-dns-nsone/local-oldest-requirements.txt
index 65f5a758e..1307698d4 100644
--- a/certbot-dns-nsone/local-oldest-requirements.txt
+++ b/certbot-dns-nsone/local-oldest-requirements.txt
@@ -1,2 +1,3 @@
--e acme[dev]
--e .[dev]
+# Remember to update setup.py to match the package versions below.
+acme[dev]==0.31.0
+certbot[dev]==1.1.0
diff --git a/certbot-dns-nsone/readthedocs.org.requirements.txt b/certbot-dns-nsone/readthedocs.org.requirements.txt
index dbdee4480..bf17eae30 100644
--- a/certbot-dns-nsone/readthedocs.org.requirements.txt
+++ b/certbot-dns-nsone/readthedocs.org.requirements.txt
@@ -1,12 +1,12 @@
# readthedocs.org gives no way to change the install command to "pip
-# install -e .[docs]" (that would in turn install documentation
+# install -e certbot-dns-nsone[docs]" (that would in turn install documentation
# dependencies), but it allows to specify a requirements.txt file at
# https://readthedocs.org/dashboard/letsencrypt/advanced/ (c.f. #259)
# Although ReadTheDocs certainly doesn't need to install the project
-# in --editable mode (-e), just "pip install .[docs]" does not work as
-# expected and "pip install -e .[docs]" must be used instead
+# in --editable mode (-e), just "pip install certbot-dns-nsone[docs]" does not work as
+# expected and "pip install -e certbot-dns-nsone[docs]" must be used instead
-e acme
--e .
+-e certbot
-e certbot-dns-nsone[docs]
diff --git a/certbot-dns-nsone/setup.py b/certbot-dns-nsone/setup.py
index 41b99cc73..d6bedca1c 100644
--- a/certbot-dns-nsone/setup.py
+++ b/certbot-dns-nsone/setup.py
@@ -1,14 +1,16 @@
-from setuptools import setup
-from setuptools import find_packages
+import sys
+from setuptools import find_packages
+from setuptools import setup
+from setuptools.command.test import test as TestCommand
-version = '0.31.0.dev0'
+version = '1.3.0.dev0'
# Remember to update local-oldest-requirements.txt when changing the minimum
# acme/certbot version.
install_requires = [
- 'acme>=0.31.0.dev0',
- 'certbot>=0.31.0.dev0',
+ 'acme>=0.31.0',
+ 'certbot>=1.1.0',
'dns-lexicon>=2.2.1', # Support for >1 TXT record per name
'mock',
'setuptools',
@@ -20,6 +22,20 @@ docs_extras = [
'sphinx_rtd_theme',
]
+class PyTest(TestCommand):
+ user_options = []
+
+ def initialize_options(self):
+ TestCommand.initialize_options(self)
+ self.pytest_args = ''
+
+ def run_tests(self):
+ import shlex
+ # import here, cause outside the eggs aren't loaded
+ import pytest
+ errno = pytest.main(shlex.split(self.pytest_args))
+ sys.exit(errno)
+
setup(
name='certbot-dns-nsone',
version=version,
@@ -28,9 +44,9 @@ setup(
author="Certbot Project",
author_email='client-dev@letsencrypt.org',
license='Apache License 2.0',
- python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
+ python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*',
classifiers=[
- 'Development Status :: 3 - Alpha',
+ 'Development Status :: 5 - Production/Stable',
'Environment :: Plugins',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: Apache Software License',
@@ -39,10 +55,10 @@ setup(
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
'Topic :: Internet :: WWW/HTTP',
'Topic :: Security',
'Topic :: System :: Installation/Setup',
@@ -59,8 +75,10 @@ setup(
},
entry_points={
'certbot.plugins': [
- 'dns-nsone = certbot_dns_nsone.dns_nsone:Authenticator',
+ 'dns-nsone = certbot_dns_nsone._internal.dns_nsone:Authenticator',
],
},
+ tests_require=["pytest"],
test_suite='certbot_dns_nsone',
+ cmdclass={"test": PyTest},
)
diff --git a/certbot-dns-nsone/certbot_dns_nsone/dns_nsone_test.py b/certbot-dns-nsone/tests/dns_nsone_test.py
index 56668dd01..dd6168f08 100644
--- a/certbot-dns-nsone/certbot_dns_nsone/dns_nsone_test.py
+++ b/certbot-dns-nsone/tests/dns_nsone_test.py
@@ -1,11 +1,11 @@
-"""Tests for certbot_dns_nsone.dns_nsone."""
+"""Tests for certbot_dns_nsone._internal.dns_nsone."""
-import os
import unittest
import mock
from requests.exceptions import HTTPError
+from certbot.compat import os
from certbot.plugins import dns_test_common
from certbot.plugins import dns_test_common_lexicon
from certbot.plugins.dns_test_common import DOMAIN
@@ -20,7 +20,7 @@ class AuthenticatorTest(test_util.TempDirTestCase,
def setUp(self):
super(AuthenticatorTest, self).setUp()
- from certbot_dns_nsone.dns_nsone import Authenticator
+ from certbot_dns_nsone._internal.dns_nsone import Authenticator
path = os.path.join(self.tempdir, 'file.ini')
dns_test_common.write({"nsone_api_key": API_KEY}, path)
@@ -40,7 +40,7 @@ class NS1LexiconClientTest(unittest.TestCase, dns_test_common_lexicon.BaseLexico
LOGIN_ERROR = HTTPError('401 Client Error: Unauthorized for url: {0}.'.format(DOMAIN))
def setUp(self):
- from certbot_dns_nsone.dns_nsone import _NS1LexiconClient
+ from certbot_dns_nsone._internal.dns_nsone import _NS1LexiconClient
self.client = _NS1LexiconClient(API_KEY, 0)