1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
package testing
import (
"testing"
"time"
"github.com/gophercloud/gophercloud/openstack/blockstorage/apiversions"
th "github.com/gophercloud/gophercloud/testhelper"
"github.com/gophercloud/gophercloud/testhelper/client"
)
func TestListVersions(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
MockListResponse(t)
allVersions, err := apiversions.List(client.ServiceClient()).AllPages()
th.AssertNoErr(t, err)
actual, err := apiversions.ExtractAPIVersions(allVersions)
th.AssertNoErr(t, err)
expected := []apiversions.APIVersion{
{
ID: "v1.0",
Status: "DEPRECATED",
Updated: time.Date(2016, 5, 2, 20, 25, 19, 0, time.UTC),
},
{
ID: "v2.0",
Status: "SUPPORTED",
Updated: time.Date(2014, 6, 28, 12, 20, 21, 0, time.UTC),
},
{
ID: "v3.0",
MinVersion: "3.0",
Status: "CURRENT",
Updated: time.Date(2016, 2, 8, 12, 20, 21, 0, time.UTC),
Version: "3.27",
},
}
th.AssertDeepEquals(t, expected, actual)
}
func TestListOldVersions(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
MockListOldResponse(t)
allVersions, err := apiversions.List(client.ServiceClient()).AllPages()
th.AssertNoErr(t, err)
actual, err := apiversions.ExtractAPIVersions(allVersions)
th.AssertNoErr(t, err)
expected := []apiversions.APIVersion{
{
ID: "v1.0",
Status: "CURRENT",
Updated: time.Date(2012, 1, 4, 11, 33, 21, 0, time.UTC),
},
{
ID: "v2.0",
Status: "CURRENT",
Updated: time.Date(2012, 11, 21, 11, 33, 21, 0, time.UTC),
},
}
th.AssertDeepEquals(t, expected, actual)
}
func TestGetVersion(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
MockListResponse(t)
allVersions, err := apiversions.List(client.ServiceClient()).AllPages()
th.AssertNoErr(t, err)
actual, err := apiversions.ExtractAPIVersion(allVersions, "v3.0")
th.AssertNoErr(t, err)
expected := apiversions.APIVersion{
ID: "v3.0",
MinVersion: "3.0",
Status: "CURRENT",
Updated: time.Date(2016, 2, 8, 12, 20, 21, 0, time.UTC),
Version: "3.27",
}
th.AssertEquals(t, actual.ID, expected.ID)
th.AssertEquals(t, actual.Status, expected.Status)
th.AssertEquals(t, actual.Updated, expected.Updated)
}
func TestGetOldVersion(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
MockListOldResponse(t)
allVersions, err := apiversions.List(client.ServiceClient()).AllPages()
th.AssertNoErr(t, err)
actual, err := apiversions.ExtractAPIVersion(allVersions, "v2.0")
th.AssertNoErr(t, err)
expected := apiversions.APIVersion{
ID: "v2.0",
MinVersion: "",
Status: "CURRENT",
Updated: time.Date(2012, 11, 21, 11, 33, 21, 0, time.UTC),
Version: "",
}
th.AssertEquals(t, actual.ID, expected.ID)
th.AssertEquals(t, actual.Status, expected.Status)
th.AssertEquals(t, actual.Updated, expected.Updated)
}
|