-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsource_embedded_test.go
More file actions
54 lines (46 loc) · 1.16 KB
/
source_embedded_test.go
File metadata and controls
54 lines (46 loc) · 1.16 KB
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
51
52
53
54
package gomib
import (
"errors"
"io/fs"
"slices"
"testing"
"github.com/golangsnmp/gomib/internal/module"
)
func TestEmbeddedSource_Find(t *testing.T) {
src := embeddedSource{}
result, err := src.Find("SNMPv2-SMI")
if err != nil {
t.Fatalf("Find(SNMPv2-SMI) error: %v", err)
}
if len(result.Content) == 0 {
t.Error("Find(SNMPv2-SMI) returned empty content")
}
if result.Path != "embedded:SNMPv2-SMI" {
t.Errorf("Path = %q, want %q", result.Path, "embedded:SNMPv2-SMI")
}
}
func TestEmbeddedSource_Find_NotFound(t *testing.T) {
src := embeddedSource{}
_, err := src.Find("NONEXISTENT")
if err == nil {
t.Fatal("expected error for nonexistent module")
}
if !errors.Is(err, fs.ErrNotExist) {
t.Errorf("error = %v, want fs.ErrNotExist", err)
}
}
func TestEmbeddedSource_ListModules(t *testing.T) {
src := embeddedSource{}
names, err := src.ListModules()
if err != nil {
t.Fatalf("ListModules() error: %v", err)
}
if len(names) < 7 {
t.Errorf("ListModules() returned %d names, want at least 7", len(names))
}
for _, base := range module.BaseModuleNames() {
if !slices.Contains(names, base) {
t.Errorf("ListModules() missing %q", base)
}
}
}