a *Na@s*dZddlZddlZddlZddlmZmZdZdZdZ dZ eedZ ddeee e d Z eee e d Z ed d Zed dZeddZeddZeddZeddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Z dS)/z} GitLab API: https://docs.gitlab.com/ee/api/project_badges.html GitLab API: https://docs.gitlab.com/ee/api/group_badges.html N) GroupBadge ProjectBadgezOhttp://example.com/ci_status.svg?project=example-org/example-project&ref=masterzhttps://example.io/my/badgelink_url image_urlCoverage)nameidrrrendered_link_urlrendered_image_url)rrr r ccsNt2}|jtjtdtddd|VWdn1s@0YdS)N4http://localhost/api/v4/(projects|groups)/1/badges/1application/jsonmethodurljson content_typestatus responses RequestsMockaddGETrecompile badge_contentrspsr y/private/var/folders/js/6pj4vh5d4zd0k6bxv74qrbhr0000gr/T/pip-target-22xwyzbs/lib/python/tests/unit/objects/test_badges.pyresp_get_badge,s r"ccsPt4}|jtjtdtgddd|VWdn1sB0YdSNz2http://localhost/api/v4/(projects|groups)/1/badgesrrrrrr r r!resp_list_badges9s r$ccsNt2}|jtjtdtddd|VWdn1s@0YdSr#)rrrPOSTrrrrr r r!resp_create_badgeFs r&ccs^tt}d|d<t2}|jtjtd|ddd|VWdn1sP0YdS)Nhttp://link_urlrr rrr)dictrrrrPUTrr)Zupdated_contentrr r r!resp_update_badgeSs r*ccsNt2}|jtjtd|ddd|VWdn1s@0YdS)Nr rr)rrrDELETErr) no_contentrr r r!resp_delete_badgecs r.ccsNt2}|jtjtdtddd|VWdn1s@0YdS)Nz9http://localhost/api/v4/(projects|groups)/1/badges/renderrrr)rrrrrrpreview_badge_contentrr r r!resp_preview_badgeps  r0cCs.|j}t|tsJt|dts*JdSNr)badgeslist isinstancer)projectr$r2r r r!test_list_project_badgess r6cCs.|j}t|tsJt|dts*JdSr1)r2r3r4r)groupr$r2r r r!test_list_group_badgess r8cCs:|jd}t|tsJ|jdks(J|jdks6JdSNrr)r2getr4rr r )r5r"badger r r!test_get_project_badges r<cCs:|jd}t|tsJ|jdks(J|jdks6JdSr9)r2r:r4rr r )r7r"r;r r r!test_get_group_badges r=cCs|jjddd}|dSNrTZlazyr2r:delete)r5r.r;r r r!test_delete_project_badgesrBcCs|jjddd}|dSr>r@)r7r.r;r r r!test_delete_group_badgesrCcCs,|jt}t|tsJ|jtks(JdSN)r2create new_badger4rr)r5r&r;r r r!test_create_project_badges rGcCs,|jt}t|tsJ|jtks(JdSrD)r2rErFr4rr)r7r&r;r r r!test_create_group_badges rHcCsb|jjttd}t|tsJd|vs*Jd|vs6J|d|dksJJ|d|dks^JdSNrr r rrr2renderrrr4r()r5r0outputr r r!test_preview_project_badges  rMcCsb|jjttd}t|tsJd|vs*Jd|vs6J|d|dksJJ|d|dks^JdSrIrJ)r7r0rLr r r!test_preview_group_badges  rNcCs0|jjddd}d|_||jdks,JdSNrTr?r'r2r:rsave)r5r*r;r r r!test_update_project_badgesrRcCs0|jjddd}d|_||jdks,JdSrOrP)r7r*r;r r r!test_update_group_badgesrS)!__doc__rZpytestrZgitlab.v4.objectsrrrrr r rFrr/Zfixturer"r$r&r*r.r0r6r8r<r=rBrCrGrHrMrNrRrSr r r r!sb