1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
12 "git.curoverse.com/arvados.git/sdk/go/arvadostest"
13 check "gopkg.in/check.v1"
16 func (s *IntegrationSuite) TestWebdavWithCadaver(c *check.C) {
17 basePath := "/c=" + arvadostest.FooAndBarFilesInDirUUID + "/t=" + arvadostest.ActiveToken + "/"
18 type testcase struct {
23 for _, trial := range []testcase{
27 match: `(?ms).*dir1 *0 .*`,
32 match: `(?ms).*bar *3.*foo *3 .*`,
35 path: basePath + "_/dir1",
37 match: `(?ms).*bar *3.*foo *3 .*`,
40 path: basePath + "dir1/",
42 match: `(?ms).*bar *3.*foo *3 .*`,
45 c.Logf("%s %#v", "http://"+s.testServer.Addr, trial)
46 cmd := exec.Command("cadaver", "http://"+s.testServer.Addr+trial.path)
47 cmd.Stdin = bytes.NewBufferString(trial.cmd)
48 stdout, err := cmd.StdoutPipe()
49 c.Assert(err, check.Equals, nil)
50 cmd.Stderr = cmd.Stdout
54 _, err = io.Copy(&buf, stdout)
55 c.Check(err, check.Equals, nil)
57 c.Check(err, check.Equals, nil)
58 c.Check(buf.String(), check.Matches, trial.match)