50 lines
1.3 KiB
Go
50 lines
1.3 KiB
Go
package ingest
|
|
|
|
import "testing"
|
|
|
|
func TestResolveResourceByIPFirst(t *testing.T) {
|
|
e := &Engine{
|
|
resourceByIP: map[string]resourceRef{
|
|
"10.0.0.10": {ResourceType: "server", ResourceID: "srv-10", ResourceName: "s10"},
|
|
},
|
|
resourceByHN: map[string]resourceRef{
|
|
"host-a": {ResourceType: "device", ResourceID: "dev-a", ResourceName: "a"},
|
|
},
|
|
}
|
|
ref, method := e.resolveResource("10.0.0.10", "host-a")
|
|
if method != "ip" {
|
|
t.Fatalf("method=%s", method)
|
|
}
|
|
if ref.ResourceID != "srv-10" {
|
|
t.Fatalf("resource id=%s", ref.ResourceID)
|
|
}
|
|
}
|
|
|
|
func TestResolveResourceByHostname(t *testing.T) {
|
|
e := &Engine{
|
|
resourceByIP: map[string]resourceRef{},
|
|
resourceByHN: map[string]resourceRef{
|
|
"host-a": {ResourceType: "device", ResourceID: "dev-a", ResourceName: "a"},
|
|
},
|
|
}
|
|
ref, method := e.resolveResource("10.0.0.20", "HOST-A")
|
|
if method != "hostname" {
|
|
t.Fatalf("method=%s", method)
|
|
}
|
|
if ref.ResourceID != "dev-a" {
|
|
t.Fatalf("resource id=%s", ref.ResourceID)
|
|
}
|
|
}
|
|
|
|
func TestResolveResourceNoMatch(t *testing.T) {
|
|
e := &Engine{
|
|
resourceByIP: map[string]resourceRef{},
|
|
resourceByHN: map[string]resourceRef{},
|
|
}
|
|
_, method := e.resolveResource("10.0.0.20", "host-b")
|
|
if method != "none" {
|
|
t.Fatalf("method=%s", method)
|
|
}
|
|
}
|
|
|