master
go 41 lines 1008 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 //go:build snmp_topology_fixtures
4
5 package parity
6
7 import (
8 "os"
9 "testing"
10
11 "github.com/stretchr/testify/require"
12 )
13
14 func TestLoadAndResolveManifest(t *testing.T) {
15 manifestPath := "../../../testdata/snmp/enlinkd/nms8003/manifest.yaml"
16
17 manifest, err := LoadManifest(manifestPath)
18 require.NoError(t, err)
19 require.Equal(t, ManifestVersion, manifest.Version)
20 require.Len(t, manifest.Scenarios, 1)
21
22 scenario, ok := manifest.FindScenario("nms8003_lldp")
23 require.True(t, ok)
24 require.True(t, scenario.Protocols.LLDP)
25 require.False(t, scenario.Protocols.CDP)
26
27 resolved, err := ResolveScenario(manifestPath, scenario)
28 require.NoError(t, err)
29 require.Len(t, resolved.Fixtures, 5)
30
31 for _, fixture := range resolved.Fixtures {
32 st, err := os.Stat(fixture.WalkFile)
33 require.NoError(t, err)
34 require.False(t, st.IsDir())
35 }
36
37 _, err = os.Stat(resolved.GoldenYAML)
38 require.NoError(t, err)
39 _, err = os.Stat(resolved.GoldenJSON)
40 require.NoError(t, err)
41 }