Feature: filter by hostname for Cyberghost servers

This commit is contained in:
Quentin McGaw
2021-05-08 19:05:11 +00:00
parent c0e4d805b1
commit a34769ae02
9 changed files with 182 additions and 121 deletions

View File

@@ -12,6 +12,7 @@ func Test_cyberghost_filterServers(t *testing.T) {
testCases := map[string]struct {
servers []models.CyberghostServer
regions []string
hostnames []string
group string
filteredServers []models.CyberghostServer
}{
@@ -69,13 +70,25 @@ func Test_cyberghost_filterServers(t *testing.T) {
{Region: "a", Group: "1"},
},
},
"servers with hostnames filter": {
servers: []models.CyberghostServer{
{Hostname: "a"},
{Hostname: "b"},
{Hostname: "c"},
},
hostnames: []string{"a", "c"},
filteredServers: []models.CyberghostServer{
{Hostname: "a"},
{Hostname: "c"},
},
},
}
for name, testCase := range testCases {
testCase := testCase
t.Run(name, func(t *testing.T) {
t.Parallel()
c := &cyberghost{servers: testCase.servers}
filteredServers := c.filterServers(testCase.regions, testCase.group)
filteredServers := c.filterServers(testCase.regions, testCase.hostnames, testCase.group)
assert.Equal(t, testCase.filteredServers, filteredServers)
})
}