blob: 626797a37e1e9a2d3a0544ed502106740b2dd729 [file] [log] [blame]
Joe Topjian59c57832016-07-25 18:43:05 +00001// +build acceptance compute extensions
Ash Wilsona5b1a142014-10-22 10:16:03 -04002
3package v2
4
5import (
6 "testing"
7
Joe Topjian59c57832016-07-25 18:43:05 +00008 "github.com/gophercloud/gophercloud/openstack/common/extensions"
Ash Wilsona5b1a142014-10-22 10:16:03 -04009)
10
Joe Topjian59c57832016-07-25 18:43:05 +000011func TestExtensionsList(t *testing.T) {
Ash Wilsona5b1a142014-10-22 10:16:03 -040012 client, err := newClient()
Joe Topjian59c57832016-07-25 18:43:05 +000013 if err != nil {
14 t.Fatalf("Unable to create a compute client: %v", err)
15 }
Ash Wilsona5b1a142014-10-22 10:16:03 -040016
Joe Topjian59c57832016-07-25 18:43:05 +000017 allPages, err := extensions.List(client).AllPages()
18 if err != nil {
19 t.Fatalf("Unable to list extensions: %v", err)
20 }
Ash Wilsona5b1a142014-10-22 10:16:03 -040021
Joe Topjian59c57832016-07-25 18:43:05 +000022 allExtensions, err := extensions.ExtractExtensions(allPages)
23 if err != nil {
24 t.Fatalf("Unable to extract extensions: %v", err)
25 }
Ash Wilsona5b1a142014-10-22 10:16:03 -040026
Joe Topjian59c57832016-07-25 18:43:05 +000027 for _, extension := range allExtensions {
28 printExtension(t, &extension)
29 }
Ash Wilsona5b1a142014-10-22 10:16:03 -040030}
31
Joe Topjian59c57832016-07-25 18:43:05 +000032func TestExtensionGet(t *testing.T) {
Ash Wilsona5b1a142014-10-22 10:16:03 -040033 client, err := newClient()
Joe Topjian59c57832016-07-25 18:43:05 +000034 if err != nil {
35 t.Fatalf("Unable to create a compute client: %v", err)
36 }
Ash Wilsona5b1a142014-10-22 10:16:03 -040037
Joe Topjian59c57832016-07-25 18:43:05 +000038 extension, err := extensions.Get(client, "os-admin-actions").Extract()
39 if err != nil {
40 t.Fatalf("Unable to get extension os-admin-actions: %v", err)
41 }
Ash Wilsona5b1a142014-10-22 10:16:03 -040042
Joe Topjian59c57832016-07-25 18:43:05 +000043 printExtension(t, extension)
44}
45
46func printExtension(t *testing.T, extension *extensions.Extension) {
47 t.Logf("Name: %s", extension.Name)
48 t.Logf("Namespace: %s", extension.Namespace)
49 t.Logf("Alias: %s", extension.Alias)
50 t.Logf("Description: %s", extension.Description)
51 t.Logf("Updated: %s", extension.Updated)
52 t.Logf("Links: %v", extension.Links)
Ash Wilsona5b1a142014-10-22 10:16:03 -040053}