func init() { importer.Register("picasa", imp{ newExtendedOAuth2( baseOAuthConfig, func(ctx *context.Context) (*userInfo, error) { u, err := picago.GetUser(ctx.HTTPClient(), "default") if err != nil { return nil, err } firstName, lastName := u.Name, "" i := strings.LastIndex(u.Name, " ") if i >= 0 { firstName, lastName = u.Name[:i], u.Name[i+1:] } return &userInfo{ ID: u.ID, FirstName: firstName, LastName: lastName, }, nil }), }) }
func TestGetUserId(t *testing.T) { userID := "11047045264" responder := httputil.FileResponder("testdata/users-me-res.xml") cl := &http.Client{ Transport: httputil.NewFakeTransport(map[string]func() *http.Response{ "https://picasaweb.google.com/data/feed/api/user/default/contacts?kind=user": responder, "https://picasaweb.google.com/data/feed/api/user/" + userID + "/contacts?kind=user": responder, })} inf, err := picago.GetUser(cl, "default") if err != nil { t.Fatal(err) } want := picago.User{ ID: userID, URI: "https://picasaweb.google.com/" + userID, Name: "Tamás Gulácsi", Thumbnail: "https://lh4.googleusercontent.com/-qqove344/AAAAAAAAAAI/AAAAAAABcbg/TXl3f2K9dzI/s64-c/11047045264.jpg", } if inf != want { t.Errorf("user info = %+v; want %+v", inf, want) } }