...
1 package status
2
3 import (
4 "testing"
5
6 "github.com/google/uuid"
7 "github.com/stretchr/testify/assert"
8
9 "edge-infra.dev/pkg/edge/api/graph/model"
10 kinformmodel "edge-infra.dev/pkg/f8n/kinform/model"
11 )
12
13 const (
14 testUUID = "15a3ec2f-c7e9-4c6d-8b77-20948cb6024b"
15 testName0 = "test-vm-0"
16 testName1 = "test-vm-1"
17 testNamespace = "edge-vm"
18 )
19
20 func TestStatusesFromWatchedFields(t *testing.T) {
21 testCaseList := []struct {
22 watchedVMList []*kinformmodel.WatchedField
23 expectedList []*model.VirtualMachineStatus
24 err error
25 }{
26 {
27 watchedVMList: []*kinformmodel.WatchedField{
28 {
29 Cluster: uuid.MustParse(testUUID),
30 Name: testName0,
31 Namespace: testNamespace,
32 Kind: "VirtualMachine",
33 Fields: nil,
34 },
35 {
36 Cluster: uuid.MustParse(testUUID),
37 Name: testName1,
38 Namespace: testNamespace,
39 Kind: "VirtualMachine",
40 Fields: nil,
41 },
42 },
43 expectedList: []*model.VirtualMachineStatus{
44 {
45 Name: testName0,
46 ClusterEdgeID: testUUID,
47 Namespace: testNamespace,
48 Conditions: nil,
49 },
50 {
51 Name: testName1,
52 ClusterEdgeID: testUUID,
53 Namespace: testNamespace,
54 Conditions: nil,
55 },
56 },
57 err: nil,
58 },
59 }
60 for _, testCase := range testCaseList {
61 actualList, err := StatusesFromWatchedFields(testCase.watchedVMList)
62 assert.ErrorIs(t, err, testCase.err)
63 assert.True(t, StatusesEqual(testCase.expectedList, actualList))
64 }
65 }
66
View as plain text