1// +build acceptance db
2
3package v1
4
5import (
6	"testing"
7
8	"github.com/gophercloud/gophercloud/acceptance/clients"
9	"github.com/gophercloud/gophercloud/acceptance/tools"
10	"github.com/gophercloud/gophercloud/openstack/db/v1/flavors"
11)
12
13func TestFlavorsList(t *testing.T) {
14	client, err := clients.NewDBV1Client()
15	if err != nil {
16		t.Fatalf("Unable to create a DB client: %v", err)
17	}
18
19	allPages, err := flavors.List(client).AllPages()
20	if err != nil {
21		t.Fatalf("Unable to retrieve flavors: %v", err)
22	}
23
24	allFlavors, err := flavors.ExtractFlavors(allPages)
25	if err != nil {
26		t.Fatalf("Unable to extract flavors: %v", err)
27	}
28
29	for _, flavor := range allFlavors {
30		tools.PrintResource(t, &flavor)
31	}
32}
33
34func TestFlavorsGet(t *testing.T) {
35	client, err := clients.NewDBV1Client()
36	if err != nil {
37		t.Fatalf("Unable to create a DB client: %v", err)
38	}
39
40	allPages, err := flavors.List(client).AllPages()
41	if err != nil {
42		t.Fatalf("Unable to retrieve flavors: %v", err)
43	}
44
45	allFlavors, err := flavors.ExtractFlavors(allPages)
46	if err != nil {
47		t.Fatalf("Unable to extract flavors: %v", err)
48	}
49
50	if len(allFlavors) > 0 {
51		flavor, err := flavors.Get(client, allFlavors[0].StrID).Extract()
52		if err != nil {
53			t.Fatalf("Unable to get flavor: %v", err)
54		}
55
56		tools.PrintResource(t, flavor)
57	}
58}
59