@@ -526,3 +526,316 @@ Feature: List and create spaces
526
526
| Space Admin |
527
527
| User |
528
528
| 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