func (s *PlatformSuite) TestPlatformAddWithProvisionerError(c *gocheck.C) { provisioner := testing.ExtensibleFakeProvisioner{ FakeProvisioner: testing.NewFakeProvisioner(), } provisioner.PrepareFailure("PlatformAdd", errors.New("build error")) Provisioner = &provisioner defer func() { Provisioner = s.provisioner }() conn, err := db.Conn() c.Assert(err, gocheck.IsNil) defer conn.Close() name := "test_platform_add" args := make(map[string]string) args["dockerfile"] = "http://localhost/Dockerfile" err = PlatformAdd(name, args, nil) defer conn.Platforms().Remove(bson.M{"_id": name}) c.Assert(err, gocheck.NotNil) count, err := conn.Platforms().FindId(name).Count() c.Assert(err, gocheck.IsNil) c.Assert(count, gocheck.Equals, 0) }
func (s *PlatformSuite) TestPlatformAdd(c *gocheck.C) { provisioner := testing.ExtensibleFakeProvisioner{ FakeProvisioner: testing.NewFakeProvisioner(), } Provisioner = &provisioner defer func() { Provisioner = s.provisioner }() conn, err := db.Conn() c.Assert(err, gocheck.IsNil) defer conn.Close() name := "test_platform_add" args := make(map[string]string) args["dockerfile"] = "http://localhost/Dockerfile" err = PlatformAdd(name, args, nil) defer conn.Platforms().Remove(bson.M{"_id": name}) c.Assert(err, gocheck.IsNil) platform := provisioner.GetPlatform(name) c.Assert(platform.Name, gocheck.Equals, name) c.Assert(platform.Args, gocheck.DeepEquals, args) c.Assert(platform.Version, gocheck.Equals, 1) }
func (s *PlatformSuite) TestPlatformAddDuplicate(c *gocheck.C) { provisioner := testing.ExtensibleFakeProvisioner{ FakeProvisioner: testing.NewFakeProvisioner(), } Provisioner = &provisioner defer func() { Provisioner = s.provisioner }() conn, err := db.Conn() c.Assert(err, gocheck.IsNil) defer conn.Close() name := "test_platform_add" args := make(map[string]string) args["dockerfile"] = "http://localhost/Dockerfile" err = PlatformAdd(name, args, nil) defer conn.Platforms().Remove(bson.M{"_id": name}) c.Assert(err, gocheck.IsNil) provisioner.PlatformRemove(name) err = PlatformAdd(name, args, nil) _, ok := err.(DuplicatePlatformError) c.Assert(ok, gocheck.Equals, true) }