github.com/k8snetworkplumbingwg/sriov-network-operator@v1.2.1-0.20240408194816-2d2e5a45d453/pkg/platforms/openstack/openstack_test.go (about)

     1  package openstack
     2  
     3  import (
     4  	"testing"
     5  
     6  	. "github.com/onsi/ginkgo/v2"
     7  	. "github.com/onsi/gomega"
     8  
     9  	"k8s.io/utils/pointer"
    10  
    11  	"github.com/jaypipes/ghw"
    12  	"github.com/jaypipes/ghw/pkg/net"
    13  	"github.com/jaypipes/ghw/pkg/option"
    14  )
    15  
    16  func TestUtilsVirtual(t *testing.T) {
    17  	RegisterFailHandler(Fail)
    18  	RunSpecs(t, "Utils")
    19  }
    20  
    21  var _ = Describe("Virtual", func() {
    22  
    23  	Context("GetOpenstackData", func() {
    24  		It("PCI address replacement based on MAC address", func() {
    25  			ospNetworkDataFile = "./testdata/network_data.json"
    26  			ospMetaDataFile = "./testdata/meta_data.json"
    27  			DeferCleanup(func() {
    28  				ospNetworkDataFile = ospMetaDataDir + "/network_data.json"
    29  				ospMetaDataFile = ospMetaDataDir + "/meta_data.json"
    30  			})
    31  
    32  			ghw.Network = func(opts ...*option.Option) (*net.Info, error) {
    33  				return &net.Info{
    34  					NICs: []*net.NIC{{
    35  						MacAddress: "fa:16:3e:00:00:00",
    36  						PCIAddress: pointer.String("0000:04:00.0"),
    37  					}, {
    38  						MacAddress: "fa:16:3e:11:11:11",
    39  						PCIAddress: pointer.String("0000:99:99.9"),
    40  					}},
    41  				}, nil
    42  			}
    43  
    44  			DeferCleanup(func() {
    45  				ghw.Network = net.New
    46  			})
    47  
    48  			metaData, _, err := getOpenstackData(false)
    49  			Expect(err).ToNot(HaveOccurred())
    50  
    51  			Expect(metaData.Devices).To(HaveLen(2))
    52  			Expect(metaData.Devices[0].Mac).To(Equal("fa:16:3e:00:00:00"))
    53  			Expect(metaData.Devices[0].Address).To(Equal("0000:04:00.0"))
    54  			Expect(metaData.Devices[1].Mac).To(Equal("fa:16:3e:11:11:11"))
    55  			Expect(metaData.Devices[1].Address).To(Equal("0000:99:99.9"))
    56  
    57  		})
    58  	})
    59  })