SYMBOL INDEX (428 symbols across 43 files) FILE: sewer/auth.py class ProviderBase (line 11) | class ProviderBase: method __init__ (line 16) | def __init__( method setup (line 48) | def setup(self, challenges: ChalListType) -> ErrataListType: method unpropagated (line 51) | def unpropagated(self, challenges: ChalListType) -> ErrataListType: method clear (line 54) | def clear(self, challenges: ChalListType) -> ErrataListType: class HTTPProviderBase (line 58) | class HTTPProviderBase(ProviderBase): method __init__ (line 67) | def __init__(self, **kwargs: Any) -> None: class DNSProviderBase (line 73) | class DNSProviderBase(ProviderBase): method __init__ (line 81) | def __init__(self, *, alias: str = "", **kwargs: Any) -> None: method cname_domain (line 89) | def cname_domain(self, chal: Dict[str, str]) -> Union[str, None]: method target_domain (line 94) | def target_domain(self, chal: Dict[str, str]) -> str: FILE: sewer/catalog.py class ProviderDescriptor (line 7) | class ProviderDescriptor: method __init__ (line 8) | def __init__( method __str__ (line 33) | def __str__(self) -> str: method get_provider (line 36) | def get_provider(self) -> ProviderBase: class ProviderCatalog (line 44) | class ProviderCatalog: method __init__ (line 45) | def __init__(self, filepath: str = "") -> None: method get_item_list (line 63) | def get_item_list(self) -> List[ProviderDescriptor]: method get_descriptor (line 70) | def get_descriptor(self, name: str) -> ProviderDescriptor: method get_provider (line 75) | def get_provider(self, name: str) -> ProviderBase: FILE: sewer/cli.py function setup_parser (line 12) | def setup_parser(catalog): function get_provider (line 161) | def get_provider(provider_name, provider_kwargs, catalog, logger): function main (line 328) | def main(): FILE: sewer/client.py class Client (line 13) | class Client: method __init__ (line 18) | def __init__( method GET (line 124) | def GET(self, url: str) -> requests.Response: method HEAD (line 135) | def HEAD(self, url: str) -> requests.Response: method POST (line 138) | def POST( method _request (line 143) | def _request( method get_user_agent (line 182) | def get_user_agent(): method get_acme_endpoints (line 191) | def get_acme_endpoints(self): method acme_register (line 208) | def acme_register(self): method apply_for_cert_issuance (line 248) | def apply_for_cert_issuance(self): method get_identifier_authorization (line 298) | def get_identifier_authorization(self, auth_url: str) -> Dict[str, str]: method get_keyauthorization (line 349) | def get_keyauthorization(self, token): method check_authorization_status (line 357) | def check_authorization_status(self, authorization_url, desired_status... method respond_to_challenge (line 399) | def respond_to_challenge(self, acme_keyauthorization, challenge_url): method send_csr (line 429) | def send_csr(self, finalize_url): method download_certificate (line 466) | def download_certificate(self, certificate_url: str) -> str: method get_nonce (line 485) | def get_nonce(self): method get_acme_header (line 496) | def get_acme_header(self, url, needs_jwk=False): method make_signed_acme_request (line 516) | def make_signed_acme_request(self, url, payload, needs_jwk=False): method get_certificate (line 533) | def get_certificate(self): method sleep_iter (line 600) | def sleep_iter(self): method propagation_delay (line 608) | def propagation_delay(self, challenges: ChalListType) -> Tuple[str, Er... method cert (line 655) | def cert(self): method renew (line 659) | def renew(self): FILE: sewer/crypto.py class AcmeAbstractError (line 20) | class AcmeAbstractError(AcmeError): class AcmeKeyError (line 27) | class AcmeKeyError(AcmeError): class AcmeKeyTypeError (line 31) | class AcmeKeyTypeError(AcmeError): class AcmeKidError (line 35) | class AcmeKidError(AcmeKeyError): class KeyDesc (line 50) | class KeyDesc: method __init__ (line 54) | def __init__( method generate (line 70) | def generate(self) -> PrivateKeyType: method sign (line 73) | def sign(self, pk: PrivateKeyType, message: bytes) -> bytes: method match (line 76) | def match(self, pk: PrivateKeyType) -> bool: class RsaKeyDesc (line 82) | class RsaKeyDesc(KeyDesc): method __init__ (line 86) | def __init__(self, key_size: int) -> None: method generate (line 90) | def generate(self) -> PrivateKeyType: method sign (line 93) | def sign(self, pk: PrivateKeyType, message: bytes) -> bytes: class EcKeyDesc (line 99) | class EcKeyDesc(KeyDesc): method __init__ (line 103) | def __init__(self, key_size: int, hash_type, alg: str, key_bytes: int)... method generate (line 112) | def generate(self) -> PrivateKeyType: method sign (line 115) | def sign(self, pk: PrivateKeyType, message: bytes) -> bytes: function resolve_key_desc (line 134) | def resolve_key_desc(key: Union[str, PrivateKeyType]) -> KeyDesc: class AcmeKey (line 162) | class AcmeKey: method __init__ (line 182) | def __init__(self, pk: PrivateKeyType, key_desc: KeyDesc) -> None: method create (line 191) | def create(cls: Type["AcmeKey"], key_type_name: str) -> "AcmeKey": method from_pem (line 200) | def from_pem(cls: Type["AcmeKey"], pem_data: bytes) -> "AcmeKey": method read_pem (line 213) | def read_pem(cls: Type["AcmeKey"], filename: str) -> "AcmeKey": method to_pem (line 221) | def to_pem(self) -> bytes: method write_pem (line 229) | def write_pem(self, filename: str) -> None: method sign_message (line 235) | def sign_message(self, message: bytes) -> bytes: class AcmeAccount (line 242) | class AcmeAccount(AcmeKey): method __init__ (line 247) | def __init__(self, pk: PrivateKeyType, key_desc: KeyDesc = None) -> None: method get_kid (line 257) | def get_kid(self) -> str: method set_kid (line 262) | def set_kid(self, kid: str, timestamp: float = None) -> None: method del_kid (line 270) | def del_kid(self) -> None: method has_kid (line 276) | def has_kid(self) -> bool: method jwk (line 282) | def jwk(self) -> Dict[str, str]: method write_key (line 316) | def write_key(self, filename: str) -> None: method read_key (line 327) | def read_key(cls: Type["AcmeAccount"], filename: str) -> "AcmeAccount": class AcmeCsr (line 349) | class AcmeCsr: method __init__ (line 350) | def __init__(self, *, cn: str, san: List[str], key: AcmeKey) -> None: method public_bytes (line 367) | def public_bytes(self) -> bytes: FILE: sewer/dns_providers/acmedns.py class AcmeDnsDns (line 11) | class AcmeDnsDns(common.BaseDns): method __init__ (line 12) | def __init__(self, ACME_DNS_API_USER, ACME_DNS_API_KEY, ACME_DNS_API_B... method create_dns_record (line 23) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 54) | def delete_dns_record(self, domain_name, domain_dns_value): FILE: sewer/dns_providers/aliyundns.py class _ResponseForAliyun (line 14) | class _ResponseForAliyun(object): method __init__ (line 19) | def __init__(self, status_code=200, content=None, headers=None): method json (line 26) | def json(self): class AliyunDns (line 30) | class AliyunDns(common.BaseDns): method __init__ (line 31) | def __init__(self, key, secret, endpoint="cn-beijing", debug=False, **... method _send_reqeust (line 46) | def _send_reqeust(self, request): method query_recored_items (line 69) | def query_recored_items(self, host, zone=None, tipe=None, page=1, psiz... method query_recored_id (line 125) | def query_recored_id(self, root, zone, tipe="TXT"): method extract_zone (line 142) | def extract_zone(domain_name): method create_dns_record (line 158) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 180) | def delete_dns_record(self, domain_name, domain_dns_value): FILE: sewer/dns_providers/auroradns.py class AuroraDns (line 13) | class AuroraDns(common.BaseDns): method __init__ (line 19) | def __init__(self, AURORA_API_KEY, AURORA_SECRET_KEY, **kwargs): method create_dns_record (line 24) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 43) | def delete_dns_record(self, domain_name, domain_dns_value): FILE: sewer/dns_providers/cloudflare.py class CloudFlareDns (line 9) | class CloudFlareDns(common.BaseDns): method __init__ (line 10) | def __init__( method find_dns_zone (line 41) | def find_dns_zone(self, domain_name): method create_dns_record (line 73) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 107) | def delete_dns_record(self, domain_name, domain_dns_value): method _get_auth_header (line 160) | def _get_auth_header(self): FILE: sewer/dns_providers/cloudns.py function _split_domain_name (line 9) | def _split_domain_name(domain_name): class ClouDNSDns (line 20) | class ClouDNSDns(common.BaseDns): method __init__ (line 21) | def __init__(self, **kwargs): method create_dns_record (line 24) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 38) | def delete_dns_record(self, domain_name, domain_dns_value): FILE: sewer/dns_providers/common.py class BaseDns (line 7) | class BaseDns(DNSProviderBase): method __init__ (line 12) | def __init__(self, **kwargs: Any) -> None: method setup (line 21) | def setup(self, challenges: Sequence[Dict[str, str]]) -> Sequence[Erra... method unpropagated (line 26) | def unpropagated(self, challenges: Sequence[Dict[str, str]]) -> Sequen... method clear (line 29) | def clear(self, challenges: Sequence[Dict[str, str]]) -> Sequence[Erra... method create_dns_record (line 36) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 69) | def delete_dns_record(self, domain_name, domain_dns_value): FILE: sewer/dns_providers/dnspod.py class DNSPodDns (line 8) | class DNSPodDns(common.BaseDns): method __init__ (line 9) | def __init__( method create_dns_record (line 24) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 69) | def delete_dns_record(self, domain_name, domain_dns_value): FILE: sewer/dns_providers/duckdns.py class DuckDNSDns (line 8) | class DuckDNSDns(common.BaseDns): method __init__ (line 9) | def __init__(self, duckdns_token, DUCKDNS_API_BASE_URL="https://www.du... method _common_dns_record (line 20) | def _common_dns_record(self, logger_info, domain_name, payload_end_arg): method create_dns_record (line 52) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 55) | def delete_dns_record(self, domain_name, domain_dns_value): FILE: sewer/dns_providers/gandi.py class GandiDns (line 9) | class GandiDns(common.BaseDns): method __init__ (line 10) | def __init__( method create_dns_record (line 37) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 66) | def delete_dns_record(self, domain_name, domain_dns_value): method _get_subdomain_records (line 69) | def _get_subdomain_records(self, subdomain, all_records): method delete_record (line 72) | def delete_record(self, domain_name): method get_zone_records_href (line 87) | def get_zone_records_href(self, base_domain): method get_all_zone_records (line 98) | def get_all_zone_records(self, zone_records_href): method split_domain (line 107) | def split_domain(domain_name): method subdomain_to_challenge_domain (line 126) | def subdomain_to_challenge_domain(subdomain): FILE: sewer/dns_providers/hurricane.py class _Response (line 11) | class _Response(object): method __init__ (line 16) | def __init__(self, status_code=200, content=None, headers=None): method json (line 23) | def json(self): class HurricaneDns (line 27) | class HurricaneDns(common.BaseDns): method __init__ (line 28) | def __init__(self, username, password, **kwargs): method extract_zone (line 33) | def extract_zone(domain_name): method create_dns_record (line 49) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 57) | def delete_dns_record(self, domain_name, domain_dns_value): FILE: sewer/dns_providers/powerdns.py class PowerDNSDns (line 8) | class PowerDNSDns(common.BaseDns): method __init__ (line 23) | def __init__(self, powerdns_api_key, powerdns_api_url, *kwargs): method validate_powerdns_zone (line 28) | def validate_powerdns_zone(self, domain_name): method _common_dns_record (line 54) | def _common_dns_record(self, domain_name, domain_dns_value, changetype): method create_dns_record (line 93) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 96) | def delete_dns_record(self, domain_name, domain_dns_value): FILE: sewer/dns_providers/rackspace.py class RackspaceDns (line 9) | class RackspaceDns(common.BaseDns): method __init__ (line 10) | def __init__(self, RACKSPACE_USERNAME, RACKSPACE_API_KEY, **kwargs): method get_rackspace_credentials (line 22) | def get_rackspace_credentials(self): method get_dns_zone (line 59) | def get_dns_zone(self, domain_name): method find_dns_zone_id (line 64) | def find_dns_zone_id(self, domain_name): method find_dns_record_id (line 96) | def find_dns_record_id(self, domain_name, domain_dns_value): method poll_callback_url (line 131) | def poll_callback_url(self, callback_url): method create_dns_record (line 159) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 195) | def delete_dns_record(self, domain_name, domain_dns_value): FILE: sewer/dns_providers/route53.py class Route53Dns (line 10) | class Route53Dns(common.BaseDns): method __init__ (line 15) | def __init__(self, access_key_id=None, secret_access_key=None, client=... method create_dns_record (line 42) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 46) | def delete_dns_record(self, domain_name, domain_dns_value): method _find_zone_id_for_domain (line 50) | def _find_zone_id_for_domain(self, domain): method _change_txt_record (line 77) | def _change_txt_record(self, action, domain_name, domain_dns_value): FILE: sewer/dns_providers/tests/test_acmedns.py class Testacmedns (line 10) | class Testacmedns(TestCase): method setUp (line 14) | def setUp(self): method tearDown (line 32) | def tearDown(self): method test_acmedns_is_called_by_create_dns_record (line 35) | def test_acmedns_is_called_by_create_dns_record(self): method test_acmedns_is_not_called_by_delete_dns_record (line 57) | def test_acmedns_is_not_called_by_delete_dns_record(self): FILE: sewer/dns_providers/tests/test_aliyundns.py class TestAliyunDNS (line 9) | class TestAliyunDNS(TestCase): method setUp (line 13) | def setUp(self): method tearDown (line 26) | def tearDown(self): method test_extract_zone_sub_domain (line 29) | def test_extract_zone_sub_domain(self): method test_extract_zone_root (line 38) | def test_extract_zone_root(self): method test_aliyun_is_called_by_create_dns_record (line 45) | def test_aliyun_is_called_by_create_dns_record(self): method test_aliyun_is_not_called_by_delete_dns_record (line 59) | def test_aliyun_is_not_called_by_delete_dns_record(self): FILE: sewer/dns_providers/tests/test_aurora.py class TestAurora (line 9) | class TestAurora(TestCase): method setUp (line 17) | def setUp(self): method tearDown (line 32) | def tearDown(self): method test_delete_dns_record_is_not_called_by_create_dns_record (line 35) | def test_delete_dns_record_is_not_called_by_create_dns_record(self): method test_aurora_is_called_by_delete_dns_record (line 55) | def test_aurora_is_called_by_delete_dns_record(self): FILE: sewer/dns_providers/tests/test_cloudflare.py class TestCloudflare (line 10) | class TestCloudflare(TestCase): method setUp (line 14) | def setUp(self): method tearDown (line 43) | def tearDown(self): method test_delete_dns_record_is_not_called_by_create_dns_record (line 46) | def test_delete_dns_record_is_not_called_by_create_dns_record(self): method test_cloudflare_is_called_by_create_dns_record (line 68) | def test_cloudflare_is_called_by_create_dns_record(self): method test_cloudflare_is_called_by_delete_dns_record (line 113) | def test_cloudflare_is_called_by_delete_dns_record(self): class TestCloudflareTokens (line 157) | class TestCloudflareTokens(TestCase): method setUp (line 162) | def setUp(self): method test_init_auth_validation (line 167) | def test_init_auth_validation(self): FILE: sewer/dns_providers/tests/test_cloudns.py class TestClouDNS (line 9) | class TestClouDNS(TestCase): method setUp (line 14) | def setUp(self): method test_cloudns_is_called_by_create_dns_record (line 25) | def test_cloudns_is_called_by_create_dns_record(self): method test_cloudns_is_called_by_delete_dns_record (line 52) | def test_cloudns_is_called_by_delete_dns_record(self): FILE: sewer/dns_providers/tests/test_common.py class TestCommon (line 6) | class TestCommon(TestCase): method setUp (line 10) | def setUp(self): method tearDown (line 16) | def tearDown(self): method test_create_dns_record (line 19) | def test_create_dns_record(self): method test_delete_dns_record (line 27) | def test_delete_dns_record(self): method test_setup_empty (line 35) | def test_setup_empty(self): method test_clear_empty (line 38) | def test_clear_empty(self): method test_setup_mocked (line 41) | def test_setup_mocked(self): method test_clear_mocked (line 46) | def test_clear_mocked(self): FILE: sewer/dns_providers/tests/test_dnspod.py class TestDNSPod (line 9) | class TestDNSPod(TestCase): method setUp (line 13) | def setUp(self): method tearDown (line 51) | def tearDown(self): method test_delete_dns_record_is_not_called_by_create_dns_record (line 54) | def test_delete_dns_record_is_not_called_by_create_dns_record( method test_dnspod_is_called_by_create_dns_record (line 72) | def test_dnspod_is_called_by_create_dns_record(self): method test_dnspod_is_called_by_delete_dns_record (line 101) | def test_dnspod_is_called_by_delete_dns_record(self): method test_exception_is_raised_if_unsuccessful (line 134) | def test_exception_is_raised_if_unsuccessful(self): FILE: sewer/dns_providers/tests/test_duckdns.py class TestDuckDNS (line 8) | class TestDuckDNS(TestCase): method setUp (line 9) | def setUp(self): method tearDown (line 22) | def tearDown(self): method test_duckdns_is_called_by_create_dns_record (line 25) | def test_duckdns_is_called_by_create_dns_record(self): method test_duckdns_is_called_by_delete_dns_record (line 45) | def test_duckdns_is_called_by_delete_dns_record(self): FILE: sewer/dns_providers/tests/test_gandi.py class MockResponseObject (line 9) | class MockResponseObject: method __init__ (line 10) | def __init__(self, status_code=200, body=None): method json (line 14) | def json(self): function add_side_effect_to_request_get (line 18) | def add_side_effect_to_request_get(mock_requests_get): function add_side_effect_to_request_post (line 41) | def add_side_effect_to_request_post(mock_requests_post): function add_side_effect_to_request_delete (line 51) | def add_side_effect_to_request_delete(mock_requests_delete): function mock_requests (line 64) | def mock_requests(func, mock_requests_get, mock_requests_post, mock_requ... class TestGandiDns (line 86) | class TestGandiDns(TestCase): method check_correct_headers_passed (line 92) | def check_correct_headers_passed(self, calls, expectedHeaders): method test_delete_existing_record (line 97) | def test_delete_existing_record(self, mock_requests_lib): method test_delete_non_existing_record (line 114) | def test_delete_non_existing_record(self, mock_requests_lib): method test_create_record (line 119) | def test_create_record(self, mock_requests_lib): method test_create_non_existing_record (line 149) | def test_create_non_existing_record(self, mock_requests_lib): FILE: sewer/dns_providers/tests/test_hedns.py class TestHEDNS (line 9) | class TestHEDNS(TestCase): method setUp (line 13) | def setUp(self): method tearDown (line 26) | def tearDown(self): method test_extract_zone_sub_domain (line 29) | def test_extract_zone_sub_domain(self): method test_extract_zone_root (line 38) | def test_extract_zone_root(self): method test_hedns_is_called_by_create_dns_record (line 45) | def test_hedns_is_called_by_create_dns_record(self): method test_hedns_is_not_called_by_delete_dns_record (line 65) | def test_hedns_is_not_called_by_delete_dns_record(self): FILE: sewer/dns_providers/tests/test_powerdns.py class TestPowerDNS (line 9) | class TestPowerDNS(TestCase): method setUp (line 14) | def setUp(self): method tearDown (line 28) | def tearDown(self): method test_validate_powerdns_zone (line 31) | def test_validate_powerdns_zone(self): method test_could_not_determine_apex_domain (line 46) | def test_could_not_determine_apex_domain(self): method test_powerdns_has_correct_changetype (line 54) | def test_powerdns_has_correct_changetype(self): method test_powerdns_returns_correct_status_code (line 63) | def test_powerdns_returns_correct_status_code(self): method test_powerdns_is_called_by_create_dns_record (line 78) | def test_powerdns_is_called_by_create_dns_record(self): method test_powerdns_is_called_by_delete_dns_record (line 92) | def test_powerdns_is_called_by_delete_dns_record(self): FILE: sewer/dns_providers/tests/test_rackspace.py class TestRackspace (line 9) | class TestRackspace(TestCase): method setUp (line 13) | def setUp(self): method tearDown (line 35) | def tearDown(self): method test_find_dns_zone_id (line 38) | def test_find_dns_zone_id(self): method test_find_dns_record_id (line 60) | def test_find_dns_record_id(self): method test_delete_dns_record_is_not_called_by_create_dns_record (line 90) | def test_delete_dns_record_is_not_called_by_create_dns_record(self): method test_rackspace_is_called_by_create_dns_record (line 114) | def test_rackspace_is_called_by_create_dns_record(self): method test_rackspace_is_called_by_delete_dns_record (line 144) | def test_rackspace_is_called_by_delete_dns_record(self): FILE: sewer/dns_providers/tests/test_route53.py class TestRoute53 (line 7) | class TestRoute53(TestCase): method setUp (line 11) | def setUp(self): method tearDown (line 18) | def tearDown(self): method mocked_route53_set_record_response (line 22) | def mocked_route53_set_record_response(): method make_change_batch (line 25) | def make_change_batch(self, action, domain_name, domain_value): method mocked_find_zone_response (line 41) | def mocked_find_zone_response(self): method test_user_given_credential (line 71) | def test_user_given_credential(self, mock_client): method test_user_given_client (line 81) | def test_user_given_client(self, mock_client): method test_user_given_creds_and_client (line 88) | def test_user_given_creds_and_client(self, mock_client): method test_user_not_given_credential (line 93) | def test_user_not_given_credential(self, mock_client): method test_route53_create_record (line 98) | def test_route53_create_record(self, mock_client): method test_route53_delete_record (line 117) | def test_route53_delete_record(self, mock_client): FILE: sewer/dns_providers/tests/test_unbound_ssh.py class response (line 9) | class response: method __init__ (line 12) | def __init__(self, *, content_val="", json_val=None): method json (line 16) | def json(self): class MockObj (line 22) | class MockObj: method __init__ (line 23) | def __init__(self, **kwargs) -> None: function patch_subprocess_run (line 27) | def patch_subprocess_run(returncode, **kwargs): class TestLib (line 34) | class TestLib(TestCase): method test01_init_requires_ssh_des (line 38) | def test01_init_requires_ssh_des(self): method test02_init_okay (line 42) | def test02_init_okay(self): method test03_init_with_alias_okay (line 45) | def test03_init_with_alias_okay(self): method test13_unbound_command_bad_cmd_fails (line 50) | def test13_unbound_command_bad_cmd_fails(self): method test21_create_delete_dns_record_okay (line 56) | def test21_create_delete_dns_record_okay(self): method test22_create_dns_record_fail (line 65) | def test22_create_dns_record_fail(self): FILE: sewer/dns_providers/tests/test_utils.py class MockResponse (line 4) | class MockResponse(object): method __init__ (line 9) | def __init__(self, status_code=200, content=None): method json (line 31) | def json(self): class mockLibcloudDriverZone (line 35) | class mockLibcloudDriverZone(object): method create_record (line 42) | def create_record(self, name, type, data): class mockLibcloudDriver (line 46) | class mockLibcloudDriver(object): method __init__ (line 51) | def __init__(self, key, secret): method get_zone (line 54) | def get_zone(self, domainSuffix): method list_records (line 58) | def list_records(self, zone): method get_record (line 66) | def get_record(self, zone_id, record_id): method delete_record (line 69) | def delete_record(self, record): function mockLibcloudGetDriver (line 73) | def mockLibcloudGetDriver(provider): class MockDnsResolver (line 80) | class MockDnsResolver(object): FILE: sewer/dns_providers/unbound_ssh.py class UnboundSsh (line 6) | class UnboundSsh(BaseDns): method __init__ (line 24) | def __init__(self, *, ssh_des, **kwargs): method create_dns_record (line 35) | def create_dns_record(self, host_fqdn, acme_challenge): method delete_dns_record (line 38) | def delete_dns_record(self, host_fqdn, acme_challenge): method manage_dns_record (line 41) | def manage_dns_record(self, host_fqdn, acme_challenge, cmd): function unbound_command (line 63) | def unbound_command(cmd, fqdn, acme_challenge): FILE: sewer/lib.py class SewerError (line 8) | class SewerError(Exception): class AcmeError (line 13) | class AcmeError(SewerError): class AcmeRegistrationError (line 18) | class AcmeRegistrationError(AcmeError): function log_response (line 25) | def log_response(response: Any) -> str: function create_logger (line 36) | def create_logger(name: str, log_level: Union[str, int]) -> LoggerType: function safe_base64 (line 51) | def safe_base64(un_encoded_data: Union[str, bytes]) -> str: function dns_challenge (line 60) | def dns_challenge(key_auth: str) -> str: function sewer_meta (line 69) | def sewer_meta(name: str) -> str: FILE: sewer/providers/demo.py class ManualProvider (line 11) | class ManualProvider(ProviderBase): method __init__ (line 12) | def __init__(self, *, chal_type: str = "http-01", **kwargs: Any) -> None: method setup (line 23) | def setup(self, challenges: ChalListType) -> ErrataListType: method unpropagated (line 26) | def unpropagated(self, challenges: ChalListType) -> ErrataListType: method clear (line 30) | def clear(self, challenges: ChalListType) -> ErrataListType: method _prompt (line 33) | def _prompt(self, mode: str, challenges: ChalListType) -> ErrataListType: FILE: sewer/providers/tests/test_demo.py class TestDemo (line 6) | class TestDemo(unittest.TestCase): method test_create_dns (line 9) | def test_create_dns(self): method test_create_http (line 13) | def test_create_http(self): method test_create_invalid (line 17) | def test_create_invalid(self): method test_run_dns (line 23) | def test_run_dns(self): method test_run_http (line 35) | def test_run_http(self): method test_accept_empty_chal_list (line 45) | def test_accept_empty_chal_list(self): method test_fails_dns_bad_chal (line 49) | def test_fails_dns_bad_chal(self): method test_fails_http_bad_chal (line 54) | def test_fails_http_bad_chal(self): FILE: sewer/tests/test_Client.py function keys_for_ACME (line 32) | def keys_for_ACME(no_kid=False): function usual_ACME (line 40) | def usual_ACME(no_kid=False): class TestClient (line 51) | class TestClient(TestCase): method setUp (line 65) | def setUp(self): method tearDown (line 76) | def tearDown(self): method test_get_get_acme_endpoints_failure_results_in_exception (line 79) | def test_get_get_acme_endpoints_failure_results_in_exception(self): method test_user_agent_is_generated (line 98) | def test_user_agent_is_generated(self): method test_acme_registration_is_done (line 106) | def test_acme_registration_is_done(self): method test_acme_registration_failure_doesnt_result_in_certificate (line 114) | def test_acme_registration_failure_doesnt_result_in_certificate(self): method test_get_identifier_authorization_is_called (line 125) | def test_get_identifier_authorization_is_called(self): method test_get_identifier_authorization_is_not_called (line 142) | def test_get_identifier_authorization_is_not_called(self): method test_respond_to_challenge_called (line 162) | def test_respond_to_challenge_called(self): method test_check_authorization_status_is_called (line 186) | def test_check_authorization_status_is_called(self): method test_get_certificate_is_called (line 194) | def test_get_certificate_is_called(self): method test_certificate_is_issued (line 205) | def test_certificate_is_issued(self): method test_certificate_is_not_issued (line 214) | def test_certificate_is_not_issued(self): method test_certificate_is_issued_for_renewal (line 242) | def test_certificate_is_issued_for_renewal(self): method test_right_args_to_client (line 251) | def test_right_args_to_client(self): class TestClientForSAN (line 265) | class TestClientForSAN(TestClient): method setUp (line 272) | def setUp(self): class TestClientForWildcard (line 294) | class TestClientForWildcard(TestClient): method setUp (line 301) | def setUp(self): class TestClientDnsApiCompatibility (line 324) | class TestClientDnsApiCompatibility(TestCase): method setUp (line 331) | def setUp(self): method test_get_get_acme_endpoints_failure_results_in_exception_with (line 344) | def test_get_get_acme_endpoints_failure_results_in_exception_with(self): method test_create_dns_record_is_called (line 363) | def test_create_dns_record_is_called(self): method test_delete_dns_record_is_called (line 374) | def test_delete_dns_record_is_called(self): method test_right_args_to_client (line 385) | def test_right_args_to_client(self): class TestClientUnits (line 399) | class TestClientUnits(TestCase): method __init__ (line 403) | def __init__(self, *args, **kwargs): method mock_sewer (line 409) | def mock_sewer(self, provider): method test01_sleep_iter_sticky (line 414) | def test01_sleep_iter_sticky(self): method test02_prop_timeout_okay (line 421) | def test02_prop_timeout_okay(self): method test03_prop_timeout_timeout (line 425) | def test03_prop_timeout_timeout(self): method test04_prop_timeout_delayed_okay (line 431) | def test04_prop_timeout_delayed_okay(self): FILE: sewer/tests/test_auth.py function pbj (line 6) | def pbj(**kwargs): class TestAuth01 (line 10) | class TestAuth01(unittest.TestCase): method test01_requires_chal_types (line 15) | def test01_requires_chal_types(self): method test02_accepts_valid_chal_types (line 19) | def test02_accepts_valid_chal_types(self): method _rejects_invalid_value_chal_types (line 25) | def _rejects_invalid_value_chal_types(self, chal_types): method test03_rejects_str_chal_types (line 29) | def test03_rejects_str_chal_types(self): method test04_rejects_iter_chal_types (line 32) | def test04_rejects_iter_chal_types(self): method test05_rejects_unknown_parameters (line 37) | def test05_rejects_unknown_parameters(self): method test06_accepts_logger (line 43) | def test06_accepts_logger(self): method test07_accepts_log_level (line 46) | def test07_accepts_log_level(self): method test08_rejects_logger_and_log_level (line 51) | def test08_rejects_logger_and_log_level(self): method test09_prop_timeout_and_times_default (line 57) | def test09_prop_timeout_and_times_default(self): method test10_prop_timeout_accepted (line 62) | def test10_prop_timeout_accepted(self): method test11_prop_sleep_times_int_accepted (line 65) | def test11_prop_sleep_times_int_accepted(self): method test12_prop_sleep_times_list_accepted (line 68) | def test12_prop_sleep_times_list_accepted(self): method test13_prop_sleep_times_tuple_accepted (line 71) | def test13_prop_sleep_times_tuple_accepted(self): method test14_prop_sleep_times_rejects (line 74) | def test14_prop_sleep_times_rejects(self): class TestAuth02 (line 79) | class TestAuth02(unittest.TestCase): method test01_notimplemented_setup (line 82) | def test01_notimplemented_setup(self): method test02_notimplemented_unpropagated (line 86) | def test02_notimplemented_unpropagated(self): method test03_notimplemented_clear (line 90) | def test03_notimplemented_clear(self): class TestAuthHTTP (line 95) | class TestAuthHTTP(unittest.TestCase): method test01_requires_nothing (line 98) | def test01_requires_nothing(self): method test02_accepts_chal_types (line 101) | def test02_accepts_chal_types(self): class TestAuthDNS (line 105) | class TestAuthDNS(unittest.TestCase): method test01_requires_nothing (line 108) | def test01_requires_nothing(self): method test02_accepts_chal_types (line 111) | def test02_accepts_chal_types(self): method test03_accepts_alias (line 114) | def test03_accepts_alias(self): method test04_without_alias (line 117) | def test04_without_alias(self): method test05_with_alias (line 124) | def test05_with_alias(self): FILE: sewer/tests/test_catalog.py class TestCatalog (line 6) | class TestCatalog(unittest.TestCase): method test01_ProviderCatalog_create (line 7) | def test01_ProviderCatalog_create(self): method test02_catalog_get_item_list_okay (line 11) | def test02_catalog_get_item_list_okay(self): method test03_catalog_get_descriptor_okay (line 15) | def test03_catalog_get_descriptor_okay(self): method test04_catalog_get_provider_okay (line 19) | def test04_catalog_get_provider_okay(self): method test_05_catalog__str__okay (line 24) | def test_05_catalog__str__okay(self): FILE: sewer/tests/test_lib.py class response (line 7) | class response: method __init__ (line 8) | def __init__(self, *, content_val="", json_val=None): method json (line 12) | def json(self): class TestLib (line 18) | class TestLib(unittest.TestCase): method test01_log_response_json_okay (line 19) | def test01_log_response_json_okay(self): method test02_log_response_content_okay (line 22) | def test02_log_response_content_okay(self): method test11_create_logger_okay (line 25) | def test11_create_logger_okay(self): method test21_safe_base64_str_or_bytes_okay (line 31) | def test21_safe_base64_str_or_bytes_okay(self): method test31_dns_challenge_okay (line 35) | def test31_dns_challenge_okay(self): method test41_sewer_meta_okay (line 39) | def test41_sewer_meta_okay(self): FILE: sewer/tests/test_utils.py class ExmpleDnsProvider (line 7) | class ExmpleDnsProvider(BaseDns): method __init__ (line 8) | def __init__(self, **kwargs): method create_dns_record (line 12) | def create_dns_record(self, domain_name, domain_dns_value): method delete_dns_record (line 15) | def delete_dns_record(self, domain_name, domain_dns_value): class ExmpleDNS (line 19) | class ExmpleDNS(ExmpleDnsProvider): method __init__ (line 22) | def __init__(self, fail_prop_count, **kwargs): method unpropagated (line 26) | def unpropagated(self, challenges): class ExmpleHttpProvider (line 33) | class ExmpleHttpProvider(ProviderBase): method __init__ (line 34) | def __init__(self): method setup (line 37) | def setup(self, challenges): method unpropagated (line 40) | def unpropagated(self, challenges): method clear (line 43) | def clear(self, challenges): class MockResponse (line 47) | class MockResponse(object): method __init__ (line 52) | def __init__(self, status_code=201, content=None): method json (line 93) | def json(self): FILE: tests/crypto_test.py function fromfile_privbytes_frombytes_sign_key (line 14) | def fromfile_privbytes_frombytes_sign_key(key_type: KeyType) -> None: function test11_rsa_kitchen_sink (line 42) | def test11_rsa_kitchen_sink(): function test12_secp_kitchen_sink (line 47) | def test12_secp_kitchen_sink(): function generate_test (line 52) | def generate_test(key_types: Sequence[KeyType]) -> None: function test21_generate_rsa_keys (line 58) | def test21_generate_rsa_keys(): function test22_generate_ec_keys (line 62) | def test22_generate_ec_keys(): function test31_read_key_write_acct_read_acct (line 66) | def test31_read_key_write_acct_read_acct():