mirror of
https://github.com/onyx-and-iris/gobs-cli.git
synced 2025-06-09 21:20:34 +01:00
86 lines
1.9 KiB
Go
86 lines
1.9 KiB
Go
package main
|
|
|
|
import (
|
|
"bytes"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestReplayBufferStart(t *testing.T) {
|
|
client, disconnect := getClient(t)
|
|
defer disconnect()
|
|
|
|
var out bytes.Buffer
|
|
context := &context{
|
|
Client: client,
|
|
Out: &out,
|
|
}
|
|
|
|
cmd := &ReplayBufferStartCmd{}
|
|
err := cmd.Run(context)
|
|
if err != nil {
|
|
t.Fatalf("Failed to start replay buffer: %v", err)
|
|
}
|
|
if out.String() != "Replay buffer started.\n" {
|
|
t.Fatalf("Expected output to be 'Replay buffer started', got '%s'", out.String())
|
|
}
|
|
}
|
|
|
|
func TestReplayBufferStop(t *testing.T) {
|
|
client, disconnect := getClient(t)
|
|
defer disconnect()
|
|
|
|
var out bytes.Buffer
|
|
context := &context{
|
|
Client: client,
|
|
Out: &out,
|
|
}
|
|
|
|
cmd := &ReplayBufferStopCmd{}
|
|
err := cmd.Run(context)
|
|
if err != nil {
|
|
t.Fatalf("Failed to stop replay buffer: %v", err)
|
|
}
|
|
if out.String() != "Replay buffer stopped.\n" {
|
|
t.Fatalf("Expected output to be 'Replay buffer stopped.', got '%s'", out.String())
|
|
}
|
|
}
|
|
|
|
func TestReplayBufferToggle(t *testing.T) {
|
|
client, disconnect := getClient(t)
|
|
defer disconnect()
|
|
|
|
var out bytes.Buffer
|
|
context := &context{
|
|
Client: client,
|
|
Out: &out,
|
|
}
|
|
|
|
cmdStatus := &ReplayBufferStatusCmd{}
|
|
err := cmdStatus.Run(context)
|
|
if err != nil {
|
|
t.Fatalf("Failed to get replay buffer status: %v", err)
|
|
}
|
|
var active bool
|
|
if strings.Contains(out.String(), "Replay buffer is active") {
|
|
active = true
|
|
}
|
|
// Reset output buffer for the next command
|
|
out.Reset()
|
|
|
|
cmdToggle := &ReplayBufferToggleCmd{}
|
|
err = cmdToggle.Run(context)
|
|
if err != nil {
|
|
t.Fatalf("Failed to toggle replay buffer: %v", err)
|
|
}
|
|
if active {
|
|
if out.String() != "Replay buffer stopped.\n" {
|
|
t.Fatalf("Expected output to be 'Replay buffer stopped.', got '%s'", out.String())
|
|
}
|
|
} else {
|
|
if out.String() != "Replay buffer started.\n" {
|
|
t.Fatalf("Expected output to be 'Replay buffer started.', got '%s'", out.String())
|
|
}
|
|
}
|
|
}
|