@@ -1134,6 +1134,62 @@ func TestSetCustomUserClaims(t *testing.T) {
1134
1134
}
1135
1135
}
1136
1136
1137
+ func TestUserProvider (t * testing.T ) {
1138
+ cases := []struct {
1139
+ provider * UserProvider
1140
+ want map [string ]interface {}
1141
+ }{
1142
+ {
1143
+ provider : & UserProvider {UID : "test" , ProviderID : "google.com" },
1144
+ want : map [string ]interface {}{"rawId" : "test" , "providerId" : "google.com" },
1145
+ },
1146
+ {
1147
+ provider : & UserProvider {
1148
+ UID : "test" ,
1149
+ ProviderID : "google.com" ,
1150
+ DisplayName : "Test User" ,
1151
+ },
1152
+ want : map [string ]interface {}{
1153
+ "rawId" : "test" ,
1154
+ "providerId" : "google.com" ,
1155
+ "displayName" : "Test User" ,
1156
+ },
1157
+ },
1158
+ {
1159
+ provider : & UserProvider {
1160
+ UID : "test" ,
1161
+ ProviderID : "google.com" ,
1162
+ DisplayName : "Test User" ,
1163
+ Email : "test@example.com" ,
1164
+ PhotoURL : "https://test.com/user.png" ,
1165
+ },
1166
+ want : map [string ]interface {}{
1167
+ "rawId" : "test" ,
1168
+ "providerId" : "google.com" ,
1169
+ "displayName" : "Test User" ,
1170
+ "email" : "test@example.com" ,
1171
+ "photoUrl" : "https://test.com/user.png" ,
1172
+ },
1173
+ },
1174
+ }
1175
+
1176
+ for idx , tc := range cases {
1177
+ b , err := json .Marshal (tc .provider )
1178
+ if err != nil {
1179
+ t .Fatal (err )
1180
+ }
1181
+
1182
+ var got map [string ]interface {}
1183
+ if err := json .Unmarshal (b , & got ); err != nil {
1184
+ t .Fatal (err )
1185
+ }
1186
+
1187
+ if ! reflect .DeepEqual (got , tc .want ) {
1188
+ t .Errorf ("[%d] UserProvider = %#v; want = %#v" , idx , got , tc .want )
1189
+ }
1190
+ }
1191
+ }
1192
+
1137
1193
func TestUserToImport (t * testing.T ) {
1138
1194
cases := []struct {
1139
1195
user * UserToImport
0 commit comments