func (s *steps124Suite) TestCopyFileNew(c *gc.C) { src := c.MkDir() dest := c.MkDir() srcdata := []byte("new data!") // test that a file in src dir and not in dest dir gets copied. newSrc := filepath.Join(src, "new") err := ioutil.WriteFile(newSrc, srcdata, 0644) c.Assert(err, jc.ErrorIsNil) newDest := filepath.Join(dest, "new") err = upgrades.CopyFile(newDest, newSrc) c.Assert(err, jc.ErrorIsNil) srcb, err := ioutil.ReadFile(newSrc) c.Assert(err, jc.ErrorIsNil) destb, err := ioutil.ReadFile(newDest) c.Assert(err, jc.ErrorIsNil) // convert to string and use Equals because we'll get a better failure message c.Assert(string(destb), gc.Equals, string(srcb)) }
func (s *steps124Suite) TestCopyFileExisting(c *gc.C) { src := c.MkDir() dest := c.MkDir() srcdata := []byte("new data!") destdata := []byte("old data!") exSrc := filepath.Join(src, "existing") exDest := filepath.Join(dest, "existing") err := ioutil.WriteFile(exSrc, srcdata, 0644) c.Assert(err, jc.ErrorIsNil) err = ioutil.WriteFile(exDest, destdata, 0644) c.Assert(err, jc.ErrorIsNil) err = upgrades.CopyFile(exDest, exSrc) c.Assert(err, jc.ErrorIsNil) // assert we haven't changed the destination b, err := ioutil.ReadFile(exDest) c.Assert(err, jc.ErrorIsNil) // convert to string because we'll get a better failure message c.Assert(string(b), gc.Equals, string(destdata)) }