CasperSecurity

Current Path : /lib/python3/dist-packages/twisted/test/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/twisted/test/__pycache__/test_twisted.cpython-310.pyc

o

�b��@sVdZddlZddlmZddlmZGdd�d�Zdd�Zd	d
�ZGdd�de�Z	dS)
zt
Tests for miscellaneous behaviors of the top-level L{twisted} package (ie, for
the code in C{twisted/__init__.py}.
�N)�
ModuleType)�TestCasec@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�SetAsideModulez�
    L{SetAsideModule} is a context manager for temporarily removing a module
    from C{sys.modules}.

    @ivar name: The name of the module to remove.
    cCs
||_dS�N)�name)�selfr�r�;/usr/lib/python3/dist-packages/twisted/test/test_twisted.py�__init__s
zSetAsideModule.__init__cs2�fdd�ttj���D�}|D]}tj|=q|S)z�
        Find the given module and all of its hierarchically inferior modules in
        C{sys.modules}, remove them from it, and return whatever was found.
        cs0i|]\}}|�jks|��jd�r||�qS)�.)r�
startswith)�.0�
moduleName�module�rrr	�
<dictcomp>"s
�z,SetAsideModule._unimport.<locals>.<dictcomp>)�list�sys�modules�items)rrrrrr	�	_unimports
�
zSetAsideModule._unimportcCs|�|j�|_dSr)rrrrrrr	�	__enter__+szSetAsideModule.__enter__cCs|�|j�tj�|j�dSr)rrrr�update)r�excType�excValue�	tracebackrrr	�__exit__.szSetAsideModule.__exit__N)�__name__�
__module__�__qualname__�__doc__r
rrrrrrr	rsrcCs i}td||�tj�|�dS)a
    Take a mapping defining a package and turn it into real C{ModuleType}
    instances in C{sys.modules}.

    Consider these example::

        a = {"foo": "bar"}
        b = {"twisted": {"__version__": "42.6"}}
        c = {"twisted": {"plugin": {"getPlugins": stub}}}

    C{_install(a)} will place an item into C{sys.modules} with C{"foo"} as the
    key and C{"bar" as the value.

    C{_install(b)} will place an item into C{sys.modules} with C{"twisted"} as
    the key.  The value will be a new module object.  The module will have a
    C{"__version__"} attribute with C{"42.6"} as the value.

    C{_install(c)} will place an item into C{sys.modules} with C{"twisted"} as
    the key.  The value will be a new module object with a C{"plugin"}
    attribute.  An item will also be placed into C{sys.modules} with the key
    C{"twisted.plugin"} which refers to that module object.  That module will
    have an attribute C{"getPlugins"} with a value of C{stub}.

    @param modules: A mapping from names to definitions of modules.  The names
        are native strings like C{"twisted"} or C{"unittest"}.  Values may be
        arbitrary objects.  Any value which is not a dictionary will be added to
        C{sys.modules} unmodified.  Any dictionary value indicates the value is
        a new module and its items define the attributes of that module.  The
        definition of this structure is recursive, so a value in the dictionary
        may be a dictionary to trigger another level of processing.

    @return: L{None}
    N)�
_makePackagesrrr)r�resultrrr	�_install3s"r#cCs�i}t|���D]O\}}|dur-t|t�r(t|�}|j�t|||��|||<q|||<qt|t�rSt|jd|�}|j�t|||��|||jd|<|||<q|||<q|S)a�
    Construct module objects (for either modules or packages).

    @param parent: L{None} or a module object which is the Python package
        containing all of the modules being created by this function call.  Its
        name will be prepended to the name of all created modules.

    @param attributes: A mapping giving the attributes of the particular module
        object this call is creating.

    @param result: A mapping which is populated with all created module names.
        This is suitable for use in updating C{sys.modules}.

    @return: A mapping of all of the attributes created by this call.  This is
        suitable for populating the dictionary of C{parent}.

    @see: L{_install}.
    Nr)	rr�
isinstance�dictr�__dict__rr!r)�parent�
attributesr"�attrsr�valuerrrr	r!Zs





r!c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�MakePackagesTestszh
    Tests for L{_makePackages}, a helper for populating C{sys.modules} with
    fictional modules.
    cCs,i}tdtdd�|�|�|tdd��dS)z�
        A non-C{dict} value in the attributes dictionary passed to L{_makePackages}
        is preserved unchanged in the return value.
        N�reactor)r,)r!r%�assertEqual�rrrrr	�test_nonModule�sz MakePackagesTests.test_nonModulecCs`i}tdttdd�d�|�|�|t�|�|dt�|�d|dj�|�d|dj�dS)z�
        A C{dict} value in the attributes dictionary passed to L{_makePackages}
        is turned into a L{ModuleType} instance with attributes populated from
        the items of that C{dict} value.
        N�123��version��twistedr4)r!r%�assertIsInstancerr-rr2r.rrr	�test_moduleWithAttribute�sz*MakePackagesTests.test_moduleWithAttributecCs�i}tdtttdd�d�d�|�|�|t�|�|dt�|�d|dj�|�|djt�|�d|djj�|�d|djj�dS)z�
        Processing of the attributes dictionary is recursive, so a C{dict} value
        it contains may itself contain a C{dict} value to the same effect.
        N�321r1)�webr3r4ztwisted.web)r!r%r5rr-rr8r2r.rrr	�test_packageWithModule�sz(MakePackagesTests.test_packageWithModuleN)rrrr r/r6r9rrrr	r+�s
	
r+)
r r�typesr�twisted.trial.unittestrrr#r!r+rrrr	�<module>s!''
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY