a Æ*Naºã@s€ddlZddlZdd„Zejjdddd„ƒZdd „Zd d „Zd d „Zdd„Z dd„Z ejjdd„ƒZ ejjdddd„ƒZ dS)éNcCs|j dddddœ¡}|j dddddœ¡}|j ddd œ¡}|j d d d œ¡}|jjd d d j}|j d d |dœ¡}|j ddd œ¡}t|j ¡ƒdks J‚t|jjdd ƒdksºJ‚|j|ksÈJ‚|j ¡d j|jksâJ‚|j ¡d j|jksüJ‚|jj|j|jgd}||vs J‚||vs.J‚|j  t j j |jdœ¡|j  t j j |jdœ¡|j  t j j |jdœ¡| |jt j j¡| |jt j j¡|j |j¡}t|jƒdks¼J‚| |j¡|j |j¡}t|jƒdksêJ‚|j ¡} t| ƒdksJ‚|j ¡} t| ƒdks"J‚| d } | jdks:J‚| jt j j ksNJ‚|jjdd} t| ƒd ksnJ‚|jjdd} t| ƒdksŽJ‚t t j¡}|jjdd} Wdƒn1sÀ0Ydt|jƒvsÞJ‚t t j¡ }|jj|jdWdƒn1s0Ydt|jƒvs0J‚t|j  ¡ƒdksHJ‚t|j  ¡ƒdks`J‚|j  |j¡t|j  ¡ƒdks†J‚t|j  ¡ƒsšJ‚t|j ¡ƒs®J‚|j  |j¡}t j j |_|  ¡|j  |j¡}|jt j j ksðJ‚|j  |j!j¡dS)Nz user@test.comÚuserÚ user_pass)ÚemailÚusernameÚnameÚpasswordzuser2@test.comÚuser2Z user2_passÚgroup1)rÚpathÚgroup2©ÚsearchrÚgroup3©rr Ú parent_idÚgroup4éZoup1é)Z skip_groups)Ú access_levelZuser_idéZ NamespaceZProject)ÚtypeZInvalidz type does not have a valid value)Zsudoz 403 Forbiddené)"ZusersÚcreateÚgroupsÚlistÚidÚlenrZ subgroupsZdescendant_groupsÚmembersÚgitlabÚconstZ OWNER_ACCESSZ GUEST_ACCESSÚshareZDEVELOPER_ACCESSZMAINTAINER_ACCESSÚgetZshared_with_groupsZunshareZ membershipsZ source_typerÚpytestZraisesZGitlabListErrorÚstrÚvaluerÚdeleteÚallZ members_allÚsaver)Úglrrr r Zp_idrrZfiltered_groupsZ memberships1Z memberships2Z membershipZproject_membershipsZgroup_membershipsÚeÚmember©r+ú{/private/var/folders/js/6pj4vh5d4zd0k6bxv74qrbhr0000gr/T/pip-target-22xwyzbs/lib/python/tests/functional/api/test_groups.pyÚ test_groupssüÿüÿÿÿÿ   .0 r-zCommented out in legacy test)ÚreasoncCsŽ|j ddddœ¡|j d¡}|jdks.J‚d|_| ¡|j d¡}|jdksVJ‚t|j ¡ƒdkslJ‚| ¡t|j ¡ƒdksŠJ‚dS)NZfooÚbarz#112233)rÚ descriptionÚcolorZbazrr)Úlabelsrr!r0r'rrr%)ÚgroupÚlabelr+r+r,Útest_group_labelsgs  r5cCs4|j ¡}d|_| ¡|j ¡}|jdks0J‚dS)NÚdisabled)Znotificationsettingsr!Úlevelr')r3Úsettingsr+r+r,Ú test_group_notification_settingsws   r9cCs|d}d}|j ||dœ¡}t|j ¡ƒdks0J‚d|_| ¡|j |j¡}|jdksZJ‚| ¡t|j ¡ƒdksxJ‚dS)Nzhttp://example.comzhttp://example/img.svg)Zlink_urlÚ image_urlrzhttp://another.example.comr) Zbadgesrrrr:r'r!rr%)r3Z badge_imageZ badge_linkZbadger+r+r,Útest_group_badges€sr;cCsŠ|j ddi¡}t|j ¡ƒdks&J‚d|_| ¡d|_| ¡|j |j¡}|j dks^J‚t|  ¡ƒdksrJ‚t|  ¡ƒdks†J‚dS)NÚtitleZgroupmilestone1rz2020-01-01T00:00:00ZÚcloseÚclosedr) Z milestonesrrrZdue_dater'Z state_eventr!rÚstateZissuesZmerge_requests)r3Z milestoner+r+r,Útest_group_milestonessr@cCsØ|j ¡}t|ƒdksJ‚|j dd¡}t|jjddidƒdksFJ‚|jdksTJ‚|jdksbJ‚t|j ¡ƒdksxJ‚|j dd¡}|j d¡}|jdks J‚t|j ¡ƒdks¶J‚| ¡t|j ¡ƒdksÔJ‚dS)NrÚkeyZvalue1)Zcustom_attributesrZvalue2) ZcustomattributesrrÚsetrrAr$r!r%)r(r3ÚattrsÚattrr+r+r,Útest_group_custom_attributesŸs  rEcCsÄ|jjddd}|jjddd}|j dd|jdœ¡}|j dd|jdœ¡}|j d|jd œ¡}|j d |jd œ¡}|j|jksˆJ‚|j|jks˜J‚|jd |jks¬J‚|jd |jksÀJ‚dS) Nr r rr Z subgroup1rZ subgroup2Ú gr1_project)rZ namespace_idÚ gr2_projectrr)rrrrZprojectsrÚ namespace)r(rr r rrrFrGr+r+r,Útest_group_subgroups_projects²s ÿ ÿrIcCsxd}|j d|dœ¡}t|j ¡ƒdks,J‚|j |j¡}|j|ksHJ‚d|_| ¡| ¡t|j ¡ƒdkstJ‚dS)NzGroup Wiki page contentZ groupwikipage)r<Úcontentrz new contentr) Zwikisrrrr!ZslugrJr'r%)r3rJZwikir+r+r,Útest_group_wikiÇsrKz EE featurecCs\|j ddi¡}t|j ¡ƒdks&J‚d|_| ¡|j |j¡}|jdusPJ‚| ¡dS)NÚurlzhttp://hook.urlrT) ÚhooksrrrZ note_eventsr'r!rr%)r3Úhookr+r+r,Útest_group_hooksÖsrO) r"rr-ÚmarkÚskipr5r9r;r@rErIrKrOr+r+r+r,Úsa