From 803c1beb16c35f225d22e0dfd7f45165f13bc5db Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Mon, 12 Aug 2019 17:38:04 -0300 Subject: [PATCH] 14716: Moves keep-web legacy config loading test to lib/config. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- lib/config/deprecated_test.go | 76 ++++++++++++++++++++++++++++++++ services/keep-web/server_test.go | 62 -------------------------- 2 files changed, 76 insertions(+), 62 deletions(-) diff --git a/lib/config/deprecated_test.go b/lib/config/deprecated_test.go index 308b0cc359..8479842be9 100644 --- a/lib/config/deprecated_test.go +++ b/lib/config/deprecated_test.go @@ -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") +} diff --git a/services/keep-web/server_test.go b/services/keep-web/server_test.go index 0607a76651..edf8b83aa0 100644 --- a/services/keep-web/server_test.go +++ b/services/keep-web/server_test.go @@ -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) -- 2.30.2