gitlab.com/SkynetLabs/skyd@v1.6.9/skymodules/renter/upload_test.go (about)

     1  package renter
     2  
     3  import (
     4  	"io/ioutil"
     5  	"os"
     6  	"testing"
     7  
     8  	"gitlab.com/NebulousLabs/errors"
     9  	"gitlab.com/SkynetLabs/skyd/skymodules"
    10  )
    11  
    12  // TestRenterUploadDirectory verifies that the renter returns an error if a
    13  // directory is provided as the source of an upload.
    14  func TestRenterUploadDirectory(t *testing.T) {
    15  	if testing.Short() {
    16  		t.SkipNow()
    17  	}
    18  	rt, err := newRenterTester(t.Name())
    19  	if err != nil {
    20  		t.Fatal(err)
    21  	}
    22  	defer func() {
    23  		if err := rt.Close(); err != nil {
    24  			t.Fatal(err)
    25  		}
    26  	}()
    27  
    28  	testUploadPath, err := ioutil.TempDir("", t.Name())
    29  	if err != nil {
    30  		t.Fatal(err)
    31  	}
    32  	defer func() {
    33  		if err := os.RemoveAll(testUploadPath); err != nil {
    34  			t.Fatal(err)
    35  		}
    36  	}()
    37  
    38  	params := skymodules.FileUploadParams{
    39  		Source:      testUploadPath,
    40  		SiaPath:     skymodules.RandomSiaPath(),
    41  		ErasureCode: skymodules.NewRSCodeDefault(),
    42  	}
    43  	err = rt.renter.Upload(params)
    44  	if err == nil {
    45  		t.Fatal("expected Upload to fail with empty directory as source")
    46  	}
    47  	if !errors.Contains(err, ErrUploadDirectory) {
    48  		t.Fatal("expected ErrUploadDirectory, got", err)
    49  	}
    50  }