mirror of
https://github.com/rclone/rclone.git
synced 2024-12-23 07:29:35 +01:00
fstest: fix PublicLink tests to send non zero expiry and work with s3
This commit is contained in:
parent
40611fc4fc
commit
4b4ee72796
@ -1466,38 +1466,40 @@ func Run(t *testing.T, opt *Opt) {
|
|||||||
t.Skip("FS has no PublicLinker interface")
|
t.Skip("FS has no PublicLinker interface")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
expiry := fs.Duration(60 * time.Second)
|
||||||
|
|
||||||
// if object not found
|
// if object not found
|
||||||
link, err := doPublicLink(ctx, file1.Path+"_does_not_exist", fs.Duration(0), false)
|
link, err := doPublicLink(ctx, file1.Path+"_does_not_exist", expiry, false)
|
||||||
require.Error(t, err, "Expected to get error when file doesn't exist")
|
require.Error(t, err, "Expected to get error when file doesn't exist")
|
||||||
require.Equal(t, "", link, "Expected link to be empty on error")
|
require.Equal(t, "", link, "Expected link to be empty on error")
|
||||||
|
|
||||||
// sharing file for the first time
|
// sharing file for the first time
|
||||||
link1, err := doPublicLink(ctx, file1.Path, fs.Duration(0), false)
|
link1, err := doPublicLink(ctx, file1.Path, expiry, false)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotEqual(t, "", link1, "Link should not be empty")
|
require.NotEqual(t, "", link1, "Link should not be empty")
|
||||||
|
|
||||||
link2, err := doPublicLink(ctx, file2.Path, fs.Duration(0), false)
|
link2, err := doPublicLink(ctx, file2.Path, expiry, false)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotEqual(t, "", link2, "Link should not be empty")
|
require.NotEqual(t, "", link2, "Link should not be empty")
|
||||||
|
|
||||||
require.NotEqual(t, link1, link2, "Links to different files should differ")
|
require.NotEqual(t, link1, link2, "Links to different files should differ")
|
||||||
|
|
||||||
// sharing file for the 2nd time
|
// sharing file for the 2nd time
|
||||||
link1, err = doPublicLink(ctx, file1.Path, fs.Duration(0), false)
|
link1, err = doPublicLink(ctx, file1.Path, expiry, false)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotEqual(t, "", link1, "Link should not be empty")
|
require.NotEqual(t, "", link1, "Link should not be empty")
|
||||||
|
|
||||||
// sharing directory for the first time
|
// sharing directory for the first time
|
||||||
path := path.Dir(file2.Path)
|
path := path.Dir(file2.Path)
|
||||||
link3, err := doPublicLink(ctx, path, fs.Duration(0), false)
|
link3, err := doPublicLink(ctx, path, expiry, false)
|
||||||
if err != nil && errors.Cause(err) == fs.ErrorCantShareDirectories {
|
if err != nil && (errors.Cause(err) == fs.ErrorCantShareDirectories || errors.Cause(err) == fs.ErrorObjectNotFound) {
|
||||||
t.Log("skipping directory tests as not supported on this backend")
|
t.Log("skipping directory tests as not supported on this backend")
|
||||||
} else {
|
} else {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotEqual(t, "", link3, "Link should not be empty")
|
require.NotEqual(t, "", link3, "Link should not be empty")
|
||||||
|
|
||||||
// sharing directory for the second time
|
// sharing directory for the second time
|
||||||
link3, err = doPublicLink(ctx, path, fs.Duration(0), false)
|
link3, err = doPublicLink(ctx, path, expiry, false)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotEqual(t, "", link3, "Link should not be empty")
|
require.NotEqual(t, "", link3, "Link should not be empty")
|
||||||
|
|
||||||
@ -1511,7 +1513,7 @@ func Run(t *testing.T, opt *Opt) {
|
|||||||
_, err = subRemote.Put(ctx, buf, obji)
|
_, err = subRemote.Put(ctx, buf, obji)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
link4, err := subRemote.Features().PublicLink(ctx, "", fs.Duration(0), false)
|
link4, err := subRemote.Features().PublicLink(ctx, "", expiry, false)
|
||||||
require.NoError(t, err, "Sharing root in a sub-remote should work")
|
require.NoError(t, err, "Sharing root in a sub-remote should work")
|
||||||
require.NotEqual(t, "", link4, "Link should not be empty")
|
require.NotEqual(t, "", link4, "Link should not be empty")
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user