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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
package integration
import (
"context"
"slices"
"testing"
"github.com/linode/linodego"
"github.com/stretchr/testify/require"
)
func TestRegions_List(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestRegions_List")
defer teardown()
testFunc := func(retryT *TRetry) {
regions, err := client.ListRegions(context.Background(), nil)
if err != nil {
t.Errorf("Error listing regions, expected struct - error %v", err)
}
if len(regions) == 0 {
t.Errorf("Expected a list of regions - %v", regions)
}
}
retryStatement(t, 3, testFunc)
}
func TestRegions_pgLimits(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestRegions_pgLimits")
defer teardown()
regions, err := client.ListRegions(context.Background(), nil)
require.NoError(t, err)
// Filtering is not currently supported on capabilities
regionIdx := slices.IndexFunc(regions, func(region linodego.Region) bool {
return slices.Contains(region.Capabilities, "Placement Group")
})
require.NotZero(t, regionIdx)
region := regions[regionIdx]
require.NotNil(t, region.PlacementGroupLimits)
require.NotZero(t, region.PlacementGroupLimits.MaximumLinodesPerPG)
require.NotZero(t, region.PlacementGroupLimits.MaximumPGsPerCustomer)
}
func TestRegions_blockStorageEncryption(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestRegions_blockStorageEncryption")
defer teardown()
regions, err := client.ListRegions(context.Background(), nil)
require.NoError(t, err)
// Filtering is not currently supported on capabilities
regionIdx := slices.IndexFunc(regions, func(region linodego.Region) bool {
return slices.Contains(region.Capabilities, "Block Storage Encryption")
})
require.NotZero(t, regionIdx)
}
func TestRegions_kubernetesEnterprise(t *testing.T) {
client, teardown := createTestClient(t, "fixtures/TestRegions_kubernetesEnterprise")
defer teardown()
regions, err := client.ListRegions(context.Background(), nil)
require.NoError(t, err)
// Filtering is not currently supported on capabilities
regionIdx := slices.IndexFunc(regions, func(region linodego.Region) bool {
return slices.Contains(region.Capabilities, "Kubernetes Enterprise")
})
require.NotZero(t, regionIdx)
}
|