Repository URL to install this package:
| 
      
        
        
        Version: 
        
         
          
          4.3.1-4.3  ▾
        
         | 
| 
    
    python3-dmapi-el9
  
    /
        
    usr
  
        /
        
    lib
  
        /
        
    python3.9
  
        /
        
    site-packages
  
        /
        
    dmapi
  
        /
        
    __pycache__
  
        /
        test.cpython-39.pyc
   | 
|---|
a
    èÉebq  ã                   @   sê  d Z ddlZejdd ddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlm Z  ddl!mZ" dd
l#m$Z$ ddl%Z%ddl&Z&ddl'm(Z( ddl'm)Z) ddl'm*Z* ddl+m,Z- ddl.m/Z/ ddl'm0Z0 ddl1m2Z3 ddl4mZ5 ddl6m7Z7 ddl6m8Z8 ddl4m9Z: ddl'm;Z; ddl<m=Z= ej>Z>e ?e>¡ e> @dd¡ e Ae>d¡ e Be>¡ dZCdZDe%jErÞejFZFnejGdd  ZFG d!d" d"ejHZIG d#d$ d$eJZKG d%d& d&eLZMd'd( ZNeN  G d)d* d*eLZOeO P¡  G d+d, d,e&jQZQG d-d. d.eLZRe% SejT¡G d/d0 d0e&jQZUG d1d2 d2ejHZVG d3d4 d4eQZWG d5d6 d6eWZXG d7d8 d8eLZYG d9d: d:eLZZG d;d< d<eLZ[dS )=z{Base classes for our unit tests.
Allows overriding of flags for use of fakes, and some black magic for
inline callbacks.
é    NF)Úos)Úcore)Ú	lockutils)Úcfg)Úfixture)Ú
logging_error)Úlog)Ú	jsonutils)Ú	timeutils)Ú
moxstubout)Úcontext)Údb)Ú	exception)Úmanager)Úopenstack_driver)Úobjects)Úbase)Úfixtures)Úconf_fixture)Úpolicy_fixture)Úuuidsentinel)Úutils)ÚimagesZ
use_stderrÚnova)ÚTrueÚtrueÚ1ZyesZcell1c                  '   s@   t  ¡ $  fdd| D V  W d    n1 s20    Y  d S )Nc                    s   g | ]}   |¡qS © )Ú
enter_context)Ú.0Úc©Ústackr   ú./usr/lib/python3.9/site-packages/dmapi/test.pyÚ
<listcomp>G   ó    znested.<locals>.<listcomp>)Ú
contextlibÚ	ExitStack)Zcontextsr   r!   r#   ÚnestedD   s    
r(   c                       s*   e Zd ZdZdddZ fddZ  ZS )ÚSampleNetworksz'Create sample networks in the database.Nc                 C   s
   || _ d S ©N©Úhost)Úselfr,   r   r   r#   Ú__init__N   s    zSampleNetworks.__init__c                    s   t t|  ¡  t ¡ }tj| jd}tj	p.tj
}|j|ddtjtj
tjtjtjtjtj|tjtjtjd t |¡D ]}| ||¡ qtd S )Nr+   Útestz
10.0.0.0/8)
ZlabelZcidrÚ
multi_hostÚnum_networksÚnetwork_sizeZcidr_v6ÚgatewayÚ
gateway_v6ZbridgeÚbridge_interfaceÚ	vpn_startÚ
vlan_startZdns1)Úsuperr)   ÚsetUpr   Zget_admin_contextÚnetwork_managerZVlanManagerr,   ÚCONFZflat_interfaceZvlan_interfaceZcreate_networksr0   r1   r2   Zfixed_range_v6r3   r4   Zflat_network_bridger6   r7   Zflat_network_dnsr
   Znetwork_get_allZset_network_host)r-   ÚctxtZnetworkr5   Znet©Ú	__class__r   r#   r9   Q   s*    ózSampleNetworks.setUp)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r.   r9   Ú
