14716: Moves keep-web legacy config loading test to lib/config.
authorLucas Di Pentima <ldipentima@veritasgenetics.com>
Mon, 12 Aug 2019 20:38:04 +0000 (17:38 -0300)
committerLucas Di Pentima <ldipentima@veritasgenetics.com>
Mon, 12 Aug 2019 20:38:04 +0000 (17:38 -0300)
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima@veritasgenetics.com>

lib/config/deprecated_test.go
services/keep-web/server_test.go

index 308b0cc359e92b1d79e2d60502d2069eed3d5102..8479842be9a3bf1255ff3777373b11468f7bbf8d 100644 (file)
@@ -5,8 +5,12 @@
 package config
 
 import (
+       "flag"
+       "io/ioutil"
        "os"
+       "time"
 
+       "git.curoverse.com/arvados.git/sdk/go/arvados"
        check "gopkg.in/check.v1"
 )
 
@@ -51,3 +55,75 @@ Clusters:
      listen: ":9006"
 `)
 }
+
+func (s *LoadSuite) TestLegacyKeepWebConfig(c *check.C) {
+       content := []byte(`
+{
+       "Client": {
+               "Scheme": "",
+               "APIHost": "example.com",
+               "AuthToken": "abcdefg",
+       },
+       "Listen": ":80",
+       "AnonymousTokens": [
+               "anonusertoken"
+       ],
+       "AttachmentOnlyHost": "download.example.com",
+       "TrustAllContent": true,
+       "Cache": {
+               "TTL": "1m",
+               "UUIDTTL": "1s",
+               "MaxCollectionEntries": 42,
+               "MaxCollectionBytes": 1234567890,
+               "MaxPermissionEntries": 100,
+               "MaxUUIDEntries": 100
+       },
+       "ManagementToken": "xyzzy"
+}
+`)
+       tmpfile, err := ioutil.TempFile("", "example")
+       if err != nil {
+               c.Error(err)
+       }
+       defer os.Remove(tmpfile.Name())
+
+       if _, err := tmpfile.Write(content); err != nil {
+               c.Error(err)
+       }
+       if err := tmpfile.Close(); err != nil {
+               c.Error(err)
+       }
+       flags := flag.NewFlagSet("keep-web", flag.ExitOnError)
+       ldr := testLoader(c, "Clusters: {zzzzz: {}}", nil)
+       ldr.SetupFlags(flags)
+       args := ldr.MungeLegacyConfigArgs(ldr.Logger, []string{"-config", tmpfile.Name()}, "-legacy-keepweb-config")
+       flags.Parse(args)
+       cfg, err := ldr.Load()
+       if err != nil {
+               c.Error(err)
+       }
+       c.Check(cfg, check.NotNil)
+       cluster, err := cfg.GetCluster("")
+       if err != nil {
+               c.Error(err)
+       }
+       c.Check(cluster, check.NotNil)
+
+       c.Check(cluster.Services.Controller.ExternalURL, check.Equals, arvados.URL{Scheme: "https", Host: "example.com"})
+       c.Check(cluster.SystemRootToken, check.Equals, "abcdefg")
+
+       c.Check(cluster.Collections.WebDAVCache.TTL, check.Equals, arvados.Duration(60*time.Second))
+       c.Check(cluster.Collections.WebDAVCache.UUIDTTL, check.Equals, arvados.Duration(time.Second))
+       c.Check(cluster.Collections.WebDAVCache.MaxCollectionEntries, check.Equals, 42)
+       c.Check(cluster.Collections.WebDAVCache.MaxCollectionBytes, check.Equals, int64(1234567890))
+       c.Check(cluster.Collections.WebDAVCache.MaxPermissionEntries, check.Equals, 100)
+       c.Check(cluster.Collections.WebDAVCache.MaxUUIDEntries, check.Equals, 100)
+
+       c.Check(cluster.Services.WebDAVDownload.ExternalURL, check.Equals, arvados.URL{Host: "download.example.com"})
+       c.Check(cluster.Services.WebDAVDownload.InternalURLs[arvados.URL{Host: ":80"}], check.NotNil)
+       c.Check(cluster.Services.WebDAV.InternalURLs[arvados.URL{Host: ":80"}], check.NotNil)
+
+       c.Check(cluster.Collections.TrustAllContent, check.Equals, true)
+       c.Check(cluster.Users.AnonymousUserToken, check.Equals, "anonusertoken")
+       c.Check(cluster.ManagementToken, check.Equals, "xyzzy")
+}
index 0607a7665107e8c747bc2dfb64070de0246230d5..edf8b83aa0491d5436f09f10cdd47fd82fec639d 100644 (file)
@@ -17,14 +17,12 @@ import (
        "os/exec"
        "strings"
        "testing"
-       "time"
 
        "git.curoverse.com/arvados.git/lib/config"
        "git.curoverse.com/arvados.git/sdk/go/arvados"
        "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
        "git.curoverse.com/arvados.git/sdk/go/arvadostest"
        "git.curoverse.com/arvados.git/sdk/go/keepclient"
-       log "github.com/sirupsen/logrus"
        check "gopkg.in/check.v1"
 )
 
@@ -409,66 +407,6 @@ func (s *IntegrationSuite) TestMetrics(c *check.C) {
        c.Check(resp.StatusCode, check.Equals, http.StatusNotFound)
 }
 
-func (s *UnitSuite) TestLegacyConfig(c *check.C) {
-       content := []byte(`
-{
-       "Client": {
-               "Scheme": "",
-               "APIHost": "example.com",
-               "AuthToken": "abcdefg",
-       },
-       "Listen": ":80",
-       "AnonymousTokens": [
-               "anonusertoken"
-       ],
-       "AttachmentOnlyHost": "download.example.com",
-       "TrustAllContent": true,
-       "Cache": {
-               "TTL": "1m",
-               "UUIDTTL": "1s",
-               "MaxCollectionEntries": 42,
-               "MaxCollectionBytes": 1234567890,
-               "MaxPermissionEntries": 100,
-               "MaxUUIDEntries": 100
-       },
-       "ManagementToken": "xyzzy"
-}
-`)
-       tmpfile, err := ioutil.TempFile("", "example")
-       if err != nil {
-               c.Error(err)
-       }
-       defer os.Remove(tmpfile.Name())
-
-       if _, err := tmpfile.Write(content); err != nil {
-               c.Error(err)
-       }
-       if err := tmpfile.Close(); err != nil {
-               c.Error(err)
-       }
-       cfg := configure(log.New(), []string{"keep-web", "-config", tmpfile.Name()})
-       c.Check(cfg, check.NotNil)
-       c.Check(cfg.cluster, check.NotNil)
-
-       c.Check(cfg.cluster.Services.Controller.ExternalURL, check.Equals, arvados.URL{Scheme: "https", Host: "example.com"})
-       c.Check(cfg.cluster.SystemRootToken, check.Equals, "abcdefg")
-
-       c.Check(cfg.cluster.Collections.WebDAVCache.TTL, check.Equals, arvados.Duration(60*time.Second))
-       c.Check(cfg.cluster.Collections.WebDAVCache.UUIDTTL, check.Equals, arvados.Duration(time.Second))
-       c.Check(cfg.cluster.Collections.WebDAVCache.MaxCollectionEntries, check.Equals, 42)
-       c.Check(cfg.cluster.Collections.WebDAVCache.MaxCollectionBytes, check.Equals, int64(1234567890))
-       c.Check(cfg.cluster.Collections.WebDAVCache.MaxPermissionEntries, check.Equals, 100)
-       c.Check(cfg.cluster.Collections.WebDAVCache.MaxUUIDEntries, check.Equals, 100)
-
-       c.Check(cfg.cluster.Services.WebDAVDownload.ExternalURL, check.Equals, arvados.URL{Host: "download.example.com"})
-       c.Check(cfg.cluster.Services.WebDAVDownload.InternalURLs[arvados.URL{Host: ":80"}], check.NotNil)
-       c.Check(cfg.cluster.Services.WebDAV.InternalURLs[arvados.URL{Host: ":80"}], check.NotNil)
-
-       c.Check(cfg.cluster.Collections.TrustAllContent, check.Equals, true)
-       c.Check(cfg.cluster.Users.AnonymousUserToken, check.Equals, "anonusertoken")
-       c.Check(cfg.cluster.ManagementToken, check.Equals, "xyzzy")
-}
-
 func (s *IntegrationSuite) SetUpSuite(c *check.C) {
        arvadostest.StartAPI()
        arvadostest.StartKeep(2, true)