
    \e_                     t    d dl Z d dlZd dlmZ d dlZd dlmZ  G d dej                  ej                        Z
y)    N)base)secretutilsc                       e Zd Zd Zddeifddd ifgZd Zdj                  d      Z ej                  e      j                         Zd	 Zd
 Zd Zd Zy)SecretUtilsTestc                     t        j                  d| j                  d      t        j                        j                         S )Ns   fooutf-8)	digestmod)hmacnewencodehashlibsha1digesttexts    C/usr/lib/python3/dist-packages/oslo_utils/tests/test_secretutils.py<lambda>zSecretUtilsTest.<lambda>   s.    txxG0D29,, @@F     binary	converterunicodec                     | S )N r   s    r   r   zSecretUtilsTest.<lambda>   s    t r   c                    t         j                  }| j                   || j                  d      | j                  d                   | j                   || j                  d      | j                  d                   | j                   |dd             | j	                   || j                  d      | j                  d                   | j	                   || j                  d      | j                  d                   | j	                   || j                  d      | j                  d                   | j	                   || j                  d      | j                  d                   | j                   || j                  d      | j                  d                   | j	                   || j                  d      | j                  d                   | j	                   || j                  d      | j                  d                   | j	                   || j                  d      | j                  d	                   | j	                   |dd	             y )
Nabcd efghabczabc abcd1234ABCD234a1234abcd)r   _constant_time_compare
assertTruer   assertFalse)selfctcs     r   test_constant_time_comparez*SecretUtilsTest.test_constant_time_compare"   s    00DNN62 NN624 	5DNN2. NN2.0 	1FF+,T^^F3!^^F35 	6T^^E2!^^F35 	6T^^E2!^^I68 	9T^^B/!^^E24 	5DNN:6 NN:68 	9T^^J7!^^I68 	9T^^J7!^^C02 	3T^^J7!^^J79 	:Z45r   zOpenstack foreverr   c                    t        j                  | j                        j                         }| j	                  || j
                         t        j                  | j                  d      j                         }| j	                  || j
                         t        j                  | j                  d      j                         }| j	                  || j
                         y NTusedforsecurityF)r   md5
_test_datar   assertEqual_md5_digest)r&   r   s     r   test_md5_with_dataz"SecretUtilsTest.test_md5_with_dataD   s    188:!1!121577=vx 	!1!121688> 	!1!12r   c                 .   t        j                         }|j                  | j                         |j	                         }| j                  || j                         t        j                  d      }|j                  | j                         |j	                         }| j                  || j                         t        j                  d      }|j                  | j                         |j	                         }| j                  || j                         y r*   )r   r-   updater.   r   r/   r0   )r&   r-   r   s      r   test_md5_without_dataz%SecretUtilsTest.test_md5_without_dataP   s    oo

4??#!1!12ood3

4??#!1!12ooe4

4??#!1!12r   c                 4   | j                  t        t        j                  d       | j                  t        t        j                  d       | j                  t        t        j                  dd       | j                  t        t        j                  dd       y )NfooTr+   FassertRaises	TypeErrorr   r-   r   r&   s    r   "test_string_data_raises_type_errorz2SecretUtilsTest.test_string_data_raises_type_error`   sp    )W[[%8)[__e<{t 	 	E{u 	 	Fr   c                 4   | j                  t        t        j                  d        | j                  t        t        j                  d        | j                  t        t        j                  d d       | j                  t        t        j                  d d       y r*   r7   r:   s    r    test_none_data_raises_type_errorz0SecretUtilsTest.test_none_data_raises_type_errorh   sp    )W[[$7)[__d;{d 	 	D{e 	 	Er   N)__name__
__module____qualname___gen_digest	scenariosr(   r   r.   r   r-   r   r0   r1   r4   r;   r=   r   r   r   r   r      st    IK 
K-.	["345I
6> %++G4J'++j)002K
33 FEr   r   )r   r
   oslotestr   	test_basetestscenarios
oslo_utilsr   TestWithScenariosBaseTestCaser   r   r   r   <module>rI      s5      &  "VEm55,,VEr   