__classcell__r   r   r=   r#   r)   J   s   
r)   c                   @   s   e Zd ZdS )ÚTestingExceptionN)r?   r@   rA   r   r   r   r#   rD   h   s   rD   c                   @   s   e Zd Zdd Zdd ZdS )ÚskipIfc                 C   s   || _ || _d S r*   )Ú	conditionÚreason)r-   rF   rG   r   r   r#   r.   m   s    zskipIf.__init__c                    sx   | j  | jt ¡r4t ¡ fdd}|S t ¡rltdt ¡ fdd}|_S t	dd S )Nc                     s    rt j ¡| i |¤S r*   ©Ú	testtoolsÚTestCaseZ
skipException)ÚargsÚkwargs)rF   Úfunc_or_clsrG   r   r#   Úwrappedu   s    z skipIf.__call__.<locals>.wrappedr9   c                    s*    rt j ¡| g|¢R i |¤ d S r*   rH   )r-   rK   rL   )rF   Ú	orig_funcrG   r   r#   Únew_func   s    z!skipIf.__call__.<locals>.new_funcz5skipUnless can be used only with functions or classes)
rF   rG   ÚinspectÚ
isfunctionÚsixÚwrapsZisclassÚgetattrr9   Ú	TypeError)r-   rM   rN   rP   r   )rF   rM   rO   rG   r#   Ú__call__q   s    
zskipIf.__call__N)r?   r@   rA   r.   rW   r   r   r   r#   rE   l   s   rE   c                  C   s   dd } | t jjt j_d S )Nc                    s    fdd}|S )Nc                    s0   g d¢}|  d¡r&||vr&td|  | |S )N)Zassert_called_withZassert_called_once_withZassert_has_callsZassert_any_callsÚassertz$%s is not a valid mock assert method)Ú
startswithÚAttributeError)Z_selfÚnameZ
valid_asserts©rN   r   r#   Úwrapper   s    ÿzf_patch_mock_to_raise_for_invalid_assert_calls.<locals>.raise_for_invalid_assert_calls.<locals>.wrapperr   )rN   r]   r   r\   r#   Úraise_for_invalid_assert_calls   s    zU_patch_mock_to_raise_for_invalid_assert_calls.<locals>.raise_for_invalid_assert_calls)ÚmockZMockÚ__getattr__)r^   r   r   r#   Ú-_patch_mock_to_raise_for_invalid_assert_calls   s    ÿra   c                   @   s,   e Zd ZejjZedd Ze	dd Z
dS )ÚNovaExceptionReraiseFormatErrorc                 C   s   | j tj_d S r*   )Ú_wrap_log_exceptionr   Ú
NovaExceptionÚ_log_exception©Úclsr   r   r#   Úpatch¦   s    z%NovaExceptionReraiseFormatError.patchc                 C   s    t  ¡ }t | ¡ tj|  d S r*   )ÚsysÚexc_inforb   Úreal_log_exceptionrS   Zreraise)r-   rj   r   r   r#   rc   ª   s    
z3NovaExceptionReraiseFormatError._wrap_log_exceptionN)r?   r@   rA   r   rd   re   rk   Úclassmethodrh   Ústaticmethodrc   r   r   r   r#   rb   £   s
   
rb   c                       s   e Zd ZdZdZdZdZdZdZdZ	 fddZ
dd Zd	d
 Zdd Z
d
d Zdd ZdddZdd ZdddZdd Z  ZS )rJ   zTest case base class for all unit tests.
    Due to the slowness of DB access, please consider deriving from
    `NoDBTestCase` first.
    TFé   c                    sh  t t|  ¡  |  t tj dd¡| j	¡¡ |  t
 ¡ ¡ |  t
 ¡ ¡ |  t
 ¡ ¡ t ¡ | _|  | j¡ t ¡ | _|  | j¡ | jr¼|  t
 ¡ ¡j}|  t tj¡¡| _| jj|dd |  t t¡¡ | jrâ|  t d¡¡ tj ddgdd	 d
t!j"_#t$ $t!j%j&j'¡| _(|  )| j*¡ t+j, -¡  ddl.m/} g |_0i t1_2g t1_0i | _3i | _4| j5r|  tj6dd
¡ |  7¡  |  t 8¡ ¡ n$| j9s¤|  t :¡ ¡ |  t ;¡ ¡ |  t <¡ ¡ |  t= >¡ ¡ d
t?_@dt+jA_Bd
t+jA_Cd
tD_E|  tF G¡ ¡}|jH| _H|jI| _I|  )| jJ¡ |  t
 Kd¡¡ |  tL M¡ ¡| _N|  t O¡ ¡ i tP_Q|  t R¡ ¡ |  t S¡ ¡ | jTddd d
S )z;Run before each test method to initialize test environment.ZOS_TEST_TIMEOUTr   Úoslo_concurrency)Ú	lock_pathÚgroupz	nova.testZdriverr/   Zoslo_messaging_notifications)rq   N)Úapirr   )ZdatabaseFZ
http_proxyg        Zfilter_scheduler)Zbuild_failure_weight_multiplierrq   )Ur8   rJ   r9   Ú
useFixtureÚ
nova_fixturesZTimeoutr   ÚenvironÚgetÚTIMEOUT_SCALING_FACTORr   ZNestedTempfileZTempHomeDirÚlog_fixtureZ get_logging_handle_error_fixtureZOutputStreamCaptureÚoutputZStandardLoggingZstdlogÚREQUIRES_LOCKINGZTempDirÚpathÚconfig_fixtureZConfigr   r;   r   Zconfigr   ZConfFixtureÚSTUB_RPCZ
RPCFixtureZset_defaultÚobjects_baseZ
NovaObjectZindirection_apiÚcopyÚNovaObjectRegistryÚ	_registryÚ_obj_classesÚ_base_test_obj_backupÚ
addCleanupÚ_restore_obj_registryr   ZServiceZclear_min_version_cacheZnova.computerr   ZCELLSr   Z
CELL_CACHEÚ
cell_mappingsÚ
host_mappingsÚUSES_DBZDatabaseÚ_setup_cellsZDefaultFlavorsFixtureÚUSES_DB_SELFZSingleCellSimpleZDatabasePoisonFixtureZWarningsFixtureÚovo_fixtureZStableObjectJsonFixturer   Z_IS_NEUTRONZresource_providerZ_TRAITS_SYNCEDZ	_RC_CACHEr   ZQEMU_VERSIONr   Z
MoxStuboutZmoxZstubsÚ_clear_attrsZEnvironmentVariabler   Z
PolicyFixtureZpolicyZPoisonFunctionsr   ZDRIVER_CACHEZ"ForbidNewLegacyNotificationFixtureZPrivsepNoHelperFixtureÚflags)r-   rp   rr   Zmox_fixturer=   r   r#   r9   Ñ   s    þ
ÿÿ
ÿÿ
ÿzTestCase.setUpc           	      C   s¾   t  ¡ }t ¡ }d}tj|tjjd|tjjd}| ¡  || j|j	<