package aetest

import (
	"hash/crc32"
	"net/http"
	"strconv"

	"google.golang.org/appengine/user"
)

// Login causes the provided Request to act as though issued by the given user.
func Login(u *user.User, req *http.Request) {
	req.Header.Set("X-AppEngine-User-Email", u.Email)
	id := u.ID
	if id == "" {
		id = strconv.Itoa(int(crc32.Checksum([]byte(u.Email), crc32.IEEETable)))
	}
	req.Header.Set("X-AppEngine-User-Id", id)
	req.Header.Set("X-AppEngine-Federated-Identity", u.FederatedIdentity)
	req.Header.Set("X-AppEngine-Federated-Provider", u.FederatedProvider)
	// NOTE: the following two headers are wrong, but are preserved to not break legacy tests.
	req.Header.Set("X-AppEngine-User-Federated-Identity", u.Email)
	req.Header.Set("X-AppEngine-User-Federated-Provider", u.FederatedProvider)
	if u.Admin {
		req.Header.Set("X-AppEngine-User-Is-Admin", "1")
	} else {
		req.Header.Set("X-AppEngine-User-Is-Admin", "0")
	}
}

// Logout causes the provided Request to act as though issued by a logged-out
// user.
func Logout(req *http.Request) {
	req.Header.Del("X-AppEngine-User-Email")
	req.Header.Del("X-AppEngine-User-Id")
	req.Header.Del("X-AppEngine-User-Is-Admin")
	req.Header.Del("X-AppEngine-Federated-Identity")
	req.Header.Del("X-AppEngine-Federated-Provider")
	// NOTE: the following two headers are wrong, but are preserved to not break legacy tests.
	req.Header.Del("X-AppEngine-User-Federated-Identity")
	req.Header.Del("X-AppEngine-User-Federated-Provider")
}
