aboutsummaryrefslogtreecommitdiffstats
path: root/extras/hs-test/suite_no_topo_test.go
blob: 01958b0a804bec93bba5a2dfed02d76d1241b3b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package main

const (
	singleTopoContainerVpp   = "vpp"
	singleTopoContainerNginx = "nginx"

	tapNameVpp  = "vppTap"
	tapNameHost = "hostTap"
)

type NoTopoSuite struct {
	HstSuite
}

func (s *NoTopoSuite) SetupSuite() {
	s.loadContainerTopology("single")

	s.addresser = NewAddresser(&s.HstSuite)

	var vppTapDevConfig = NetDevConfig{"name": tapNameVpp}
	vppTap, _ := NewTap(vppTapDevConfig, s.addresser)

	var hostTapDevConfig = NetDevConfig{"name": tapNameHost}
	hostTap, _ := NewTap(hostTapDevConfig, s.addresser)

	s.netInterfaces = make(map[string]NetInterface)
	s.netInterfaces[vppTap.Name()] = &vppTap
	s.netInterfaces[hostTap.Name()] = &hostTap
}

func (s *NoTopoSuite) SetupTest() {
	s.SetupVolumes()
	s.SetupContainers()

	// Setup test conditions
	var startupConfig Stanza
	startupConfig.
		NewStanza("session").
		Append("enable").
		Append("use-app-socket-api").Close()

	container := s.getContainerByName(singleTopoContainerVpp)
	vpp, _ := container.newVppInstance(startupConfig)
	vpp.start()

	vppTapAddress := s.netInterfaces[tapNameVpp].AddressWithPrefix()
	hostTapAddress := s.netInterfaces[tapNameHost].IP4AddressWithPrefix()

	vpp.createTap("tap0", hostTapAddress, vppTapAddress)
}