@@ -9,6 +9,37 @@ import (
99 "github.com/stretchr/testify/require"
1010)
1111
12+ func TestParse (t * testing.T ) {
13+ t .Run ("valid config eni controller" , func (t * testing.T ) {
14+ config := []byte (`[{"bdf": "0000:1:1.6","mac": "cc:48:15:ff:00:09","vf_id": 9,"pf_id": 2}]` )
15+ configs , err := parse (defaultNUSAConfigPath , config )
16+ require .NoError (t , err )
17+ assert .Len (t , configs .EniVFs , 1 )
18+ assert .Equal (t , "0000:1:1.6" , configs .EniVFs [0 ].BDF )
19+ assert .Equal (t , 9 , configs .EniVFs [0 ].VfID )
20+ assert .Equal (t , 2 , configs .EniVFs [0 ].PfID )
21+ })
22+ t .Run ("invalid config eni controller" , func (t * testing.T ) {
23+ config := []byte (`{"eniVFs": [{ "pf_id": 0,"vf_id": 0,"bdf": "0000:1:2.5"}]}` )
24+ _ , err := parse (defaultNUSAConfigPath , config )
25+ require .NotNil (t , err )
26+ })
27+ t .Run ("valid config vpc eni agent" , func (t * testing.T ) {
28+ config := []byte (`{"eniVFs": [{"pf_id": 1,"vf_id": 9,"bdf": "0000:1:1.6"}]}` )
29+ configs , err := parse ("/var/run/hc-eni-host/vf-topo-vpc" , config )
30+ require .NoError (t , err )
31+ assert .Len (t , configs .EniVFs , 1 )
32+ assert .Equal (t , "0000:1:1.6" , configs .EniVFs [0 ].BDF )
33+ assert .Equal (t , 9 , configs .EniVFs [0 ].VfID )
34+ assert .Equal (t , 1 , configs .EniVFs [0 ].PfID )
35+ })
36+ t .Run ("invalid config vpc eni agent" , func (t * testing.T ) {
37+ config := []byte (`[{"bdf": "0000:1:1.6","mac": "cc:48:15:ff:00:09","vf_id": 9,"pf_id": 2}]` )
38+ _ , err := parse ("/var/run/hc-eni-host/vf-topo-vpc" , config )
39+ require .NotNil (t , err )
40+ })
41+ }
42+
1243// TestGetPFBDF tests the getPFBDF function with mocked sysfs structure
1344func TestGetPFBDF (t * testing.T ) {
1445 t .Run ("invalid BDF format" , func (t * testing.T ) {
0 commit comments