github.com/divyam234/rclone@v1.64.1/fs/newfs_test.go (about)

     1  package fs_test
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/divyam234/rclone/fs"
     8  	"github.com/divyam234/rclone/fstest/mockfs"
     9  	"github.com/stretchr/testify/assert"
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func TestNewFs(t *testing.T) {
    14  	ctx := context.Background()
    15  
    16  	// Register mockfs temporarily
    17  	oldRegistry := fs.Registry
    18  	mockfs.Register()
    19  	defer func() {
    20  		fs.Registry = oldRegistry
    21  	}()
    22  
    23  	f1, err := fs.NewFs(ctx, ":mockfs:/tmp")
    24  	require.NoError(t, err)
    25  	assert.Equal(t, ":mockfs", f1.Name())
    26  	assert.Equal(t, "/tmp", f1.Root())
    27  
    28  	assert.Equal(t, ":mockfs:/tmp", fs.ConfigString(f1))
    29  
    30  	f2, err := fs.NewFs(ctx, ":mockfs,potato:/tmp")
    31  	require.NoError(t, err)
    32  	assert.Equal(t, ":mockfs{S_NHG}", f2.Name())
    33  	assert.Equal(t, "/tmp", f2.Root())
    34  
    35  	assert.Equal(t, ":mockfs{S_NHG}:/tmp", fs.ConfigString(f2))
    36  	assert.Equal(t, ":mockfs,potato='true':/tmp", fs.ConfigStringFull(f2))
    37  
    38  	f3, err := fs.NewFs(ctx, ":mockfs,potato='true':/tmp")
    39  	require.NoError(t, err)
    40  	assert.Equal(t, ":mockfs{S_NHG}", f3.Name())
    41  	assert.Equal(t, "/tmp", f3.Root())
    42  
    43  	assert.Equal(t, ":mockfs{S_NHG}:/tmp", fs.ConfigString(f3))
    44  	assert.Equal(t, ":mockfs,potato='true':/tmp", fs.ConfigStringFull(f3))
    45  }