14717: Fixups since tests now use config.yml
[arvados.git] / services / crunch-run / git_mount_test.go
index 0161abbc55588adf852210b4881c51edfccdf228..5796ad7a278cfbb79df34210d3c81880e979a67b 100644 (file)
@@ -6,9 +6,11 @@ package main
 
 import (
        "io/ioutil"
+       "net/url"
        "os"
        "path/filepath"
 
+       "git.curoverse.com/arvados.git/lib/config"
        "git.curoverse.com/arvados.git/sdk/go/arvados"
        "git.curoverse.com/arvados.git/sdk/go/arvadostest"
        check "gopkg.in/check.v1"
@@ -67,6 +69,12 @@ func (s *GitMountSuite) TestextractTree(c *check.C) {
 
        // Ensure there's no extra stuff like a ".git" dir
        s.checkTmpdirContents(c, []string{"dir1"})
+
+       // Ensure tmpdir is world-readable and world-executable so the
+       // UID inside the container can use it.
+       fi, err = os.Stat(s.tmpdir)
+       c.Check(err, check.IsNil)
+       c.Check(fi.Mode()&os.ModePerm, check.Equals, os.FileMode(0755))
 }
 
 // Commit 5ebfab0 is not the tip of any branch or tag, but is
@@ -167,6 +175,15 @@ func (s *GitMountSuite) TestInvalid(c *check.C) {
                        },
                        matcher: ".*UUID.*",
                },
+               {
+                       gm: gitMount{
+                               Path:     "/",
+                               UUID:     arvadostest.Repository2UUID,
+                               Commit:   "5ebfab0522851df01fec11ec55a6d0f4877b542e",
+                               Writable: true,
+                       },
+                       matcher: ".*writable.*",
+               },
        } {
                err := trial.gm.extractTree(&ArvTestClient{}, s.tmpdir, arvadostest.ActiveToken)
                c.Check(err, check.NotNil)
@@ -188,7 +205,11 @@ func (s *GitMountSuite) checkTmpdirContents(c *check.C, expect []string) {
 func (*GitMountSuite) useTestGitServer(c *check.C) {
        git_client.InstallProtocol("https", git_http.NewClient(arvados.InsecureHTTPClient))
 
-       port, err := ioutil.ReadFile("../../tmp/arv-git-httpd-ssl.port")
+       loader := config.NewLoader(nil, nil)
+       cfg, err := loader.Load()
        c.Assert(err, check.IsNil)
-       discoveryMap["gitUrl"] = "https://localhost:" + string(port)
+       cluster, err := cfg.GetCluster("")
+       c.Assert(err, check.IsNil)
+
+       discoveryMap["gitUrl"] = (*url.URL)(&cluster.Services.GitHTTP.ExternalURL).String()
 }