a }|g @ s d Z ddlZddlZddlZddlmZ ddlmZ ddlmZ ddlZddlm Z ddl ZddlZ ddlZddlmZ ddlmZ dd lmZ dd lmZ ddlmZ ddlmZ G d d dejZdd ZG dd dejZedkr ee ej!dd e"g dS )z/Tests for certbot._internal.plugins.standalone. N)Dict)Set)Tuple)mock) challenges) standalone)achallenges)errors) acme_util)utilc @ s@ e Zd ZdZdd Zdd Zdd Zdd Zd d Zdd Z dS )ServerManagerTestz=Tests for certbot._internal.plugins.standalone.ServerManager.c C s, ddl m} i | _i | _|| j| j| _d S )Nr ) ServerManager)$certbot._internal.plugins.standaloner ZcertsZhttp_01_resourcesmgr)selfr r S/usr/lib/python3.9/site-packages/certbot/_internal/tests/plugins/standalone_test.pysetUp s zServerManagerTest.setUpc C s d S Nr r r r r test_init s zServerManagerTest.test_initc C s2 | j jd|d}| d d }| j j|d d S )Nr portchallenge_type )r )r rungetsocknamesstop)r r serverr r r r _test_run_stop$ s z ServerManagerTest._test_run_stopc C s | tj d S r )r r HTTP01r r r r test_run_stop_http_01+ s z'ServerManagerTest.test_run_stop_http_01c C sD | j jdtjd}| d d }| j j|tjd}| j | d S )Nr r r )r r r r r r )r r r server2r r r test_run_idempotent. s z%ServerManagerTest.test_run_idempotentc C s t t j}|d | d }t }z|d|f W n tyN Y n0 ttj" | j j |tjd W d n1 s0 Y | | d S )N r r r% )r )socketZAF_INET6bindgetsocknameOSErrorpytestraisesr StandaloneBindErrorr r r r close)r Zsome_serverr Zmaybe_another_serverr r r test_run_bind_error7 s $z%ServerManagerTest.test_run_bind_errorN) __name__ __module____qualname____doc__r r r r! r# r. r r r r r s r c C s4 t t jt jd} | d | d }| |S )z%Gets an open port number from the OS.r r$ r )r&