// internal/tools/events_test.go
package tools
import (
"testing"
"time"
"github.com/chussenot/datadog-mcp/internal/testutil"
"github.com/chussenot/datadog-mcp/internal/types"
)
func TestListEventsArgs(t *testing.T) {
// Test events arguments with time range
now := time.Now().Unix()
startTime := now - 3600 // 1 hour ago
endTime := now
args := types.ListEventsArgs{
Start: &startTime,
End: &endTime,
Priority: testutil.StringPtr("normal"),
Tags: testutil.StringPtr("env:test"),
}
if args.Start == nil {
t.Error("Expected Start to be set")
}
if args.End == nil {
t.Error("Expected End to be set")
}
if args.Priority == nil {
t.Error("Expected Priority to be set")
}
if args.Tags == nil {
t.Error("Expected Tags to be set")
}
if *args.Start != startTime {
t.Errorf("Expected Start to be %d, got %d", startTime, *args.Start)
}
if *args.End != endTime {
t.Errorf("Expected End to be %d, got %d", endTime, *args.End)
}
if *args.Priority != "normal" {
t.Errorf("Expected Priority to be 'normal', got '%s'", *args.Priority)
}
if *args.Tags != "env:test" {
t.Errorf("Expected Tags to be 'env:test', got '%s'", *args.Tags)
}
}
func TestCreateEventArgs(t *testing.T) {
// Test event creation arguments
args := types.CreateEventArgs{
Title: "Test Event",
Text: "This is a test event",
Priority: testutil.StringPtr("normal"),
Tags: []string{"env:test", "team:backend"},
}
if args.Title != "Test Event" {
t.Errorf("Expected Title to be 'Test Event', got '%s'", args.Title)
}
if args.Text != "This is a test event" {
t.Errorf("Expected Text to be 'This is a test event', got '%s'", args.Text)
}
if args.Priority == nil {
t.Error("Expected Priority to be set")
}
if *args.Priority != "normal" {
t.Errorf("Expected Priority to be 'normal', got '%s'", *args.Priority)
}
if len(args.Tags) != 2 {
t.Errorf("Expected 2 tags, got %d", len(args.Tags))
}
if args.Tags[0] != "env:test" {
t.Errorf("Expected first tag to be 'env:test', got '%s'", args.Tags[0])
}
if args.Tags[1] != "team:backend" {
t.Errorf("Expected second tag to be 'team:backend', got '%s'", args.Tags[1])
}
}