a *Na@sddlZddlZddlZddlZdddddddd dd d d d ddddgdddgddddZdddddddd dZdddddddddd d!d"d d#d$d%d&d'd(ddd)d)d)d)d)dd*d+ gZejd,d-Zejd.d/Z ejd0d1Z ejd2d3Z ejd4d5Z ejd6d7Z ejd8d9Zejd:d;Zejd<d=d>Zejd<d?d@Zejd<dAdBZejd<dCdDZejd<dEdFZejd<dGdHZejd<dIdJZejd<dKdLZejd<dMdNZejd<dOdPZejd<dQdRZejd<dSdTZejd<dUdVZdS)WNTamd64ztest-1-20150125z 127.0.0.1Fz2016-01-25T16:39:48.066Zz test-runneronlinelinuxzGitLab Community Editionz%GitLab.org / GitLab Community Editionz gitlab-fosszgitlab-org/gitlab-foss)idnameZname_with_namespacepathZpath_with_namespaceZ5nj35rubyZmysqlzv13.0.0Z ref_protectedi)active architecture descriptionr ip_address is_sharedZ contacted_atrrstatusplatformprojectsrevisiontag_listversionZ access_levelZmaximum_timeout test-name)r r rrrrrrZrunningtestZmasterz99%z2017-11-16T08:50:29.000Zz2017-11-16T08:51:29.000Zz2017-11-16T08:53:29.000Zx John Doe2Zuser2r zPhttp://www.gravatar.com/avatar/c922747a93b40d1ea88262bf1aebee62?s=80&d=identiconzhttp://localhost/user2z2017-11-16T18:38:46.000Z)rrusernamestateZ avatar_urlZweb_url created_atZbiolocationZ public_emailZskypeZlinkedinZtwitterZ website_urlZ organization) rrrZstagerreftagZcoveragerZ started_atZ finished_atdurationuserccsHt,}|jtjdtddd|VWdn1s:0YdS)Nz&http://localhost/api/v4/runners/6/jobsapplication/jsonmethodurljson content_typer) responses RequestsMockaddGET runner_jobsrspsr1z/private/var/folders/js/6pj4vh5d4zd0k6bxv74qrbhr0000gr/T/pip-target-22xwyzbs/lib/python/tests/unit/objects/test_runners.pyresp_get_runners_jobsRs r3ccsPt4}|jtjtdtgddd|VWdn1sB0YdS)Nz1.*?(/runners(/all)?|/(groups|projects)/1/runners)r#r$r%)r*r+r,r-recompilerunner_shortinfor/r1r1r2resp_get_runners_list_s r7ccshtL}td}|jtj|tddd|jtj|tddd|VWdn1sZ0YdS)N .*?/runners/6r#r$r%)r*r+r4r5r,r- runner_detailPUTr0patternr1r1r2resp_runner_detaills"  r=ccsXt<}td}|jtj|dddddd|VWdn1sJ0YdS)Nz .*?/runners66337ff461c94fd3fa32ba3b1ff4125)rtokenr#r$r%r*r+r4r5r,POSTr;r1r1r2resp_runner_registers  rCccsRt6}td}|jtj|tddd|VWdn1sD0YdS)Nz.*?(projects|groups)/1/runnersr#r$r%)r*r+r4r5r,rBr6r;r1r1r2resp_runner_enables  rDccsdtH}td}|jtj|tddd|jtj|dd|VWdn1sV0YdS)Nr8r#r$r%r&r'r)r*r+r4r5r,r-r9DELETEr;r1r1r2resp_runner_deletes  rHccsNt2}td}|jtj|dd|VWdn1s@0YdS)Nz!.*?/(groups|projects)/1/runners/6rErF)r*r+r4r5r,rGr;r1r1r2resp_runner_disables  rIccsNt2}td}|jtj|dd|VWdn1s@0YdS)Nz.*?/runners/verifyr$rFrAr;r1r1r2resp_runner_verifys  rJ)glcCsT|j}|djdusJ|djdks.J|djdks@Jt|dksPJdSNrTrrr)runnerslistr rrlenrKr7rMr1r1r2test_owned_runners_lists  rQcCs`|jjdddj}|djdus(J|djdks:J|djdksLJt|dks\JdSNrTZlazyrrr)rgetrMrNr rrrOrPr1r1r2test_project_runners_lists rUcCs`|jjdddj}|djdus(J|djdks:J|djdksLJt|dks\JdSrR)groupsrTrMrNr rrrOrPr1r1r2test_group_runners_lists rWcCsT|j}|djdusJ|djdks.J|djdks@Jt|dksPJdSrL)rMallr rrrOrPr1r1r2test_all_runners_lists  rYcCs0|jddi}|jdksJ|jdks,JdS)Nr@r>r?)rMcreaterr@)rKrCrunnerr1r1r2test_create_runnersr\cCs2|jd}|jdusJ|jd|dS)NrTnew)rMrTr rappendsave)rKr=r[r1r1r2test_get_update_runners  r`cCs$|jd}||jddS)Nr)rMrTdelete)rKrHr[r1r1r2test_remove_runners rbcCs|jjdddjddSNrTrSr)rrTrMrarKrIr1r1r2test_disable_project_runnersrecCs|jjdddjddSrc)rVrTrMrardr1r1r2test_disable_group_runnersrfcCsJ|jjdddjddi}|jdus*J|jdks8J|jdksFJdSNrTrSZ runner_idrr)rrTrMrZr rrrKrDr[r1r1r2test_enable_project_runnersricCsJ|jjdddjddi}|jdus*J|jdks8J|jdksFJdSrg)rVrTrMrZr rrrhr1r1r2test_enable_group_runner srjcCs|jddS)Nr@)rMverify)rKrJr1r1r2test_verify_runnersrlcCsf|jjdddj}|djdks(J|djdks:J|djddksRJt|d ksbJdS) NrTrSrrrrrr)rMrTjobsrNr!rr"rO)rKr3rmr1r1r2test_runner_jobss rn)r4Zpytestr*Zgitlabr9r6r.Zfixturer3r7r=rCrDrHrIrJZGitlabrQrUrWrYr\r`rbrerfrirjrlrnr1r1r1r2s  #