func (s *PlatformSuite) TestPlatformAddWithProvisionerError(c *check.C) { provisioner := provisiontest.ExtensibleFakeProvisioner{ FakeProvisioner: provisiontest.NewFakeProvisioner(), } provisioner.PrepareFailure("PlatformAdd", errors.New("build error")) Provisioner = &provisioner defer func() { Provisioner = s.provisioner }() conn, err := db.Conn() c.Assert(err, check.IsNil) defer conn.Close() name := "test_platform_add" args := make(map[string]string) args["dockerfile"] = "http://localhost/Dockerfile" err = PlatformAdd(provision.PlatformOptions{Name: name, Args: args}) defer conn.Platforms().Remove(bson.M{"_id": name}) c.Assert(err, check.NotNil) count, err := conn.Platforms().FindId(name).Count() c.Assert(err, check.IsNil) c.Assert(count, check.Equals, 0) }