16833: Merge branch 'master' into 16833-replace-epydoc
[arvados.git] / sdk / go / arvados / fs_project_test.go
index dd35323b7736686daf488d8bac2ff0ddd40bd97a..86facd681e5aa336ed6c73252ecc9c3936c9502e 100644 (file)
@@ -52,6 +52,7 @@ func (s *SiteFSSuite) testHomeProject(c *check.C, path string) {
        f, err := s.fs.Open(path)
        c.Assert(err, check.IsNil)
        fis, err := f.Readdir(-1)
+       c.Assert(err, check.IsNil)
        c.Check(len(fis), check.Not(check.Equals), 0)
 
        ok := false
@@ -213,6 +214,7 @@ func (s *SiteFSSuite) TestProjectUpdatedByOther(c *check.C) {
        // Ensure collection was flushed by Sync
        var latest Collection
        err = s.client.RequestAndDecode(&latest, "GET", "arvados/v1/collections/"+oob.UUID, nil, nil)
+       c.Check(err, check.IsNil)
        c.Check(latest.ManifestText, check.Matches, `.*:test.txt.*\n`)
 
        // Delete test.txt behind s.fs's back by updating the
@@ -238,3 +240,23 @@ func (s *SiteFSSuite) TestProjectUpdatedByOther(c *check.C) {
        _, err = s.fs.Open("/home/A Project/oob")
        c.Check(err, check.IsNil) // parent dir still has old collection -- didn't reload, because Sync failed
 }
+
+func (s *SiteFSSuite) TestProjectUnsupportedOperations(c *check.C) {
+       s.fs.MountByID("by_id")
+       s.fs.MountProject("home", "")
+
+       _, err := s.fs.OpenFile("/home/A Project/newfilename", os.O_CREATE|os.O_RDWR, 0)
+       c.Check(err, check.ErrorMatches, "invalid argument")
+
+       err = s.fs.Mkdir("/home/A Project/newdirname", 0)
+       c.Check(err, check.ErrorMatches, "invalid argument")
+
+       err = s.fs.Mkdir("/by_id/newdirname", 0)
+       c.Check(err, check.ErrorMatches, "invalid argument")
+
+       err = s.fs.Mkdir("/by_id/"+fixtureAProjectUUID+"/newdirname", 0)
+       c.Check(err, check.ErrorMatches, "invalid argument")
+
+       _, err = s.fs.OpenFile("/home/A Project", 0, 0)
+       c.Check(err, check.IsNil)
+}