a
    Wa                     @   s<   d dl mZ d dlZd dlmZ dZG dd dejjZ	dS )    )StringION)trafficz&testdata/traffic-sample-very-short.txtc                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
TrafficEmulatorTestsc                 C   s   t  | _d S N)r   TrafficModelmodelself r
   =/usr/lib/python3/dist-packages/samba/tests/emulate/traffic.pysetUp   s    zTrafficEmulatorTests.setUpc                 C   s   | ` d S r   )r   r   r
   r
   r   tearDown!   s    zTrafficEmulatorTests.tearDownc                 C   sR  t  }tt}t j|gdd\}}}}|  || g dg ddgddgdgg ddgd	gd
gdgdgdgd}g dg ddgdgddgdgd}d| _dd |j	 D }	dd |j
	 D }
| ||	 | ||
 t }|| t  }|d || dd |j	 D }	dd |j
	 D }
| ||	 | ||
 d S )NZinclude)Zdns_mode)dns:0r   r   ldap:3)r   r   r   wait:0cldap:3rpc_netlogon:29)r   r   r   r   -ldap:2r   	kerberos:)r   r   )r   r   r   r   r   r   r   r   )r   r   )r   r   r   r   r   r   r   r   )r   r   r   r    r    r    ZNetlogonr    r    r    r   r   )	r
   r
   r
   r
   r
   r
   r
   r
   r
   r    r    r    r    r    r    r    r    r    r    r    a  subschemaSubentry,dsServiceName,namingContexts,defaultNamingContext,schemaNamingContext,configurationNamingContext,rootDomainNamingContext,supportedControl,supportedLDAPVersion,supportedLDAPPolicies,supportedSASLMechanisms,dnsHostName,ldapServiceName,serverName,supportedCapabilitiesr    r    r    2zDC,DCr    Zcnr    r    r    r
   )r   r   r   r   r   r     c                 S   s   i | ]\}}|t |qS r
   sorted.0kvr
   r
   r   
<dictcomp>S       zGTrafficEmulatorTests.test_parse_ngrams_dns_included.<locals>.<dictcomp>c                 S   s   i | ]\}}|t |qS r
   r'   r)   r
   r
   r   r-   T   r.   r   c                 S   s   i | ]\}}|t |qS r
   r'   r)   r
   r
   r   r-   `   r.   c                 S   s   i | ]\}}|t |qS r
   r'   r)   r
   r
   r   r-   a   r.   )r   r   open	TEST_FILEingest_summariescloselearnmaxDiffngramsitemsquery_detailsassertEqualr   saveseekload)r	   r   fconversationsintervalduration
dns_countsexpected_ngramsexpected_query_detailsr5   detailsmodel2r
   r
   r   test_parse_ngrams_dns_included$   sZ    



z3TrafficEmulatorTests.test_parse_ngrams_dns_includedc              
   C   s:  t t}t|g\}}}}|  | j|| ddgdgdgddgdgdgdgdgdgd	}g d	d
gdgddgdgd}d| _dd | jj	 D }dd | jj
	 D }	| || | ||	 t }| j| t }
|d |
| dd |
j	 D }dd |
j
	 D }	| || | ||	 d S )Nr   r   r   r   r   r   r   )	r   )r   r   r   r   r   r   r   r   r   r   r!   r"   r#   r$   r
   )r   r   r   r   r   r&   c                 S   s   i | ]\}}|t |qS r
   r'   r)   r
   r
   r   r-      r.   z:TrafficEmulatorTests.test_parse_ngrams.<locals>.<dictcomp>c                 S   s   i | ]\}}|t |qS r
   r'   r)   r
   r
   r   r-      r.   r   c                 S   s   i | ]\}}|t |qS r
   r'   r)   r
   r
   r   r-      r.   c                 S   s   i | ]\}}|t |qS r
   r'   r)   r
   r
   r   r-      r.   )r/   r0   r   r1   r2   r   r3   r4   r5   r6   r7   r8   r   r9   r   r:   r;   )r	   r<   r=   r>   r?   r@   rA   rB   r5   rC   rD   r
   r
   r   test_parse_ngramse   sP    


z&TrafficEmulatorTests.test_parse_ngramsN)__name__
__module____qualname__r   r   rE   rF   r
   r
   r
   r   r      s   Ar   )
Zsamba.compatr   Zsamba.testsZsambaZsamba.emulater   r0   ZtestsZTestCaser   r
   r
   r
   r   <module>   s   