git-lfs/lfs/transfer_queue_test.go

63 lines
1.3 KiB
Go
Raw Normal View History

2016-09-28 18:25:37 +00:00
package lfs
import (
"testing"
2016-11-15 17:01:18 +00:00
"github.com/git-lfs/git-lfs/config"
2016-09-28 18:25:37 +00:00
"github.com/stretchr/testify/assert"
)
func TestRetryCounterDefaultsToFixedRetries(t *testing.T) {
rc := newRetryCounter(config.NewFrom(config.Values{}))
assert.Equal(t, 1, rc.MaxRetries)
}
func TestRetryCounterIsConfigurable(t *testing.T) {
rc := newRetryCounter(config.NewFrom(config.Values{
Git: map[string]string{
"lfs.transfer.maxretries": "3",
},
}))
assert.Equal(t, 3, rc.MaxRetries)
}
func TestRetryCounterClampsValidValues(t *testing.T) {
rc := newRetryCounter(config.NewFrom(config.Values{
Git: map[string]string{
"lfs.transfer.maxretries": "-1",
},
}))
assert.Equal(t, 1, rc.MaxRetries)
}
func TestRetryCounterIgnoresNonInts(t *testing.T) {
rc := newRetryCounter(config.NewFrom(config.Values{
Git: map[string]string{
"lfs.transfer.maxretries": "not_an_int",
},
}))
assert.Equal(t, 1, rc.MaxRetries)
}
func TestRetryCounterIncrementsObjects(t *testing.T) {
rc := newRetryCounter(config.NewFrom(config.Values{}))
rc.Increment("oid")
assert.Equal(t, 1, rc.CountFor("oid"))
}
func TestRetryCounterCanNotRetryAfterExceedingRetryCount(t *testing.T) {
rc := newRetryCounter(config.NewFrom(config.Values{}))
rc.Increment("oid")
count, canRetry := rc.CanRetry("oid")
assert.Equal(t, 1, count)
assert.False(t, canRetry)
}