github.com/argoproj/argo-cd/v3@v3.2.1/util/io/paths_test.go (about) 1 package io 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestGetPath_SameURLs(t *testing.T) { 12 paths := NewRandomizedTempPaths(os.TempDir()) 13 res1, err := paths.GetPath("https://localhost/test.txt") 14 require.NoError(t, err) 15 res2, err := paths.GetPath("https://localhost/test.txt") 16 require.NoError(t, err) 17 assert.Equal(t, res1, res2) 18 } 19 20 func TestGetPath_DifferentURLs(t *testing.T) { 21 paths := NewRandomizedTempPaths(os.TempDir()) 22 res1, err := paths.GetPath("https://localhost/test1.txt") 23 require.NoError(t, err) 24 res2, err := paths.GetPath("https://localhost/test2.txt") 25 require.NoError(t, err) 26 assert.NotEqual(t, res1, res2) 27 } 28 29 func TestGetPath_SameURLsDifferentInstances(t *testing.T) { 30 paths1 := NewRandomizedTempPaths(os.TempDir()) 31 res1, err := paths1.GetPath("https://localhost/test.txt") 32 require.NoError(t, err) 33 paths2 := NewRandomizedTempPaths(os.TempDir()) 34 res2, err := paths2.GetPath("https://localhost/test.txt") 35 require.NoError(t, err) 36 assert.NotEqual(t, res1, res2) 37 } 38 39 func TestGetPathIfExists(t *testing.T) { 40 paths := NewRandomizedTempPaths(os.TempDir()) 41 t.Run("does not exist", func(t *testing.T) { 42 path := paths.GetPathIfExists("https://localhost/test.txt") 43 assert.Empty(t, path) 44 }) 45 t.Run("does exist", func(t *testing.T) { 46 _, err := paths.GetPath("https://localhost/test.txt") 47 require.NoError(t, err) 48 path := paths.GetPathIfExists("https://localhost/test.txt") 49 assert.NotEmpty(t, path) 50 }) 51 } 52 53 func TestGetPaths_no_race(t *testing.T) { 54 paths := NewRandomizedTempPaths(os.TempDir()) 55 go func() { 56 path, err := paths.GetPath("https://localhost/test.txt") 57 require.NoError(t, err) 58 assert.NotEmpty(t, path) 59 }() 60 go func() { 61 paths.GetPaths() 62 }() 63 }