cache: make tests not start an rc but use the internal framework

This commit is contained in:
Nick Craig-Wood 2018-11-01 17:13:34 +00:00
parent 89550e7121
commit 0b80d1481a

View File

@ -5,14 +5,12 @@ package cache_test
import ( import (
"bytes" "bytes"
"encoding/base64" "encoding/base64"
"encoding/json"
goflag "flag" goflag "flag"
"fmt" "fmt"
"io" "io"
"io/ioutil" "io/ioutil"
"log" "log"
"math/rand" "math/rand"
"net/http"
"os" "os"
"path" "path"
"path/filepath" "path/filepath"
@ -31,12 +29,12 @@ import (
"github.com/ncw/rclone/fs/config" "github.com/ncw/rclone/fs/config"
"github.com/ncw/rclone/fs/config/configmap" "github.com/ncw/rclone/fs/config/configmap"
"github.com/ncw/rclone/fs/object" "github.com/ncw/rclone/fs/object"
"github.com/ncw/rclone/fs/rc/rcflags" "github.com/ncw/rclone/fs/rc"
"github.com/ncw/rclone/fs/rc/rcserver"
"github.com/ncw/rclone/fstest" "github.com/ncw/rclone/fstest"
"github.com/ncw/rclone/vfs" "github.com/ncw/rclone/vfs"
"github.com/ncw/rclone/vfs/vfsflags" "github.com/ncw/rclone/vfs/vfsflags"
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )
@ -692,8 +690,8 @@ func TestInternalChangeSeenAfterDirCacheFlush(t *testing.T) {
} }
func TestInternalChangeSeenAfterRc(t *testing.T) { func TestInternalChangeSeenAfterRc(t *testing.T) {
rcflags.Opt.Enabled = true cacheExpire := rc.Calls.Get("cache/expire")
rcserver.Start(&rcflags.Opt) assert.NotNil(t, cacheExpire)
id := fmt.Sprintf("ticsarc%v", time.Now().Unix()) id := fmt.Sprintf("ticsarc%v", time.Now().Unix())
rootFs, boltDb := runInstance.newCacheFs(t, remoteName, id, false, true, nil, nil) rootFs, boltDb := runInstance.newCacheFs(t, remoteName, id, false, true, nil, nil)
@ -726,13 +724,8 @@ func TestInternalChangeSeenAfterRc(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.NotEqual(t, o.ModTime().String(), co.ModTime().String()) require.NotEqual(t, o.ModTime().String(), co.ModTime().String())
m := make(map[string]string) // Call the rc function
res, err := http.Post(fmt.Sprintf("http://localhost:5572/cache/expire?remote=%s", "data.bin"), "application/json; charset=utf-8", strings.NewReader("")) m, err := cacheExpire.Fn(rc.Params{"remote": "data.bin"})
require.NoError(t, err)
defer func() {
_ = res.Body.Close()
}()
_ = json.NewDecoder(res.Body).Decode(&m)
require.Contains(t, m, "status") require.Contains(t, m, "status")
require.Contains(t, m, "message") require.Contains(t, m, "message")
require.Equal(t, "ok", m["status"]) require.Equal(t, "ok", m["status"])
@ -752,13 +745,8 @@ func TestInternalChangeSeenAfterRc(t *testing.T) {
li1, err = runInstance.list(t, rootFs, "") li1, err = runInstance.list(t, rootFs, "")
require.Len(t, li1, 1) require.Len(t, li1, 1)
m = make(map[string]string) // Call the rc function
res2, err := http.Post("http://localhost:5572/cache/expire?remote=/", "application/json; charset=utf-8", strings.NewReader("")) m, err = cacheExpire.Fn(rc.Params{"remote": "/"})
require.NoError(t, err)
defer func() {
_ = res2.Body.Close()
}()
_ = json.NewDecoder(res2.Body).Decode(&m)
require.Contains(t, m, "status") require.Contains(t, m, "status")
require.Contains(t, m, "message") require.Contains(t, m, "message")
require.Equal(t, "ok", m["status"]) require.Equal(t, "ok", m["status"])