1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-08-03 16:38:31 +00:00

More test infrastructure

This commit is contained in:
Kane York 2015-10-26 11:25:17 -07:00
parent 0be3693c99
commit 812c6f2557

View file

@ -53,6 +53,21 @@ func TSendMessage(tb testing.TB, conn *websocket.Conn, messageId int, command Co
return err == nil
}
type TURLs struct {
Websocket string
Origin string
PubMsg string
}
func TGetUrls(testserver httptest.Server) TURLs {
addr := testserver.Listener.Addr().String()
return TURLs{
Websocket: fmt.Sprintf("ws://%s/", addr),
Origin: fmt.Sprintf("http://%s"),
PubMsg: fmt.Sprintf("http://%s/pub_msg"),
}
}
func TestSubscriptionAndPublish(t *testing.T) {
var doneWg sync.WaitGroup
var readyWg sync.WaitGroup
@ -74,11 +89,9 @@ func TestSubscriptionAndPublish(t *testing.T) {
server := httptest.NewUnstartedServer(serveMux)
server.Start()
wsUrl := fmt.Sprintf("ws://%s/", server.Listener.Addr().String())
originUrl := fmt.Sprintf("http://%s", server.Listener.Addr().String())
publishUrl := fmt.Sprintf("http://%s/pub_msg", server.Listener.Addr().String())
urls := TGetUrls(server)
conn, err := websocket.Dial(wsUrl, "", originUrl)
conn, err := websocket.Dial(urls.Websocket, "", urls.Origin)
if err != nil {
t.Error(err)
return
@ -116,7 +129,7 @@ func TestSubscriptionAndPublish(t *testing.T) {
panic("halting test")
}
resp, err := http.PostForm(publishUrl, sealedForm)
resp, err := http.PostForm(urls.PubMsg, sealedForm)
if err != nil {
t.Error(err)
server.CloseClientConnections()
@ -158,8 +171,7 @@ func BenchmarkThousandUserSubscription(b *testing.B) {
server := httptest.NewUnstartedServer(serveMux)
server.Start()
wsUrl := fmt.Sprintf("ws://%s/", server.Listener.Addr().String())
originUrl := fmt.Sprintf("http://%s", server.Listener.Addr().String())
urls := TGetUrls(server)
message := ClientMessage{MessageID: -1, Command: "testdata", Arguments: TestData}
@ -180,7 +192,7 @@ func BenchmarkThousandUserSubscription(b *testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
conn, err := websocket.Dial(wsUrl, "", originUrl)
conn, err := websocket.Dial(urls.Websocket, "", urls.Origin)
if err != nil {
b.Error(err)
break