package status import ( "testing" "github.com/google/uuid" "github.com/stretchr/testify/assert" "edge-infra.dev/pkg/edge/api/graph/model" kinformmodel "edge-infra.dev/pkg/f8n/kinform/model" ) const ( testUUID = "15a3ec2f-c7e9-4c6d-8b77-20948cb6024b" testName0 = "test-vm-0" testName1 = "test-vm-1" testNamespace = "edge-vm" ) func TestStatusesFromWatchedFields(t *testing.T) { testCaseList := []struct { watchedVMList []*kinformmodel.WatchedField expectedList []*model.VirtualMachineStatus err error }{ { watchedVMList: []*kinformmodel.WatchedField{ { Cluster: uuid.MustParse(testUUID), Name: testName0, Namespace: testNamespace, Kind: "VirtualMachine", Fields: nil, }, { Cluster: uuid.MustParse(testUUID), Name: testName1, Namespace: testNamespace, Kind: "VirtualMachine", Fields: nil, }, }, expectedList: []*model.VirtualMachineStatus{ { Name: testName0, ClusterEdgeID: testUUID, Namespace: testNamespace, Conditions: nil, }, { Name: testName1, ClusterEdgeID: testUUID, Namespace: testNamespace, Conditions: nil, }, }, err: nil, }, } for _, testCase := range testCaseList { actualList, err := StatusesFromWatchedFields(testCase.watchedVMList) assert.ErrorIs(t, err, testCase.err) assert.True(t, StatusesEqual(testCase.expectedList, actualList)) } }