Files
protocol/observability/agentsobs/agent_test.go
Steve Yoon e3c136ec3d feat: generate analytics interfaces for agents obs (#1102)
* generate schema for cloud-agents

* add agents to reporter interface

* feat(obs): add agent obs helpers

* update cpu/mem to int64

* add resource limits

* add agent sdk version

* add agent worker state

* use anyLast instead of avg for cpu/mem

---------

Co-authored-by: rektdeckard <friedtm@gmail.com>
2025-06-25 12:02:47 -06:00

60 lines
1.5 KiB
Go

package agentsobs
import (
"testing"
"github.com/livekit/protocol/livekit"
"github.com/stretchr/testify/require"
)
func TestJobKindFromProto(t *testing.T) {
tests := []struct {
input livekit.JobType
expected JobKind
}{
{livekit.JobType_JT_ROOM, JobKindRoom},
{livekit.JobType_JT_PUBLISHER, JobKindPublisher},
{livekit.JobType_JT_PARTICIPANT, JobKindParticipant},
{livekit.JobType(999), JobKindUndefined}, // Undefined case
}
for _, test := range tests {
result := JobKindFromProto(test.input)
require.Equal(t, test.expected, result)
}
}
func TestJobStatusFromProto(t *testing.T) {
tests := []struct {
input livekit.JobStatus
expected JobStatus
}{
{livekit.JobStatus_JS_PENDING, JobStatusPending},
{livekit.JobStatus_JS_RUNNING, JobStatusRunning},
{livekit.JobStatus_JS_SUCCESS, JobStatusSuccess},
{livekit.JobStatus_JS_FAILED, JobStatusFailed},
{livekit.JobStatus(999), JobStatusUndefined}, // Undefined case
}
for _, test := range tests {
result := JobStatusFromProto(test.input)
require.Equal(t, test.expected, result)
}
}
func TestWorkerStatusFromProto(t *testing.T) {
tests := []struct {
input livekit.WorkerStatus
expected WorkerStatus
}{
{livekit.WorkerStatus_WS_AVAILABLE, WorkerStatusAvailable},
{livekit.WorkerStatus_WS_FULL, WorkerStatusFull},
{livekit.WorkerStatus(999), WorkerStatusUndefined}, // Undefined case
}
for _, test := range tests {
result := WorkerStatusFromProto(test.input)
require.Equal(t, test.expected, result)
}
}