@@ -1134,6 +1134,62 @@ func TestSetCustomUserClaims(t *testing.T) {
11341134 }
11351135}
11361136
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+
11371193func TestUserToImport (t * testing.T ) {
11381194 cases := []struct {
11391195 user * UserToImport
0 commit comments