54 lines
1.9 KiB
Go
54 lines
1.9 KiB
Go
package connections
|
|
|
|
import "testing"
|
|
|
|
func TestSearchByName(t *testing.T) {
|
|
svc := setupTestService(t)
|
|
svc.CreateConnection(CreateConnectionInput{Name: "Asgard", Hostname: "192.168.1.4", Port: 22, Protocol: "ssh"})
|
|
svc.CreateConnection(CreateConnectionInput{Name: "Docker", Hostname: "155.254.29.221", Port: 22, Protocol: "ssh"})
|
|
|
|
results, err := svc.Search("asg")
|
|
if err != nil {
|
|
t.Fatalf("Search() error: %v", err)
|
|
}
|
|
if len(results) != 1 {
|
|
t.Fatalf("len(results) = %d, want 1", len(results))
|
|
}
|
|
if results[0].Name != "Asgard" {
|
|
t.Errorf("Name = %q, want %q", results[0].Name, "Asgard")
|
|
}
|
|
}
|
|
|
|
func TestSearchByHostname(t *testing.T) {
|
|
svc := setupTestService(t)
|
|
svc.CreateConnection(CreateConnectionInput{Name: "Asgard", Hostname: "192.168.1.4", Port: 22, Protocol: "ssh"})
|
|
|
|
results, _ := svc.Search("192.168")
|
|
if len(results) != 1 {
|
|
t.Errorf("len(results) = %d, want 1", len(results))
|
|
}
|
|
}
|
|
|
|
func TestSearchByTag(t *testing.T) {
|
|
svc := setupTestService(t)
|
|
svc.CreateConnection(CreateConnectionInput{Name: "ProdServer", Hostname: "10.0.0.1", Port: 22, Protocol: "ssh", Tags: []string{"Prod", "Linux"}})
|
|
svc.CreateConnection(CreateConnectionInput{Name: "DevServer", Hostname: "10.0.0.2", Port: 22, Protocol: "ssh", Tags: []string{"Dev", "Linux"}})
|
|
|
|
results, _ := svc.Search("Prod")
|
|
if len(results) != 1 {
|
|
t.Errorf("len(results) = %d, want 1", len(results))
|
|
}
|
|
}
|
|
|
|
func TestFilterByTag(t *testing.T) {
|
|
svc := setupTestService(t)
|
|
svc.CreateConnection(CreateConnectionInput{Name: "A", Hostname: "10.0.0.1", Port: 22, Protocol: "ssh", Tags: []string{"Prod"}})
|
|
svc.CreateConnection(CreateConnectionInput{Name: "B", Hostname: "10.0.0.2", Port: 22, Protocol: "ssh", Tags: []string{"Dev"}})
|
|
svc.CreateConnection(CreateConnectionInput{Name: "C", Hostname: "10.0.0.3", Port: 22, Protocol: "ssh", Tags: []string{"Prod", "Linux"}})
|
|
|
|
results, _ := svc.FilterByTag("Prod")
|
|
if len(results) != 2 {
|
|
t.Errorf("len(results) = %d, want 2", len(results))
|
|
}
|
|
}
|