blob: 2765f00e8c5cf4e12511f7d85467f2c491c468bc [file] [log] [blame]
Jon Perritt33ed7412014-10-17 19:35:32 -05001// +build acceptance rackspace objectstorage v1
2
Jon Perritt8abd2c22014-10-16 20:28:51 -05003package v1
Jon Perritt33ed7412014-10-17 19:35:32 -05004
5import (
6 "testing"
7
8 osContainers "github.com/rackspace/gophercloud/openstack/objectstorage/v1/containers"
9 "github.com/rackspace/gophercloud/pagination"
10 raxCDNContainers "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/cdncontainers"
11 raxContainers "github.com/rackspace/gophercloud/rackspace/objectstorage/v1/containers"
12 th "github.com/rackspace/gophercloud/testhelper"
13)
14
15func TestCDNContainers(t *testing.T) {
16 raxClient, err := createClient(t, false)
17 th.AssertNoErr(t, err)
18
19 headers, err := raxContainers.Create(raxClient, "gophercloud-test", nil).ExtractHeaders()
20 th.AssertNoErr(t, err)
21 t.Logf("Headers from Create Container request: %+v\n", headers)
22 defer func() {
23 _, err := raxContainers.Delete(raxClient, "gophercloud-test").ExtractHeaders()
24 th.AssertNoErr(t, err)
25 }()
26
27 raxCDNClient, err := createClient(t, true)
28 th.AssertNoErr(t, err)
29
30 headers, err = raxCDNContainers.Enable(raxCDNClient, "gophercloud-test", raxCDNContainers.EnableOpts{CDNEnabled: true, TTL: 900}).ExtractHeaders()
31 th.AssertNoErr(t, err)
32 t.Logf("Headers from Enable CDN Container request: %+v\n", headers)
33
34 t.Logf("Container Names available to the currently issued token:")
35 count := 0
36 err = raxCDNContainers.List(raxCDNClient, &osContainers.ListOpts{Full: false}).EachPage(func(page pagination.Page) (bool, error) {
37 t.Logf("--- Page %02d ---", count)
38
39 names, err := raxCDNContainers.ExtractNames(page)
40 th.AssertNoErr(t, err)
41
42 for i, name := range names {
43 t.Logf("[%02d] %s", i, name)
44 }
45
46 count++
47 return true, nil
48 })
49 th.AssertNoErr(t, err)
50 if count == 0 {
51 t.Errorf("No containers listed for your current token.")
52 }
53
54 headers, err = raxCDNContainers.Update(raxCDNClient, "gophercloud-test", raxCDNContainers.UpdateOpts{CDNEnabled: false}).ExtractHeaders()
55 th.AssertNoErr(t, err)
56 t.Logf("Headers from Update CDN Container request: %+v\n", headers)
57
58 headers, err = raxCDNContainers.Get(raxCDNClient, "gophercloud-test").ExtractHeaders()
59 th.AssertNoErr(t, err)
60 t.Logf("Headers from Get CDN Container request (after update): %+v\n", headers)
61}