1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-07-01 16:48:32 +00:00

Add tests, fix some bugs uncovered by the tests

This commit is contained in:
Kane York 2015-10-25 20:17:17 -07:00
parent 8a24ac37ab
commit 0c9e7bb97d
7 changed files with 261 additions and 30 deletions

View file

@ -23,7 +23,7 @@ func HandleCommand(conn *websocket.Conn, client *ClientInfo, msg ClientMessage)
return
}
log.Println(conn.RemoteAddr(), msg.MessageID, msg.Command, msg.Arguments)
// log.Println(conn.RemoteAddr(), msg.MessageID, msg.Command, msg.Arguments)
response, err := CallHandler(handler, conn, client, msg)
@ -76,6 +76,10 @@ func HandleSetUser(conn *websocket.Conn, client *ClientInfo, msg ClientMessage)
func HandleSub(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rmsg ClientMessage, err error) {
channel, err := msg.ArgumentsAsString()
if err != nil {
return
}
client.Mutex.Lock()
AddToSliceS(&client.CurrentChannels, channel)
@ -91,7 +95,7 @@ func HandleSub(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rms
client.Mutex.Unlock()
// note - pub/sub updating happens in GetSubscriptionBacklog
SubscribeChat(client, channel)
return ResponseSuccess, nil
}
@ -99,6 +103,10 @@ func HandleSub(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rms
func HandleUnsub(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rmsg ClientMessage, err error) {
channel, err := msg.ArgumentsAsString()
if err != nil {
return
}
client.Mutex.Lock()
RemoveFromSliceS(&client.CurrentChannels, channel)
client.Mutex.Unlock()
@ -111,6 +119,10 @@ func HandleUnsub(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (r
func HandleSubChannel(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rmsg ClientMessage, err error) {
channel, err := msg.ArgumentsAsString()
if err != nil {
return
}
client.Mutex.Lock()
AddToSliceS(&client.WatchingChannels, channel)
@ -126,7 +138,7 @@ func HandleSubChannel(conn *websocket.Conn, client *ClientInfo, msg ClientMessag
client.Mutex.Unlock()
// note - pub/sub updating happens in GetSubscriptionBacklog
SubscribeWatching(client, channel)
return ResponseSuccess, nil
}
@ -134,6 +146,10 @@ func HandleSubChannel(conn *websocket.Conn, client *ClientInfo, msg ClientMessag
func HandleUnsubChannel(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (rmsg ClientMessage, err error) {
channel, err := msg.ArgumentsAsString()
if err != nil {
return
}
client.Mutex.Lock()
RemoveFromSliceS(&client.WatchingChannels, channel)
client.Mutex.Unlock()
@ -166,8 +182,9 @@ func GetSubscriptionBacklog(conn *websocket.Conn, client *ClientInfo) {
return
}
SubscribeBatch(client, chatSubs, channelSubs)
if backendUrl == "" {
return // for testing runs
}
messages, err := FetchBacklogData(chatSubs, channelSubs)
if err != nil {