github.com/hawser/git-hawser@v2.5.2+incompatible/tq/transfer_queue_test.go (about)

     1  package tq
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestManifestDefaultsToFixedRetries(t *testing.T) {
    10  	assert.Equal(t, 8, NewManifest(nil, nil, "", "").MaxRetries())
    11  }
    12  
    13  func TestRetryCounterDefaultsToFixedRetries(t *testing.T) {
    14  	rc := newRetryCounter()
    15  	assert.Equal(t, 8, rc.MaxRetries)
    16  }
    17  
    18  func TestRetryCounterIncrementsObjects(t *testing.T) {
    19  	rc := newRetryCounter()
    20  	rc.Increment("oid")
    21  	assert.Equal(t, 1, rc.CountFor("oid"))
    22  }
    23  
    24  func TestRetryCounterCanNotRetryAfterExceedingRetryCount(t *testing.T) {
    25  	rc := newRetryCounter()
    26  	rc.MaxRetries = 1
    27  	rc.Increment("oid")
    28  
    29  	count, canRetry := rc.CanRetry("oid")
    30  	assert.Equal(t, 1, count)
    31  	assert.False(t, canRetry)
    32  }
    33  
    34  func TestBatchSizeReturnsBatchSize(t *testing.T) {
    35  	q := NewTransferQueue(
    36  		Upload, NewManifest(nil, nil, "", ""), "origin", WithBatchSize(3))
    37  
    38  	assert.Equal(t, 3, q.BatchSize())
    39  }