43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package ak
 | |
| 
 | |
| import (
 | |
| 	"net/url"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/stretchr/testify/assert"
 | |
| )
 | |
| 
 | |
| func URLMustParse(u string) *url.URL {
 | |
| 	ur, err := url.Parse(u)
 | |
| 	if err != nil {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	return ur
 | |
| }
 | |
| 
 | |
| func TestWebsocketURL(t *testing.T) {
 | |
| 	u := URLMustParse("http://localhost:9000?foo=bar")
 | |
| 	uuid := "23470845-7263-4fe3-bd79-ec1d7bf77d77"
 | |
| 	ac := &APIController{}
 | |
| 	nu := ac.getWebsocketURL(*u, uuid, url.Values{})
 | |
| 	assert.Equal(t, "ws://localhost:9000/ws/outpost/23470845-7263-4fe3-bd79-ec1d7bf77d77/?foo=bar", nu.String())
 | |
| }
 | |
| 
 | |
| func TestWebsocketURL_Query(t *testing.T) {
 | |
| 	u := URLMustParse("http://localhost:9000?foo=bar")
 | |
| 	uuid := "23470845-7263-4fe3-bd79-ec1d7bf77d77"
 | |
| 	ac := &APIController{}
 | |
| 	v := url.Values{}
 | |
| 	v.Set("bar", "baz")
 | |
| 	nu := ac.getWebsocketURL(*u, uuid, v)
 | |
| 	assert.Equal(t, "ws://localhost:9000/ws/outpost/23470845-7263-4fe3-bd79-ec1d7bf77d77/?bar=baz&foo=bar", nu.String())
 | |
| }
 | |
| 
 | |
| func TestWebsocketURL_Subpath(t *testing.T) {
 | |
| 	u := URLMustParse("http://localhost:9000/foo/bar/")
 | |
| 	uuid := "23470845-7263-4fe3-bd79-ec1d7bf77d77"
 | |
| 	ac := &APIController{}
 | |
| 	nu := ac.getWebsocketURL(*u, uuid, url.Values{})
 | |
| 	assert.Equal(t, "ws://localhost:9000/foo/bar/ws/outpost/23470845-7263-4fe3-bd79-ec1d7bf77d77/", nu.String())
 | |
| }
 | 
