a
    œcl_ø  ã                   @   s0   d dl Z d dlZd dlmZ G dd„ deƒZdS )é    N)ÚSambaToolCmdTestc                       sP   e Zd ZdZdZ‡ fdd„Z‡ fdd„Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
‡  ZS )ÚSchemaCmdTestCasez&Tests for samba-tool dsacl subcommandsNc                    s@   t t| ƒ ¡  |  ddtjd  dtjd tjd f ¡| _d S )Nú-Hú	ldap://%sÚ	DC_SERVERú-U%s%%%sÚDC_USERNAMEÚDC_PASSWORD)Úsuperr   ÚsetUpZgetSamDBÚosÚenvironÚsamdb©Úself©Ú	__class__© ú?/usr/lib/python3/dist-packages/samba/tests/samba_tool/schema.pyr      s    ÿzSchemaCmdTestCase.setUpc                    s   t t| ƒ ¡  d S )N)r
   r   ÚtearDownr   r   r   r   r       s    zSchemaCmdTestCase.tearDownc                 C   sd   |   dddddtjd  dtjd tjd	 f ¡\}}}|  |||¡ |  |d
d¡ |  d|¡ dS )z+Tests that we can display schema attributesÚschema)Ú	attributeÚshowÚuidr   r   r   r   r   r	   Ú úShouldn't be any error messagesz&dn: CN=uid,CN=Schema,CN=Configuration,N©Úrunsublevelcmdr   r   ÚassertCmdSuccessÚassertEqualÚassertIn©r   ÚresultÚoutÚerrr   r   r   Útest_display_attribute#   s    
ÿý
z(SchemaCmdTestCase.test_display_attributec                 C   sp  |   ddddddtjd  dtjd	 tjd
 f ¡\}}}|  |d¡ |   ddddddtjd  dtjd	 tjd
 f ¡\}}}|  |||¡ |  |dd¡ |  d|¡ |   ddddddtjd  dtjd	 tjd
 f ¡\}}}|  |||¡ |  |dd¡ |  d|¡ |   ddddddtjd  dtjd	 tjd
 f ¡\}}}|  |||¡ |  |dd¡ |  d|¡ dS )ú4Tests that we can modify searchFlags of an attributer   )r   Zmodifyr   z--searchflags=9r   r   r   r   r   r	   z!Unknown flag 9, please see --helpz--searchflags=fATTINDEXr   r   z+modified cn=uid,CN=Schema,CN=Configuration,z(--searchflags=fATTINDEX,fSUBTREEATTINDEXz)--searchflags=fAtTiNdEx,fPRESERVEONDELETEN)r   r   r   ZassertCmdFailr   r   r    r!   r   r   r   Ú!test_modify_attribute_searchflags/   sP    
ÿý

ÿý

ÿü

ÿü
z3SchemaCmdTestCase.test_modify_attribute_searchflagsc                 C   sp   |   dddddtjd  dtjd tjd	 f ¡\}}}|  |||¡ |  |d
d¡ |  d|¡ |  d|¡ dS )r&   r   )r   Zshow_ocZcnr   r   r   r   r   r	   r   r   z--- MAY contain ---z--- MUST contain ---Nr   r!   r   r   r   Útest_show_oc_attributeY   s    
ÿý
z(SchemaCmdTestCase.test_show_oc_attributec                 C   sd   |   dddddtjd  dtjd tjd	 f ¡\}}}|  |||¡ |  |d
d¡ |  d|¡ dS )z.Tests that we can display schema objectclassesr   )Zobjectclassr   Zpersonr   r   r   r   r   r	   r   r   z)dn: CN=Person,CN=Schema,CN=Configuration,Nr   r!   r   r   r   Útest_display_objectclassf   s    
ÿý
z*SchemaCmdTestCase.test_display_objectclass)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r%   r'   r(   r)   Ú__classcell__r   r   r   r   r      s   *r   )r   ZldbZsamba.tests.samba_tool.baser   r   r   r   r   r   Ú<module>   s   