// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by the Apache 2.0
// license that can be found in the LICENSE file.

package main

import (
	"net/http/httptest"
	"testing"
)

func TestTipRedirects(t *testing.T) {
	mux := newServeMux(&Proxy{builder: &golangorgBuilder{}}, serveOptions{RedirectToHTTPS: true})
	req := httptest.NewRequest("GET", "http://example.com/foo?bar=baz", nil)
	req.Header.Set("X-Forwarded-Proto", "http")
	w := httptest.NewRecorder()
	mux.ServeHTTP(w, req)
	if w.Code != 302 {
		t.Errorf("expected Code to be 302, got %d", w.Code)
	}
	want := "https://example.com/foo?bar=baz"
	if loc := w.Header().Get("Location"); loc != want {
		t.Errorf("Location header: got %s, want %s", loc, want)
	}
}
