Files
onramp/onion_test.go

53 lines
1000 B
Go
Raw Normal View History

2022-08-04 17:15:12 -04:00
//go:build !gen
// +build !gen
package onramp
import (
2022-08-05 12:20:52 -04:00
"crypto/tls"
2022-08-04 17:15:12 -04:00
"fmt"
"io/ioutil"
"log"
"net/http"
"testing"
)
func TestBareOnion(t *testing.T) {
fmt.Println("TestBareOnion Countdown")
Sleep(5)
onion := &Onion{}
defer onion.Close()
2022-08-05 12:20:52 -04:00
listener, err := onion.ListenTLS()
2022-08-04 17:15:12 -04:00
if err != nil {
t.Error(err)
}
log.Println("listener:", listener.Addr().String())
//defer listener.Close()
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, %q", r.URL.Path)
})
go Serve(listener)
Sleep(15)
transport := http.Transport{
Dial: onion.Dial,
2022-08-05 12:20:52 -04:00
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
},
2022-08-04 17:15:12 -04:00
}
client := &http.Client{
Transport: &transport,
}
2022-08-05 12:20:52 -04:00
resp, err := client.Get("https://" + listener.Addr().String() + "/")
2022-08-04 17:15:12 -04:00
if err != nil {
t.Error(err)
}
fmt.Println("Status:", resp.Status)
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
t.Error(err)
}
fmt.Println("Body:", string(body))
resp.Body.Close()
2022-08-05 12:20:52 -04:00
Sleep(5)
2022-08-04 17:15:12 -04:00
}