13111: Add /home test case.
[arvados.git] / sdk / go / arvados / fs_project_test.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: Apache-2.0
4
5 package arvados
6
7 import (
8         "os"
9
10         check "gopkg.in/check.v1"
11 )
12
13 func (s *SiteFSSuite) TestHomeProject(c *check.C) {
14         f, err := s.fs.Open("/home")
15         c.Assert(err, check.IsNil)
16         fis, err := f.Readdir(-1)
17         c.Check(len(fis), check.Not(check.Equals), 0)
18
19         ok := false
20         for _, fi := range fis {
21                 c.Check(fi.Name(), check.Not(check.Equals), "")
22                 if fi.Name() == "Unrestricted public data" {
23                         ok = true
24                 }
25         }
26         c.Check(ok, check.Equals, true)
27
28         f, err = s.fs.Open("/home/Unrestricted public data/..")
29         c.Assert(err, check.IsNil)
30         fi, err := f.Stat()
31         c.Check(err, check.IsNil)
32         c.Check(fi.IsDir(), check.Equals, true)
33         c.Check(fi.Name(), check.Equals, "home")
34
35         f, err = s.fs.Open("/home/Unrestricted public data/Subproject in anonymous accessible project")
36         c.Check(err, check.IsNil)
37         fi, err = f.Stat()
38         c.Check(err, check.IsNil)
39         c.Check(fi.IsDir(), check.Equals, true)
40
41         for _, nx := range []string{
42                 "/home/A Project",
43                 "/home/A Project/does not exist",
44                 "/home/Unrestricted public data/does not exist",
45         } {
46                 c.Log(nx)
47                 f, err = s.fs.Open(nx)
48                 c.Check(err, check.NotNil)
49                 c.Check(os.IsNotExist(err), check.Equals, true)
50         }
51 }