blob: ab982b20b71bf512bae7bec2d92668d13de7e4ff [file] [log] [blame]
Joe Topjianf61691c2016-11-05 12:34:59 -06001// +build acceptance
2
3package v3
4
5import (
6 "testing"
7
8 "github.com/gophercloud/gophercloud/acceptance/clients"
9 "github.com/gophercloud/gophercloud/openstack/identity/v3/projects"
10)
11
12func TestProjectsList(t *testing.T) {
13 client, err := clients.NewIdentityV3Client()
14 if err != nil {
Joe Topjian1c236d32017-01-09 15:33:32 -070015 t.Fatalf("Unable to obtain an identity client: %v", err)
Joe Topjianf61691c2016-11-05 12:34:59 -060016 }
17
18 var iTrue bool = true
19 listOpts := projects.ListOpts{
20 Enabled: &iTrue,
21 }
22
23 allPages, err := projects.List(client, listOpts).AllPages()
24 if err != nil {
25 t.Fatalf("Unable to list projects: %v", err)
26 }
27
28 allProjects, err := projects.ExtractProjects(allPages)
29 if err != nil {
30 t.Fatalf("Unable to extract projects: %v", err)
31 }
32
33 for _, project := range allProjects {
34 PrintProject(t, &project)
35 }
36}
Joe Topjian1c236d32017-01-09 15:33:32 -070037
38func TestProjectsGet(t *testing.T) {
39 client, err := clients.NewIdentityV3Client()
40 if err != nil {
41 t.Fatalf("Unable to obtain an identity client: %v", err)
42 }
43
44 allPages, err := projects.List(client, nil).AllPages()
45 if err != nil {
46 t.Fatalf("Unable to list projects: %v", err)
47 }
48
49 allProjects, err := projects.ExtractProjects(allPages)
50 if err != nil {
51 t.Fatalf("Unable to extract projects: %v", err)
52 }
53
54 project := allProjects[0]
55 p, err := projects.Get(client, project.ID, nil).Extract()
56 if err != nil {
57 t.Fatalf("Unable to get project: %v", err)
58 }
59
60 PrintProject(t, p)
61}