gitlab.com/SkynetLabs/skyd@v1.6.9/skymodules/renter/filesystem/siadir/siadir_helpers_test.go (about)

     1  package siadir
     2  
     3  import (
     4  	"os"
     5  	"path/filepath"
     6  	"testing"
     7  	"time"
     8  
     9  	"gitlab.com/NebulousLabs/fastrand"
    10  	"go.sia.tech/siad/persist"
    11  )
    12  
    13  // newRootDir creates a root directory for the test and removes old test files
    14  func newRootDir(t *testing.T) (string, error) {
    15  	dir := filepath.Join(os.TempDir(), "siadirs", t.Name())
    16  	err := os.RemoveAll(dir)
    17  	if err != nil {
    18  		return "", err
    19  	}
    20  	return dir, nil
    21  }
    22  
    23  // randomMetadata returns a siadir Metadata struct with random values set
    24  func randomMetadata() Metadata {
    25  	md := Metadata{
    26  		AggregateHealth:              float64(fastrand.Intn(100)),
    27  		AggregateLastHealthCheckTime: time.Now(),
    28  		AggregateMinRedundancy:       float64(fastrand.Intn(100)),
    29  		AggregateModTime:             time.Now(),
    30  		AggregateNumFiles:            fastrand.Uint64n(100),
    31  		AggregateNumLostFiles:        fastrand.Uint64n(100),
    32  		AggregateNumStuckChunks:      fastrand.Uint64n(100),
    33  		AggregateNumSubDirs:          fastrand.Uint64n(100),
    34  		AggregateNumUnfinishedFiles:  fastrand.Uint64n(100),
    35  		AggregateRemoteHealth:        float64(fastrand.Intn(100)),
    36  		AggregateRepairSize:          fastrand.Uint64n(100),
    37  		AggregateSize:                fastrand.Uint64n(100),
    38  		AggregateStuckHealth:         float64(fastrand.Intn(100)),
    39  		AggregateStuckSize:           fastrand.Uint64n(100),
    40  
    41  		AggregateSkynetFiles: fastrand.Uint64n(100),
    42  		AggregateSkynetSize:  fastrand.Uint64n(100),
    43  
    44  		Health:              float64(fastrand.Intn(100)),
    45  		LastHealthCheckTime: time.Now(),
    46  		MinRedundancy:       float64(fastrand.Intn(100)),
    47  		ModTime:             time.Now(),
    48  		NumFiles:            fastrand.Uint64n(100),
    49  		NumLostFiles:        fastrand.Uint64n(100),
    50  		NumStuckChunks:      fastrand.Uint64n(100),
    51  		NumSubDirs:          fastrand.Uint64n(100),
    52  		NumUnfinishedFiles:  fastrand.Uint64n(100),
    53  		RemoteHealth:        float64(fastrand.Intn(100)),
    54  		RepairSize:          fastrand.Uint64n(100),
    55  		Size:                fastrand.Uint64n(100),
    56  		StuckHealth:         float64(fastrand.Intn(100)),
    57  		StuckSize:           fastrand.Uint64n(100),
    58  
    59  		SkynetFiles: fastrand.Uint64n(100),
    60  		SkynetSize:  fastrand.Uint64n(100),
    61  	}
    62  	return md
    63  }
    64  
    65  // newSiaDirTestDir creates a test directory for a siadir test
    66  func newSiaDirTestDir(testDir string) (string, error) {
    67  	rootPath := filepath.Join(os.TempDir(), "siadirs", testDir)
    68  	if err := os.RemoveAll(rootPath); err != nil {
    69  		return "", err
    70  	}
    71  	return rootPath, os.MkdirAll(rootPath, persist.DefaultDiskPermissionsTest)
    72  }