mirror of
https://github.com/strukturag/nextcloud-spreed-signaling
synced 2026-03-14 14:35:44 +01:00
Remove unused client method and increase test coverage.
This commit is contained in:
parent
20c0fe086b
commit
9cc07c8a65
2 changed files with 23 additions and 27 deletions
|
|
@ -462,33 +462,6 @@ close:
|
|||
return false
|
||||
}
|
||||
|
||||
func (c *Client) writeError(e error) bool { // nolint
|
||||
message := &api.ServerMessage{
|
||||
Type: "error",
|
||||
Error: api.NewError("internal_error", e.Error()),
|
||||
}
|
||||
c.mu.Lock()
|
||||
defer c.mu.Unlock()
|
||||
if c.conn == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
if !c.writeMessageLocked(message) {
|
||||
return false
|
||||
}
|
||||
|
||||
closeData := websocket.FormatCloseMessage(websocket.CloseInternalServerErr, e.Error())
|
||||
c.conn.SetWriteDeadline(time.Now().Add(writeWait)) // nolint
|
||||
if err := c.conn.WriteMessage(websocket.CloseMessage, closeData); err != nil {
|
||||
if sessionId := c.GetSessionId(); sessionId != "" {
|
||||
c.logger.Printf("Could not send close message to client %s: %v", sessionId, err)
|
||||
} else {
|
||||
c.logger.Printf("Could not send close message to %s: %v", c.RemoteAddr(), err)
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (c *Client) writeMessage(message WritableClientMessage) bool {
|
||||
c.mu.Lock()
|
||||
defer c.mu.Unlock()
|
||||
|
|
|
|||
|
|
@ -111,6 +111,7 @@ func (c *serverClient) GetSessionId() api.PublicSessionId {
|
|||
}
|
||||
|
||||
func (c *serverClient) OnClosed() {
|
||||
c.Close()
|
||||
c.handler.removeClient(c)
|
||||
}
|
||||
|
||||
|
|
@ -120,6 +121,9 @@ func (c *serverClient) OnMessageReceived(message []byte) {
|
|||
var s string
|
||||
if err := json.Unmarshal(message, &s); assert.NoError(c.t, err) {
|
||||
assert.Equal(c.t, "Hello world!", s)
|
||||
c.sendPing()
|
||||
assert.EqualValues(c.t, "DE", c.Country())
|
||||
assert.False(c.t, c.Client.IsInRoom("room-id"))
|
||||
c.SendMessage(&api.ServerMessage{
|
||||
Type: "welcome",
|
||||
Welcome: &api.WelcomeServerMessage{
|
||||
|
|
@ -212,8 +216,15 @@ func (h *testHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||
id := h.id.Add(1)
|
||||
client := newTestClient(h, r, conn, id)
|
||||
h.addClient(client)
|
||||
|
||||
closed := make(chan struct{})
|
||||
context.AfterFunc(client.Context(), func() {
|
||||
close(closed)
|
||||
})
|
||||
|
||||
go client.WritePump()
|
||||
client.ReadPump()
|
||||
<-closed
|
||||
}
|
||||
|
||||
type localClient struct {
|
||||
|
|
@ -246,6 +257,10 @@ func (c *localClient) WriteJSON(v any) error {
|
|||
return c.conn.WriteJSON(v)
|
||||
}
|
||||
|
||||
func (c *localClient) Write(v []byte) error {
|
||||
return c.conn.WriteMessage(websocket.BinaryMessage, v)
|
||||
}
|
||||
|
||||
func (c *localClient) ReadJSON(v any) error {
|
||||
return c.conn.ReadJSON(v)
|
||||
}
|
||||
|
|
@ -281,6 +296,14 @@ func TestClient(t *testing.T) {
|
|||
assert.EqualValues(1, clients[0].received.Load())
|
||||
}
|
||||
|
||||
require.NoError(client.Write([]byte("Hello world!")))
|
||||
if assert.NoError(client.ReadJSON(&msg)) &&
|
||||
assert.Equal("error", msg.Type) &&
|
||||
assert.NotNil(msg.Error) {
|
||||
assert.Equal("invalid_format", msg.Error.Code)
|
||||
assert.Equal("Invalid data format.", msg.Error.Message)
|
||||
}
|
||||
|
||||
require.NoError(client.WriteJSON("Send error"))
|
||||
if assert.NoError(client.ReadJSON(&msg)) &&
|
||||
assert.Equal("error", msg.Type) &&
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue