|
- package controller
-
- import (
- "net/http/httptest"
- "testing"
- "time"
-
- "github.com/QuantumNous/new-api/pkg/ionet"
- "github.com/gin-gonic/gin"
- "github.com/stretchr/testify/require"
- )
-
- func TestMapIoNetDeploymentNormalizesStatusAndRemainingTime(t *testing.T) {
- createdAt := time.Date(2026, 7, 25, 12, 0, 0, 0, time.UTC)
- mapped := mapIoNetDeployment(ionet.Deployment{
- ID: "deployment-1", Name: "Model Host", Status: "RUNNING", CreatedAt: createdAt,
- BrandName: "NVIDIA", HardwareName: "H100", HardwareQuantity: 2, ComputeMinutesRemaining: 125,
- })
-
- require.Equal(t, "running", mapped["status"])
- require.Equal(t, "2 hour 5 minutes", mapped["time_remaining"])
- require.Equal(t, "NVIDIA H100 x2", mapped["hardware_info"])
- require.EqualValues(t, createdAt.Unix(), mapped["created_at"])
- }
-
- func TestComputeStatusCountsIncludesKnownAndUnknownStatuses(t *testing.T) {
- counts := computeStatusCounts(4, []ionet.Deployment{
- {Status: "RUNNING"}, {Status: "running"}, {Status: "custom"},
- })
-
- require.EqualValues(t, 4, counts["all"])
- require.EqualValues(t, 2, counts["running"])
- require.EqualValues(t, 0, counts["failed"])
- require.EqualValues(t, 1, counts["custom"])
- }
-
- func TestRequireDeploymentAndContainerIDsRejectBlankParameters(t *testing.T) {
- context, _ := gin.CreateTestContext(httptest.NewRecorder())
- context.Params = gin.Params{{Key: "id", Value: " "}, {Key: "container_id", Value: ""}}
-
- _, ok := requireDeploymentID(context)
- require.False(t, ok)
- _, ok = requireContainerID(context)
- require.False(t, ok)
- }
|