@@ -783,49 +783,40 @@ func TestUnshareGroupFromGroup(t *testing.T) {
783
783
}
784
784
}
785
785
786
- func TestCreateGroupWithIPRestrictionRanges (t * testing.T ) {
786
+ func TestUpdateGroupWithIPRestrictionRanges (t * testing.T ) {
787
787
mux , client := setup (t )
788
+ const ipRange = "192.168.0.0/24"
788
789
789
- mux .HandleFunc ("/api/v4/groups" ,
790
+ mux .HandleFunc ("/api/v4/groups/1 " ,
790
791
func (w http.ResponseWriter , r * http.Request ) {
791
- testMethod (t , r , http .MethodPost )
792
- fmt .Fprint (w , `{"id": 1, "name": "g", "path": "g", "ip_restriction_ranges" : "192.168.0.0/24"}` )
793
- })
794
-
795
- opt := & CreateGroupOptions {
796
- Name : Ptr ("g" ),
797
- Path : Ptr ("g" ),
798
- IPRestrictionRanges : Ptr ("192.168.0.0/24" ),
799
- }
792
+ testMethod (t , r , http .MethodPut )
800
793
801
- group , _ , err := client . Groups . CreateGroup ( opt , nil )
802
- if err != nil {
803
- t . Errorf ( "Groups.CreateGroup returned error : %v" , err )
804
- }
794
+ body , err := io . ReadAll ( r . Body )
795
+ if err != nil {
796
+ t . Fatalf ( "Failed to read the request body. Error : %v" , err )
797
+ }
805
798
806
- want := & Group { ID : 1 , Name : "g" , Path : "g" , IPRestrictionRanges : "192.168.0.0/24" }
807
- if ! reflect . DeepEqual ( want , group ) {
808
- t . Errorf ( "Groups.CreateGroup returned %+v, want %+v" , group , want )
809
- }
810
- }
799
+ var bodyJson map [ string ] interface { }
800
+ err = json . Unmarshal ( body , & bodyJson )
801
+ if err != nil {
802
+ t . Fatalf ( "Failed to parse the request body into JSON. Error: %v" , err )
803
+ }
811
804
812
- func TestUpdateGroupWithIPRestrictionRanges (t * testing.T ) {
813
- mux , client := setup (t )
805
+ if bodyJson ["ip_restriction_ranges" ] != ipRange {
806
+ t .Fatalf ("Test failed. `ip_restriction_ranges` expected to be '%v', got %v" , ipRange , bodyJson ["ip_restriction_ranges" ])
807
+ }
814
808
815
- mux .HandleFunc ("/api/v4/groups/1" ,
816
- func (w http.ResponseWriter , r * http.Request ) {
817
- testMethod (t , r , http .MethodPut )
818
- fmt .Fprint (w , `{"id": 1, "ip_restriction_ranges" : "192.168.0.0/24"}` )
809
+ fmt .Fprintf (w , `{"id": 1, "ip_restriction_ranges" : "%v"}` , ipRange )
819
810
})
820
811
821
812
group , _ , err := client .Groups .UpdateGroup (1 , & UpdateGroupOptions {
822
- IPRestrictionRanges : Ptr ("192.168.0.0/24" ),
813
+ IPRestrictionRanges : Ptr (ipRange ),
823
814
})
824
815
if err != nil {
825
816
t .Errorf ("Groups.UpdateGroup returned error: %v" , err )
826
817
}
827
818
828
- want := & Group {ID : 1 , IPRestrictionRanges : "192.168.0.0/24" }
819
+ want := & Group {ID : 1 , IPRestrictionRanges : ipRange }
829
820
if ! reflect .DeepEqual (want , group ) {
830
821
t .Errorf ("Groups.UpdatedGroup returned %+v, want %+v" , group , want )
831
822
}
@@ -1124,3 +1115,42 @@ func TestEditGroupPushRules(t *testing.T) {
1124
1115
t .Errorf ("Groups.EditGroupPushRule returned %+v, want %+v" , rule , want )
1125
1116
}
1126
1117
}
1118
+
1119
+ func TestUpdateGroupWithAllowedEmailDomainsList (t * testing.T ) {
1120
+ mux , client := setup (t )
1121
+ const domain = "example.com"
1122
+
1123
+ mux .HandleFunc ("/api/v4/groups/1" ,
1124
+ func (w http.ResponseWriter , r * http.Request ) {
1125
+ testMethod (t , r , http .MethodPut )
1126
+
1127
+ body , err := io .ReadAll (r .Body )
1128
+ if err != nil {
1129
+ t .Fatalf ("Failed to read the request body. Error: %v" , err )
1130
+ }
1131
+
1132
+ var bodyJson map [string ]interface {}
1133
+ err = json .Unmarshal (body , & bodyJson )
1134
+ if err != nil {
1135
+ t .Fatalf ("Failed to parse the request body into JSON. Error: %v" , err )
1136
+ }
1137
+
1138
+ if bodyJson ["allowed_email_domains_list" ] != domain {
1139
+ t .Fatalf ("Test failed. `allowed_email_domains_list` expected to be '%v', got %v" , domain , bodyJson ["allowed_email_domains_list" ])
1140
+ }
1141
+
1142
+ fmt .Fprintf (w , `{"id": 1, "allowed_email_domains_list" : "%v"}` , domain )
1143
+ })
1144
+
1145
+ group , _ , err := client .Groups .UpdateGroup (1 , & UpdateGroupOptions {
1146
+ AllowedEmailDomainsList : Ptr (domain ),
1147
+ })
1148
+ if err != nil {
1149
+ t .Errorf ("Groups.UpdateGroup returned error: %v" , err )
1150
+ }
1151
+
1152
+ want := & Group {ID : 1 , AllowedEmailDomainsList : domain }
1153
+ if ! reflect .DeepEqual (want , group ) {
1154
+ t .Errorf ("Groups.UpdatedGroup returned %+v, want %+v" , group , want )
1155
+ }
1156
+ }
0 commit comments