blob: e1bf38b16fe7201e846f370b2612d64eebf30aa1 [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
Jon Perritt7e70c402014-10-24 16:15:09 -050019 createres := raxContainers.Create(raxClient, "gophercloud-test", nil)
20 th.AssertNoErr(t, createres.Err)
21 t.Logf("Headers from Create Container request: %+v\n", createres.Header)
Jon Perritt33ed7412014-10-17 19:35:32 -050022 defer func() {
Jon Perritt7e70c402014-10-24 16:15:09 -050023 res := raxContainers.Delete(raxClient, "gophercloud-test")
24 th.AssertNoErr(t, res.Err)
Jon Perritt33ed7412014-10-17 19:35:32 -050025 }()
26
27 raxCDNClient, err := createClient(t, true)
28 th.AssertNoErr(t, err)
29
Ash Wilsonfef72b82014-10-24 15:46:45 -040030 r := raxCDNContainers.Enable(raxCDNClient, "gophercloud-test", raxCDNContainers.EnableOpts{CDNEnabled: true, TTL: 900})
31 th.AssertNoErr(t, r.Err)
32 t.Logf("Headers from Enable CDN Container request: %+v\n", r.Header)
Jon Perritt33ed7412014-10-17 19:35:32 -050033
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 {
Jon Perritt7e70c402014-10-24 16:15:09 -050051 t.Errorf("No CDN containers listed for your current token.")
Jon Perritt33ed7412014-10-17 19:35:32 -050052 }
53
Jon Perritt7e70c402014-10-24 16:15:09 -050054 updateres := raxCDNContainers.Update(raxCDNClient, "gophercloud-test", raxCDNContainers.UpdateOpts{CDNEnabled: false})
55 th.AssertNoErr(t, updateres.Err)
56 t.Logf("Headers from Update CDN Container request: %+v\n", updateres.Header)
Jon Perritt33ed7412014-10-17 19:35:32 -050057
Ash Wilsonfef72b82014-10-24 15:46:45 -040058 metadata, err := raxCDNContainers.Get(raxCDNClient, "gophercloud-test").ExtractMetadata()
Jon Perritt33ed7412014-10-17 19:35:32 -050059 th.AssertNoErr(t, err)
Ash Wilsonfef72b82014-10-24 15:46:45 -040060 t.Logf("Headers from Get CDN Container request (after update): %+v\n", metadata)
Jon Perritt33ed7412014-10-17 19:35:32 -050061}