Vendor dependencies for GCS
This commit is contained in:
parent
ba75a3884c
commit
8ca6a9a240
1228 changed files with 1769186 additions and 1 deletions
99
vendor/google.golang.org/appengine/user/user_test.go
generated
vendored
Normal file
99
vendor/google.golang.org/appengine/user/user_test.go
generated
vendored
Normal file
|
@ -0,0 +1,99 @@
|
|||
// Copyright 2011 Google Inc. All rights reserved.
|
||||
// Use of this source code is governed by the Apache 2.0
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// +build !appengine
|
||||
|
||||
package user
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"github.com/golang/protobuf/proto"
|
||||
|
||||
"google.golang.org/appengine/internal"
|
||||
"google.golang.org/appengine/internal/aetesting"
|
||||
pb "google.golang.org/appengine/internal/user"
|
||||
)
|
||||
|
||||
func baseReq() *http.Request {
|
||||
return &http.Request{
|
||||
Header: http.Header{},
|
||||
}
|
||||
}
|
||||
|
||||
type basicUserTest struct {
|
||||
nickname, email, authDomain, admin string
|
||||
// expectations
|
||||
isNil, isAdmin bool
|
||||
displayName string
|
||||
}
|
||||
|
||||
var basicUserTests = []basicUserTest{
|
||||
{"", "", "", "0", true, false, ""},
|
||||
{"ken", "ken@example.com", "example.com", "0", false, false, "ken"},
|
||||
{"ken", "ken@example.com", "auth_domain.com", "1", false, true, "ken@example.com"},
|
||||
}
|
||||
|
||||
func TestBasicUserAPI(t *testing.T) {
|
||||
for i, tc := range basicUserTests {
|
||||
req := baseReq()
|
||||
req.Header.Set("X-AppEngine-User-Nickname", tc.nickname)
|
||||
req.Header.Set("X-AppEngine-User-Email", tc.email)
|
||||
req.Header.Set("X-AppEngine-Auth-Domain", tc.authDomain)
|
||||
req.Header.Set("X-AppEngine-User-Is-Admin", tc.admin)
|
||||
|
||||
c := internal.ContextForTesting(req)
|
||||
|
||||
if ga := IsAdmin(c); ga != tc.isAdmin {
|
||||
t.Errorf("test %d: expected IsAdmin(c) = %v, got %v", i, tc.isAdmin, ga)
|
||||
}
|
||||
|
||||
u := Current(c)
|
||||
if tc.isNil {
|
||||
if u != nil {
|
||||
t.Errorf("test %d: expected u == nil, got %+v", i, u)
|
||||
}
|
||||
continue
|
||||
}
|
||||
if u == nil {
|
||||
t.Errorf("test %d: expected u != nil, got nil", i)
|
||||
continue
|
||||
}
|
||||
if u.Email != tc.email {
|
||||
t.Errorf("test %d: expected u.Email = %q, got %q", i, tc.email, u.Email)
|
||||
}
|
||||
if gs := u.String(); gs != tc.displayName {
|
||||
t.Errorf("test %d: expected u.String() = %q, got %q", i, tc.displayName, gs)
|
||||
}
|
||||
if u.Admin != tc.isAdmin {
|
||||
t.Errorf("test %d: expected u.Admin = %v, got %v", i, tc.isAdmin, u.Admin)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoginURL(t *testing.T) {
|
||||
expectedQuery := &pb.CreateLoginURLRequest{
|
||||
DestinationUrl: proto.String("/destination"),
|
||||
}
|
||||
const expectedDest = "/redir/dest"
|
||||
c := aetesting.FakeSingleContext(t, "user", "CreateLoginURL", func(req *pb.CreateLoginURLRequest, res *pb.CreateLoginURLResponse) error {
|
||||
if !proto.Equal(req, expectedQuery) {
|
||||
return fmt.Errorf("got %v, want %v", req, expectedQuery)
|
||||
}
|
||||
res.LoginUrl = proto.String(expectedDest)
|
||||
return nil
|
||||
})
|
||||
|
||||
url, err := LoginURL(c, "/destination")
|
||||
if err != nil {
|
||||
t.Fatalf("LoginURL failed: %v", err)
|
||||
}
|
||||
if url != expectedDest {
|
||||
t.Errorf("got %v, want %v", url, expectedDest)
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(dsymonds): Add test for LogoutURL.
|
Loading…
Add table
Add a link
Reference in a new issue