9
"gopkg.in/goose.v1/client"
10
"gopkg.in/goose.v1/glance"
11
"gopkg.in/goose.v1/identity"
14
func Test(t *testing.T) { gc.TestingT(t) }
16
var live = flag.Bool("live", false, "Include live OpenStack (Canonistack) tests")
18
type GlanceSuite struct {
22
func (s *GlanceSuite) SetUpSuite(c *gc.C) {
24
c.Skip("-live not provided")
27
cred, err := identity.CompleteCredentialsFromEnv()
28
c.Assert(err, gc.IsNil)
29
client := client.NewClient(cred, identity.AuthUserPass, nil)
30
c.Assert(err, gc.IsNil)
31
s.glance = glance.New(client)
34
var suite = gc.Suite(&GlanceSuite{})
36
func (s *GlanceSuite) TestListImages(c *gc.C) {
37
images, err := s.glance.ListImages()
38
c.Assert(err, gc.IsNil)
39
c.Assert(images, gc.Not(gc.HasLen), 0)
40
for _, ir := range images {
41
c.Assert(ir.Id, gc.Not(gc.Equals), "")
42
c.Assert(ir.Name, gc.Not(gc.Equals), "")
43
for _, l := range ir.Links {
44
c.Assert(l.Href, gc.Matches, "https?://.*")
45
c.Assert(l.Rel, gc.Matches, "self|bookmark|alternate")
50
func (s *GlanceSuite) TestListImagesDetail(c *gc.C) {
51
images, err := s.glance.ListImagesDetail()
52
c.Assert(err, gc.IsNil)
53
c.Assert(images, gc.Not(gc.HasLen), 0)
54
for _, ir := range images {
55
c.Assert(ir.Created, gc.Matches, `\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.*`)
56
c.Assert(ir.Updated, gc.Matches, `\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.*`)
57
c.Assert(ir.Id, gc.Not(gc.Equals), "")
58
c.Assert(ir.Status, gc.Not(gc.Equals), "")
59
c.Assert(ir.Name, gc.Not(gc.Equals), "")
60
for _, l := range ir.Links {
61
c.Assert(l.Href, gc.Matches, "https?://.*")
62
c.Assert(l.Rel, gc.Matches, "self|bookmark|alternate")
65
c.Assert(m.Architecture, gc.Matches, "i386|x86_64|")
66
c.Assert(m.State, gc.Matches, "active|available|")
70
func (s *GlanceSuite) TestGetImageDetail(c *gc.C) {
71
images, err := s.glance.ListImagesDetail()
72
c.Assert(err, gc.IsNil)
73
firstImage := images[0]
74
ir, err := s.glance.GetImageDetail(firstImage.Id)
75
c.Assert(err, gc.IsNil)
76
c.Assert(ir.Created, gc.Matches, firstImage.Created)
77
c.Assert(ir.Updated, gc.Matches, firstImage.Updated)
78
c.Assert(ir.Name, gc.Equals, firstImage.Name)
79
c.Assert(ir.Status, gc.Equals, firstImage.Status)