Compare commits
	
		
			No commits in common. "develop" and "stable" have entirely different histories.
		
	
	
		
	
		
					 3 changed files with 37 additions and 23 deletions
				
			
		|  | @ -7,7 +7,7 @@ import ( | ||||||
| 	"time" | 	"time" | ||||||
| 
 | 
 | ||||||
| 	"codeberg.org/danjones000/ezcache" | 	"codeberg.org/danjones000/ezcache" | ||||||
| 	"github.com/nalgeon/be" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var fetcher ezcache.Fetcher[uint8, string] = func(key uint8) (string, error) { return fmt.Sprintf("%d", key), nil } | var fetcher ezcache.Fetcher[uint8, string] = func(key uint8) (string, error) { return fmt.Sprintf("%d", key), nil } | ||||||
|  | @ -15,15 +15,15 @@ var fetcher ezcache.Fetcher[uint8, string] = func(key uint8) (string, error) { r | ||||||
| func TestNewHappy(t *testing.T) { | func TestNewHappy(t *testing.T) { | ||||||
| 	cache, err := ezcache.New(fetcher, 1) | 	cache, err := ezcache.New(fetcher, 1) | ||||||
| 
 | 
 | ||||||
| 	be.Err(t, err, nil) | 	assert.NoError(t, err) | ||||||
| 	be.True(t, cache != nil) | 	assert.NotNil(t, cache) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestNewNilFetcher(t *testing.T) { | func TestNewNilFetcher(t *testing.T) { | ||||||
| 	cache, err := ezcache.New[uint8, string](nil, 1) | 	cache, err := ezcache.New[uint8, string](nil, 1) | ||||||
| 
 | 
 | ||||||
| 	be.Err(t, err, ezcache.ErrInvalidFetcher) | 	assert.ErrorIs(t, err, ezcache.ErrInvalidFetcher) | ||||||
| 	be.True(t, cache == nil) | 	assert.Nil(t, cache) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestNewBadExpiry(tt *testing.T) { | func TestNewBadExpiry(tt *testing.T) { | ||||||
|  | @ -38,8 +38,8 @@ func TestNewBadExpiry(tt *testing.T) { | ||||||
| 		tt.Run(tc.name, func(t *testing.T) { | 		tt.Run(tc.name, func(t *testing.T) { | ||||||
| 			cache, err := ezcache.New(fetcher, tc.exp) | 			cache, err := ezcache.New(fetcher, tc.exp) | ||||||
| 
 | 
 | ||||||
| 			be.Err(t, err, ezcache.ErrInvalidExpiry) | 			assert.ErrorIs(t, err, ezcache.ErrInvalidExpiry) | ||||||
| 			be.True(t, cache == nil) | 			assert.Nil(t, cache) | ||||||
| 		}) | 		}) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | @ -49,15 +49,15 @@ func TestGetHappy(t *testing.T) { | ||||||
| 	cache, _ := ezcache.New(func(key uint8) (string, error) { hit = true; return fetcher(key) }, 5*time.Second) | 	cache, _ := ezcache.New(func(key uint8) (string, error) { hit = true; return fetcher(key) }, 5*time.Second) | ||||||
| 
 | 
 | ||||||
| 	val, err := cache.Get(4) | 	val, err := cache.Get(4) | ||||||
| 	be.Err(t, err, nil) | 	assert.NoError(t, err) | ||||||
| 	be.Equal(t, val, "4") | 	assert.Equal(t, "4", val) | ||||||
| 	be.True(t, hit) | 	assert.True(t, hit) | ||||||
| 
 | 
 | ||||||
| 	hit = false | 	hit = false | ||||||
| 	val, err = cache.Get(4) | 	val, err = cache.Get(4) | ||||||
| 	be.Err(t, err, nil) | 	assert.NoError(t, err) | ||||||
| 	be.Equal(t, val, "4") | 	assert.Equal(t, "4", val) | ||||||
| 	be.True(t, !hit) | 	assert.False(t, hit) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestGetExpire(t *testing.T) { | func TestGetExpire(t *testing.T) { | ||||||
|  | @ -65,16 +65,16 @@ func TestGetExpire(t *testing.T) { | ||||||
| 	cache, _ := ezcache.New(func(key uint8) (string, error) { hit = true; return fetcher(key) }, 1) | 	cache, _ := ezcache.New(func(key uint8) (string, error) { hit = true; return fetcher(key) }, 1) | ||||||
| 
 | 
 | ||||||
| 	val, err := cache.Get(4) | 	val, err := cache.Get(4) | ||||||
| 	be.Err(t, err, nil) | 	assert.NoError(t, err) | ||||||
| 	be.Equal(t, val, "4") | 	assert.Equal(t, "4", val) | ||||||
| 	be.True(t, hit) | 	assert.True(t, hit) | ||||||
| 
 | 
 | ||||||
| 	hit = false | 	hit = false | ||||||
| 	time.Sleep(2 * time.Nanosecond) | 	time.Sleep(2 * time.Nanosecond) | ||||||
| 	val, err = cache.Get(4) | 	val, err = cache.Get(4) | ||||||
| 	be.Err(t, err, nil) | 	assert.NoError(t, err) | ||||||
| 	be.Equal(t, val, "4") | 	assert.Equal(t, "4", val) | ||||||
| 	be.True(t, hit) | 	assert.True(t, hit) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestGetError(t *testing.T) { | func TestGetError(t *testing.T) { | ||||||
|  | @ -82,5 +82,5 @@ func TestGetError(t *testing.T) { | ||||||
| 	cache, _ := ezcache.New(func(k uint8) (byte, error) { return 0, fmt.Errorf("Nope for %d", k) }, 1) | 	cache, _ := ezcache.New(func(k uint8) (byte, error) { return 0, fmt.Errorf("Nope for %d", k) }, 1) | ||||||
| 
 | 
 | ||||||
| 	_, err := cache.Get(4) | 	_, err := cache.Get(4) | ||||||
| 	be.Err(t, err, "Nope for 4") | 	assert.ErrorContains(t, err, "Nope for 4") | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										8
									
								
								go.mod
									
										
									
									
									
								
							
							
						
						
									
										8
									
								
								go.mod
									
										
									
									
									
								
							|  | @ -2,4 +2,10 @@ module codeberg.org/danjones000/ezcache | ||||||
| 
 | 
 | ||||||
| go 1.23.7 | go 1.23.7 | ||||||
| 
 | 
 | ||||||
| require github.com/nalgeon/be v0.3.0 | require github.com/stretchr/testify v1.10.0 | ||||||
|  | 
 | ||||||
|  | require ( | ||||||
|  | 	github.com/davecgh/go-spew v1.1.1 // indirect | ||||||
|  | 	github.com/pmezard/go-difflib v1.0.0 // indirect | ||||||
|  | 	gopkg.in/yaml.v3 v3.0.1 // indirect | ||||||
|  | ) | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								go.sum
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								go.sum
									
										
									
									
									
								
							|  | @ -1,2 +1,10 @@ | ||||||
| github.com/nalgeon/be v0.3.0 h1:QsPANqEtcOD5qT2S3KAtIkDBBn8SXUf/Lb5Bi/z4UqM= | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | ||||||
| github.com/nalgeon/be v0.3.0/go.mod h1:PMwMuBLopwKJkSHnr2qHyLcZYUTqNejN7A8RAqNWO3E= | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||||
|  | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||||
|  | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||||
|  | github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= | ||||||
|  | github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= | ||||||
|  | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= | ||||||
|  | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||||
|  | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||||
|  | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue