Skip to content

Commit 19e9c14

Browse files
committed
added test to list drives after share has been disabled
1 parent 4dd8d2e commit 19e9c14

File tree

1 file changed

+313
-0
lines changed

1 file changed

+313
-0
lines changed

tests/acceptance/features/apiSpaces/listSpaces.feature

Lines changed: 313 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -526,3 +526,316 @@ Feature: List and create spaces
526526
| Space Admin |
527527
| User |
528528
| User Light |
529+
530+
@env-config
531+
Scenario Outline: sharee lists drives after the share role Secure Viewer has been disabled (Personal Space)
532+
Given user "Brian" has been created with default attributes
533+
And the administrator has enabled the permissions role "Secure Viewer"
534+
And user "Alice" has uploaded file with content "some content" to "textfile.txt"
535+
And user "Alice" has created folder "folderToShare"
536+
And user "Alice" has sent the following resource share invitation:
537+
| resource | <resource> |
538+
| space | Personal |
539+
| sharee | Brian |
540+
| shareType | user |
541+
| permissionsRole | Secure Viewer |
542+
And user "Brian" has a share "<resource>" synced
543+
And the administrator has disabled the permissions role "Secure Viewer"
544+
When user "Brian" lists all available spaces via the Graph API
545+
Then the HTTP status code should be "200"
546+
And the JSON response should contain space called "Shares" owned by "Brian" and match
547+
"""
548+
{
549+
"type": "object",
550+
"required": [
551+
"driveAlias",
552+
"driveType",
553+
"id",
554+
"name",
555+
"root",
556+
"webUrl"
557+
],
558+
"properties": {
559+
"driveAlias": {
560+
"const": "virtual/shares"
561+
},
562+
"driveType": {
563+
"const": "virtual"
564+
},
565+
"id": {
566+
"const": "%space_id%"
567+
},
568+
"name": {
569+
"const": "Shares"
570+
},
571+
"root": {
572+
"type": "object",
573+
"required": ["eTag", "webDavUrl"],
574+
"properties": {
575+
"eTag": {
576+
"pattern": "%etag_pattern%"
577+
},
578+
"webDavUrl": {
579+
"const": "%base_url%/dav/spaces/%space_id%"
580+
}
581+
}
582+
},
583+
"webUrl": {
584+
"const": "%base_url%/f/%space_id%"
585+
}
586+
}
587+
}
588+
"""
589+
Examples:
590+
| resource |
591+
| textfile.txt |
592+
| folderToShare |
593+
594+
@env-config
595+
Scenario: sharee lists drives after the share role Denied has been disabled (Personal Space)
596+
Given user "Brian" has been created with default attributes
597+
And the administrator has enabled the permissions role "Denied"
598+
And user "Alice" has created folder "folderToShare"
599+
And user "Alice" has sent the following resource share invitation:
600+
| resource | folderToShare |
601+
| space | Personal |
602+
| sharee | Brian |
603+
| shareType | user |
604+
| permissionsRole | Denied |
605+
And the administrator has disabled the permissions role "Denied"
606+
When user "Brian" lists all available spaces via the Graph API
607+
Then the HTTP status code should be "200"
608+
And the JSON response should contain space called "Shares" owned by "Brian" and match
609+
"""
610+
{
611+
"type": "object",
612+
"required": [
613+
"driveAlias",
614+
"driveType",
615+
"id",
616+
"name",
617+
"root",
618+
"webUrl"
619+
],
620+
"properties": {
621+
"driveAlias": {
622+
"const": "virtual/shares"
623+
},
624+
"driveType": {
625+
"const": "virtual"
626+
},
627+
"id": {
628+
"const": "%space_id%"
629+
},
630+
"name": {
631+
"const": "Shares"
632+
},
633+
"root": {
634+
"type": "object",
635+
"required": ["eTag", "webDavUrl"],
636+
"properties": {
637+
"eTag": {
638+
"const": "%space_etag%"
639+
},
640+
"webDavUrl": {
641+
"const": "%base_url%/dav/spaces/%space_id%"
642+
}
643+
}
644+
},
645+
"webUrl": {
646+
"const": "%base_url%/f/%space_id%"
647+
}
648+
}
649+
}
650+
"""
651+
652+
@env-config
653+
Scenario Outline: sharee lists drives after the share role Secure Viewer has been disabled (Project Space)
654+
Given user "Brian" has been created with default attributes
655+
And the administrator has enabled the permissions role "Secure Viewer"
656+
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
657+
And user "Alice" has created a space "new-space" with the default quota using the Graph API
658+
And user "Alice" has uploaded a file inside space "new-space" with content "some content" to "textfile.txt"
659+
And user "Alice" has created a folder "folderToShare" in space "new-space"
660+
And user "Alice" has sent the following resource share invitation:
661+
| resource | <resource> |
662+
| space | new-space |
663+
| sharee | Brian |
664+
| shareType | user |
665+
| permissionsRole | Secure Viewer |
666+
And user "Brian" has a share "<resource>" synced
667+
And the administrator has disabled the permissions role "Secure Viewer"
668+
When user "Brian" lists all available spaces via the Graph API
669+
Then the HTTP status code should be "200"
670+
And the JSON response should contain space called "Shares" owned by "Brian" and match
671+
"""
672+
{
673+
"type": "object",
674+
"required": [
675+
"driveAlias",
676+
"driveType",
677+
"id",
678+
"name",
679+
"root",
680+
"webUrl"
681+
],
682+
"properties": {
683+
"driveAlias": {
684+
"const": "virtual/shares"
685+
},
686+
"driveType": {
687+
"const": "virtual"
688+
},
689+
"id": {
690+
"const": "%space_id%"
691+
},
692+
"name": {
693+
"const": "Shares"
694+
},
695+
"root": {
696+
"type": "object",
697+
"required": ["eTag", "webDavUrl"],
698+
"properties": {
699+
"eTag": {
700+
"pattern": "%etag_pattern%"
701+
},
702+
"webDavUrl": {
703+
"const": "%base_url%/dav/spaces/%space_id%"
704+
}
705+
}
706+
},
707+
"webUrl": {
708+
"const": "%base_url%/f/%space_id%"
709+
}
710+
}
711+
}
712+
"""
713+
Examples:
714+
| resource |
715+
| textfile.txt |
716+
| folderToShare |
717+
718+
@env-config
719+
Scenario: sharee lists drives after the share role Denied has been disabled (Project Space)
720+
Given user "Brian" has been created with default attributes
721+
And the administrator has enabled the permissions role "Denied"
722+
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
723+
And user "Alice" has created a space "new-space" with the default quota using the Graph API
724+
And user "Alice" has created a folder "folderToShare" in space "new-space"
725+
And user "Alice" has sent the following resource share invitation:
726+
| resource | folderToShare |
727+
| space | new-space |
728+
| sharee | Brian |
729+
| shareType | user |
730+
| permissionsRole | Denied |
731+
And the administrator has disabled the permissions role "Denied"
732+
When user "Brian" lists all available spaces via the Graph API
733+
Then the HTTP status code should be "200"
734+
And the JSON response should contain space called "Shares" owned by "Brian" and match
735+
"""
736+
{
737+
"type": "object",
738+
"required": [
739+
"driveAlias",
740+
"driveType",
741+
"id",
742+
"name",
743+
"root",
744+
"webUrl"
745+
],
746+
"properties": {
747+
"driveAlias": {
748+
"const": "virtual/shares"
749+
},
750+
"driveType": {
751+
"const": "virtual"
752+
},
753+
"id": {
754+
"const": "%space_id%"
755+
},
756+
"name": {
757+
"const": "Shares"
758+
},
759+
"root": {
760+
"type": "object",
761+
"required": ["eTag", "webDavUrl"],
762+
"properties": {
763+
"eTag": {
764+
"const": "%space_etag%"
765+
},
766+
"webDavUrl": {
767+
"const": "%base_url%/dav/spaces/%space_id%"
768+
}
769+
}
770+
},
771+
"webUrl": {
772+
"const": "%base_url%/f/%space_id%"
773+
}
774+
}
775+
}
776+
"""
777+
778+
@env-config
779+
Scenario: sharee lists drives after the share role Space Editor Without Versions has been disabled
780+
Given user "Brian" has been created with default attributes
781+
And the administrator has enabled the permissions role "Space Editor Without Versions"
782+
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
783+
And user "Alice" has created a space "new-space" with the default quota using the Graph API
784+
And user "Alice" has sent the following space share invitation:
785+
| space | new-space |
786+
| sharee | Brian |
787+
| shareType | user |
788+
| permissionsRole | Space Editor Without Versions |
789+
And the administrator has disabled the permissions role "Space Editor Without Versions"
790+
When user "Brian" lists all available spaces via the Graph API
791+
Then the HTTP status code should be "200"
792+
And the JSON response should contain space called "new-space" and match
793+
"""
794+
{
795+
"type": "object",
796+
"required": [
797+
"driveType",
798+
"driveAlias",
799+
"name",
800+
"id",
801+
"quota",
802+
"root",
803+
"webUrl"
804+
],
805+
"properties": {
806+
"name": {
807+
"const": "new-space"
808+
},
809+
"driveType": {
810+
"const": "project"
811+
},
812+
"driveAlias": {
813+
"const": "project/new-space"
814+
},
815+
"id": {
816+
"const": "%space_id%"
817+
},
818+
"quota": {
819+
"type": "object",
820+
"required": ["state"],
821+
"properties": {
822+
"state": {
823+
"const": "normal"
824+
}
825+
}
826+
},
827+
"root": {
828+
"type": "object",
829+
"required": ["webDavUrl"],
830+
"properties": {
831+
"webDavUrl": {
832+
"const": "%base_url%/dav/spaces/%space_id%"
833+
}
834+
}
835+
},
836+
"webUrl": {
837+
"const": "%base_url%/f/%space_id%"
838+
}
839+
}
840+
}
841+
"""

0 commit comments

Comments
 (0)