rc: listremotes should send an empty array

This commit is contained in:
n4n5 2025-04-10 14:08:13 +02:00
parent 894ef3b375
commit 86edbed328
No known key found for this signature in database
GPG Key ID: 79414EADC6D4B457
2 changed files with 19 additions and 0 deletions

View File

@ -75,6 +75,9 @@ See the [listremotes](/commands/rclone_listremotes/) command for more informatio
// including any defined by environment variables.
func rcListRemotes(ctx context.Context, in rc.Params) (out rc.Params, err error) {
remoteNames := GetRemoteNames()
if remoteNames == nil {
remoteNames = []string{}
}
out = rc.Params{
"remotes": remoteNames,
}

View File

@ -138,6 +138,22 @@ func TestRc(t *testing.T) {
assert.Nil(t, out)
assert.Equal(t, "", config.GetValue(testName, "type"))
assert.Equal(t, "", config.GetValue(testName, "test_key"))
t.Run("ListRemotes empty not nil", func(t *testing.T) {
call := rc.Calls.Get("config/listremotes")
assert.NotNil(t, call)
in := rc.Params{}
out, err := call.Fn(context.Background(), in)
require.NoError(t, err)
require.NotNil(t, out)
var remotes []string
err = out.GetStruct("remotes", &remotes)
require.NoError(t, err)
assert.NotNil(t, remotes)
assert.Empty(t, remotes)
})
}
func TestRcProviders(t *testing.T) {