a }|g}H @ sN d Z ddlZddlmZ ddlmZ ddlZddlZddlmZ ddlZddlm Z ddl mZ ddl mZ dd l mZ dd lmZ ddlmZ ddlmZ ddlZddlZdd lmZ ddlmZ dZG dd dejZG dd dejZ ej!d"ddZ"dd Z#dZ$dZ%dZ&dZ'dZ(dZ)dZ*e+d krJe,e-ej.d!d e/g dS )#zTests for ocsp.py N)datetime) timedelta)mock)x509)InvalidSignature)UnsupportedAlgorithm)default_backend)hashes)CryptographyDeprecationWarningocsp)errors)utilz;Missing = in header key=value ocsp: Use -help for summary. c @ s e Zd ZdZdd Zedededdd Zed ed eddd Zdd Z ededdd Z dS )OCSPTestOpenSSLz5 OCSP revocation tests using OpenSSL binary. c C s~ ddl m} tdT}td*}t|_d|_|jdd| _W d n1 sR0 Y W d n1 sp0 Y d S )Nr r certbot.ocsp.subprocess.runcertbot.util.exe_existsTZenforce_openssl_binary_usage) certbotr r patchoutstderrreturn_valueRevocationCheckerchecker)selfr mock_runmock_exists r E/usr/lib/python3.9/site-packages/certbot/_internal/tests/ocsp_test.pysetUp" s zOCSPTestOpenSSL.setUpzcertbot.ocsp.logger.infor r c C s t |j_d|_ddlm} |jdd}|jdks4J |ddgksHJ t dd |j_|jdd}|dd dgks|J |j du sJ d|_d|_|jdd}|jdksJ |jdksJ |j du sJ d S )NTr r r xzHost=x ZHostF) r r r r r r call_countZ host_args partitionbroken)r r r mock_logr r r r r test_init* s zOCSPTestOpenSSL.test_init#certbot.ocsp._determine_ocsp_server!certbot.ocsp.crypto_util.notAfterzcertbot.util.run_scriptc C s t tj}t }d|_d|_|tdd |_ d| j _d|_ | j |du sRJ d| j _t tdd |_ | j |du sJ |jd ksJ d |_ | j |du sJ td|_| j |du sJ |jdksJ ||_ d|_ |j}| j |du sJ |j|ksJ d S )Nr! yr# ZhoursT) r- Fr r )zhttp://x.cozx.coz#Unable to load certificate launcher)r nowpytzUTCr MagicMock cert_path chain_pathr r r r&