1package tq
2
3import (
4	"testing"
5
6	"github.com/git-lfs/git-lfs/v3/lfsapi"
7	"github.com/git-lfs/git-lfs/v3/lfshttp"
8	"github.com/stretchr/testify/assert"
9	"github.com/stretchr/testify/require"
10)
11
12func TestManifestIsConfigurable(t *testing.T) {
13	cli, err := lfsapi.NewClient(lfshttp.NewContext(nil, nil, map[string]string{
14		"lfs.transfer.maxretries": "3",
15	}))
16	require.Nil(t, err)
17
18	m := NewManifest(nil, cli, "", "")
19	assert.Equal(t, 3, m.MaxRetries())
20}
21
22func TestManifestClampsValidValues(t *testing.T) {
23	cli, err := lfsapi.NewClient(lfshttp.NewContext(nil, nil, map[string]string{
24		"lfs.transfer.maxretries": "-1",
25	}))
26	require.Nil(t, err)
27
28	m := NewManifest(nil, cli, "", "")
29	assert.Equal(t, 8, m.MaxRetries())
30}
31
32func TestManifestIgnoresNonInts(t *testing.T) {
33	cli, err := lfsapi.NewClient(lfshttp.NewContext(nil, nil, map[string]string{
34		"lfs.transfer.maxretries": "not_an_int",
35	}))
36	require.Nil(t, err)
37
38	m := NewManifest(nil, cli, "", "")
39	assert.Equal(t, 8, m.MaxRetries())
40}
41