github.com/Files-com/files-sdk-go/v2@v2.1.2/file/remotefs_test.go (about)

     1  package file
     2  
     3  import (
     4  	"context"
     5  	"path/filepath"
     6  	"strings"
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/require"
    10  
    11  	"github.com/stretchr/testify/assert"
    12  )
    13  
    14  func TestFS_Open(t *testing.T) {
    15  	client, r, err := CreateClient("TestFS_Open")
    16  	if err != nil {
    17  		t.Fatal(err)
    18  	}
    19  	defer r.Stop()
    20  
    21  	assert := assert.New(t)
    22  	client.Upload(
    23  		UploadWithReader(strings.NewReader("testing 3")),
    24  		UploadWithSize(9),
    25  		UploadWithDestinationPath(filepath.Join("remotefs_test", "1.text")),
    26  	)
    27  
    28  	fs := (&FS{}).Init(client.Config, true)
    29  	fs = fs.WithContext(context.TODO()).(*FS)
    30  	f, err := fs.Open("remotefs_test")
    31  	assert.NoError(err)
    32  	rf, ok := f.(*ReadDirFile)
    33  	assert.Equal(true, ok)
    34  	entry, err := rf.ReadDir(0)
    35  	assert.NoError(err)
    36  	assert.Equal(1, len(entry))
    37  	assert.Equal(false, entry[0].IsDir())
    38  	info, err := entry[0].Info()
    39  	assert.NoError(err)
    40  	assert.Equal("1.text", info.Name())
    41  	fsFile, ok := entry[0].(*File)
    42  	assert.Equal(true, ok)
    43  	buf := make([]byte, 8)
    44  	_, err = fsFile.Read(buf)
    45  	assert.NoError(err)
    46  	err = fsFile.Close()
    47  	assert.NoError(err)
    48  	assert.Equal("testing ", string(buf))
    49  
    50  	buf = make([]byte, 9)
    51  	_, err = fsFile.Read(buf)
    52  	assert.NoError(err)
    53  	err = fsFile.Close()
    54  	assert.NoError(err)
    55  
    56  	assert.Equal("testing 3", string(buf))
    57  
    58  	_, err = fs.ReadDir(".")
    59  	require.NoError(t, err)
    60  
    61  	_, err = fs.Open(".")
    62  	require.NoError(t, err)
    63  }