File: quotaset_test.go

package info (click to toggle)
golang-github-rackspace-gophercloud 1.0.0%2Bgit20161013.1012.e00690e8-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 5,148 kB
  • ctags: 6,414
  • sloc: sh: 16; makefile: 6
file content (60 lines) | stat: -rw-r--r-- 1,971 bytes parent folder | download | duplicates (2)
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
// +build acceptance compute

package v2

import (
	"testing"

	"github.com/rackspace/gophercloud"
	"github.com/rackspace/gophercloud/openstack"
	"github.com/rackspace/gophercloud/openstack/compute/v2/extensions/quotasets"
	"github.com/rackspace/gophercloud/openstack/identity/v2/tenants"
	"github.com/rackspace/gophercloud/pagination"
	th "github.com/rackspace/gophercloud/testhelper"
)

func TestGetQuotaset(t *testing.T) {
	client, err := newClient()
	if err != nil {
		t.Fatalf("Unable to create a compute client: %v", err)
	}

	idclient := openstack.NewIdentityV2(client.ProviderClient)
	quotaset, err := quotasets.Get(client, findTenant(t, idclient)).Extract()
	if err != nil {
		t.Fatal(err)
	}

	t.Logf("QuotaSet details:\n")
	t.Logf("                   instances=[%d]\n", quotaset.Instances)
	t.Logf("                       cores=[%d]\n", quotaset.Cores)
	t.Logf("                         ram=[%d]\n", quotaset.Ram)
	t.Logf("                   key_pairs=[%d]\n", quotaset.KeyPairs)
	t.Logf("              metadata_items=[%d]\n", quotaset.MetadataItems)
	t.Logf("             security_groups=[%d]\n", quotaset.SecurityGroups)
	t.Logf("        security_group_rules=[%d]\n", quotaset.SecurityGroupRules)
	t.Logf("                   fixed_ips=[%d]\n", quotaset.FixedIps)
	t.Logf("                floating_ips=[%d]\n", quotaset.FloatingIps)
	t.Logf(" injected_file_content_bytes=[%d]\n", quotaset.InjectedFileContentBytes)
	t.Logf("    injected_file_path_bytes=[%d]\n", quotaset.InjectedFilePathBytes)
	t.Logf("              injected_files=[%d]\n", quotaset.InjectedFiles)

}

func findTenant(t *testing.T, client *gophercloud.ServiceClient) string {
	var tenantID string
	err := tenants.List(client, nil).EachPage(func(page pagination.Page) (bool, error) {
		tenantList, err := tenants.ExtractTenants(page)
		th.AssertNoErr(t, err)

		for _, t := range tenantList {
			tenantID = t.ID
			break
		}

		return true, nil
	})
	th.AssertNoErr(t, err)

	return tenantID
}