chore(all): provider to servers map in allServers

- Simplify formatting CLI
- Simplify updater code
- Simplify filter choices for config validation
- Simplify all servers deep copying
- Custom JSON marshaling methods for `AllServers`
- Simplify provider constructor switch
- Simplify storage merging
- Simplify storage reading and extraction
- Simplify updating code
This commit is contained in:
Quentin McGaw
2022-05-27 00:59:47 +00:00
parent 5ffe8555ba
commit bd0868d764
22 changed files with 854 additions and 1295 deletions

View File

@@ -3,6 +3,8 @@ package storage
import (
"testing"
"github.com/qdm12/gluetun/internal/constants/providers"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -12,5 +14,13 @@ func Test_parseHardcodedServers(t *testing.T) {
servers, err := parseHardcodedServers()
require.NoError(t, err)
require.NotEmpty(t, len(servers.Cyberghost.Servers))
// all providers minus custom
allProviders := providers.All()
require.Equal(t, len(allProviders), len(servers.ProviderToServers))
for _, provider := range allProviders {
servers, ok := servers.ProviderToServers[provider]
assert.Truef(t, ok, "for provider %s", provider)
assert.NotEmptyf(t, servers, "for provider %s", provider)
}
}