HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/samba/tests/blackbox/__pycache__/mdsearch.cpython-310.pyc
o

�\e�@s�dZddlZddlZddlZddlZddlZddlmZmZddl	m
Z
ddlmZddl
mZddlmZeed�Zd	d
gZGdd�de�ZGd
d�de�ZdS)zBlackbox test for mdsearch�N)�
HTTPServer�BaseHTTPRequestHandler)�mdssvc)�BlackboxTestCase)�mdscli)�get_samba_logger)�name�foo�barc@seZdZdd�ZdS)�MdssvcHTTPRequestHandlercCs�t|jd�}|j�|�}t�|�}t�|jj�}||kr3t�	d||f�|�
ddd||f�dSt|jjdd�}|�
d�|�d	d
�|�dt|��|��|j�|�dS)Nzcontent-lengthz"Bad request, expected:
%s
Got:
%s
i�zBad requestzExpected: %s
Got: %s
�utf-8)�encoding��zcontent-typezapplication/json; charset=UTF-8)�int�headers�rfile�read�json�loads�server�json_in�logger�error�
send_error�bytes�json_out�
send_response�send_header�len�end_headers�wfile�write)�self�content_length�body�actual_json�
expected_json�resp�r(�?/usr/lib/python3/dist-packages/samba/tests/blackbox/mdsearch.py�do_POST)s&
��
z MdssvcHTTPRequestHandler.do_POSTN)�__name__�
__module__�__qualname__r*r(r(r(r)r(srcs8eZdZ�fdd�Z�fdd�Zdd�Zdd�Z�ZS)	�MdfindBlackboxTestscs�tt|���tdtdd�|_tjtj|fd�|_	|j	�
d�|j	��t�
d�tjd|_tD]}td|j|fd	�}|��q1dS)
N)z10.53.57.35i�F)�bind_and_activate)�target�argsT��
LOCAL_PATH�%s/%s�w)�superr.�setUprrr�	threading�Thread�http_server�t�	setDaemon�start�time�sleep�os�environ�	sharepath�	testfiles�open�close)r"�file�f��	__class__r(r)r7Cs�


�zMdfindBlackboxTests.setUpcs0tt|���tD]}t�d|j|f�q	dS)Nr4)r6r�tearDownrCr@�removerB)r"rFrHr(r)rJUs�zMdfindBlackboxTests.tearDowncCs"|j��|j��|j��dS)N)r�server_bind�server_activate�
serve_forever)r"r(r(r)r:Zs

zMdfindBlackboxTests.http_servercCs|tjd}tjd}tjd}d}d}|�d|j�|j_|�d|j�|j_|�d|||f�}|�d��	�}|�
t|�d	S)
z!Simple blackbox test for mdsearch�USERNAME�PASSWORD�
SMB_CONF_PATHz�{
          "from": 0, "size": 100, "_source": ["path.real"],
          "query": {
            "query_string": {
              "query": "(samba*) AND path.real.fulltext:\"%BASEPATH%\""
            }
          }
        }z�{
          "hits" : {
            "total" : { "value" : 2},
            "hits" : [
              {"_source" : {"path" : {"real" : "%BASEPATH%/foo"}}},
              {"_source" : {"path" : {"real" : "%BASEPATH%/bar"}}}
            ]
          }
        }z
%BASEPATH%zEmdsearch --configfile=%s -U %s%%%s fileserver spotlight '*=="samba*"'rN)r@rA�replacerBrrr�check_output�decode�
splitlines�assertEqualrC)r"�username�password�configrr�output�actualr(r(r)�
test_mdsearch_s



z!MdfindBlackboxTests.test_mdsearch)r+r,r-r7rJr:r\�
__classcell__r(r(rHr)r.As
r.)�__doc__r@r>r8�loggingr�http.serverrr�samba.dcerpcr�samba.testsr�samba.samba3r�samba.loggerrr+rrCrr.r(r(r(r)�<module>s"
