7
. "launchpad.net/gocheck"
7
gc "launchpad.net/gocheck"
8
11
"launchpad.net/juju-core/constraints"
9
12
"launchpad.net/juju-core/environs/imagemetadata"
10
13
coretesting "launchpad.net/juju-core/testing"
14
16
type imageSuite struct {
18
20
func Test(t *testing.T) {
22
var _ = Suite(&imageSuite{})
24
var _ = gc.Suite(&imageSuite{})
24
func (s *imageSuite) SetUpSuite(c *C) {
26
func (s *imageSuite) SetUpSuite(c *gc.C) {
25
27
s.LoggingSuite.SetUpSuite(c)
28
func (s *imageSuite) TearDownSuite(c *C) {
30
func (s *imageSuite) TearDownSuite(c *gc.C) {
29
31
s.LoggingSuite.TearDownTest(c)
193
func (s *imageSuite) TestFindInstanceSpec(c *C) {
195
func (s *imageSuite) TestFindInstanceSpec(c *gc.C) {
194
196
for _, t := range findInstanceSpecTests {
195
197
c.Logf("test: %v", t.desc)
217
219
Constraints: constraints.MustParse(t.constraints),
218
220
}, t.instanceTypes)
220
c.Check(err, ErrorMatches, t.err)
223
if !c.Check(err, IsNil) {
226
c.Check(spec.Image.Id, Equals, t.imageId)
222
c.Check(err, gc.ErrorMatches, t.err)
225
if !c.Check(err, gc.IsNil) {
228
c.Check(spec.Image.Id, gc.Equals, t.imageId)
227
229
if len(t.instanceTypes) == 1 {
228
c.Check(spec.InstanceType, DeepEquals, t.instanceTypes[0])
230
c.Check(spec.InstanceType, gc.DeepEquals, t.instanceTypes[0])
263
func (s *imageSuite) TestImageMatch(c *C) {
265
func (s *imageSuite) TestImageMatch(c *gc.C) {
264
266
for i, t := range imageMatchtests {
265
267
c.Logf("test %d", i)
266
c.Check(t.image.match(t.itype), Equals, t.match)
268
c.Check(t.image.match(t.itype), gc.Equals, t.match)
272
func (*imageSuite) TestImageMetadataToImagesAcceptsNil(c *gc.C) {
273
c.Check(ImageMetadataToImages(nil), gc.HasLen, 0)
276
func (*imageSuite) TestImageMetadataToImagesConvertsSelectMetadata(c *gc.C) {
277
input := []*imagemetadata.ImageMetadata{
280
Storage: "storage-is-ignored",
283
RegionAlias: "region-alias-is-ignored",
284
RegionName: "region-name-is-ignored",
285
Endpoint: "endpoint-is-ignored",
288
expectation := []Image{
295
c.Check(ImageMetadataToImages(input), gc.DeepEquals, expectation)
298
func (*imageSuite) TestImageMetadataToImagesMaintainsOrdering(c *gc.C) {
299
input := []*imagemetadata.ImageMetadata{
300
{Id: "one", Arch: "Z80"},
301
{Id: "two", Arch: "i386"},
302
{Id: "three", Arch: "amd64"},
304
expectation := []Image{
305
{Id: "one", Arch: "Z80"},
306
{Id: "two", Arch: "i386"},
307
{Id: "three", Arch: "amd64"},
309
c.Check(ImageMetadataToImages(input), gc.DeepEquals, expectation)