a *Na@sdZddlZddlZejddddZddZd d Zd d Zd dZddZ ddZ ddZ ddZ ddZ ddZddZddZdd ZdS)!z GitLab API: https://docs.gitlab.com/ee/api/users.html https://docs.gitlab.com/ee/api/users.html#delete-authentication-identity-from-user Nsession)ZscopecCs |ddS)NZfixturesz avatar.png)Ztest_dirrrz/private/var/folders/js/6pj4vh5d4zd0k6bxv74qrbhr0000gr/T/pip-target-22xwyzbs/lib/python/tests/functional/api/test_users.py avatar_path src Cs|jddddt|dd}|jjddd}|j|jks@J|j|jksPJ|jdd }t |j }|t|d ksJdS) Nz foo@bar.comZfooZ foo_passwordrb)emailusernamenamepasswordZavatar)rrz gitlab.testzlocalhost:8080) userscreateopenlistrr avatar_urlreplacerequestsgetcontentread)glruserZ created_userrZuploaded_avatarrrrtest_create_users  rcCsH||jjdd}||vs"J||jjdd}||vsDJdS)NT)ZblockedF)blockr rZunblock)rrr rrrtest_block_user#s  rcCsZ|jddddd}||dd}|dus8Jd|jd d |jDvsVJdS) Nzdelete-user@test.comz delete-userzdelete-user-passrrr r <)timeoutTz2sidekiq process should have terminated but did notcSsg|] }|jqSr)id).0rrrr ;z$test_delete_user..)r r deleterr)rZwait_for_sidekiqZnew_userresultrrrtest_delete_user-s  r#cCs$|j}t|tsJ|r JdSN)projectsr isinstance)rrr%rrrtest_user_projects_list>s r'cCs$|j}t|tsJ|r JdSr$)eventsrr&)rrr(rrrtest_user_events_listDs r)cCsd|_|dS)NzThis is the user bio)Zbiosave)rrrrr test_user_bioJsr+cCs|jd}|jd}|j||ddd}|jj|jddj|jksNJ||g}t|jj|jd}t|t|ks~Jt|jjdddksJdS) Nz.2Z_2zFoo BarZfoobar_passwordr)searchrZasdf)rrr r rrlen)rrZ second_emailZsecond_usernameZ second_userexpectedactualrrrtest_list_multiple_usersOs   r0cCsH|jd|i}t|jdks&J|t|jdksDJdS)Nkeyr)Zgpgkeysr r-rr!)rrZGPG_KEYZgkeyrrrtest_user_gpg_keyscsr3cCsJ|jd|d}t|jdks(J|t|jdksFJdS)NZtestkey)titler1r2r)keysr r-rr!)rrZSSH_KEYr1rrrtest_user_ssh_keysnsr6cCsH|jddi}t|jdks&J|t|jdksDJdS)Nrz foo2@bar.comr2r)Zemailsr r-rr!)rrrrrrtest_user_emailvsr7cCs|j}t|dksJ|jdd}t|jjddiddksFJ|jdksTJ|jdksbJt|jdksxJ|jdd}|jd}|jdksJt|jdksJ|t|jdksJdS)Nrr1Zvalue1)Zcustom_attributesr2Zvalue2) Zcustomattributesrr-setr r1valuerr!)rrattrsattrrrrtest_user_custom_attributes~s  r<cCs||jdddgd}|jjdd}t|dks4J||jjdd}t|dksZJ|jjd d}t|dksxJdS) NZtoken1apiZ read_user)r Zscopesactive)stater2rZinactive)Zimpersonationtokensr rr-r!)rrtokentokensrrrtest_user_impersonation_tokenss rBcCsfd}||_d|_||dd|jDvs0J|j||j|j}|dd|jDvsbJdS)NZ test_provider1cSsg|] }|dqSproviderrritemrrrrr z(test_user_identities..cSsg|] }|dqSrDrrFrrrrr ) rEZ extern_uidr*Z identitiesZidentityprovidersr!r rr)rrrErrrtest_user_identitiess rH)__doc__ZpytestrZfixturerrrr#r'r)r+r0r3r6r7r<rBrHrrrrs"