git_test.go

 1// Package repository contains helper methods for working with the Git repo.
 2package repository
 3
 4import (
 5	"testing"
 6
 7	"github.com/stretchr/testify/assert"
 8)
 9
10func TestConfig(t *testing.T) {
11	repo := CreateTestRepo(false)
12	defer CleanupTestRepos(t, repo)
13
14	err := repo.StoreConfig("section.key", "value")
15	assert.NoError(t, err)
16
17	val, err := repo.ReadConfigString("section.key")
18	assert.Equal(t, "value", val)
19
20	err = repo.StoreConfig("section.true", "true")
21	assert.NoError(t, err)
22
23	val2, err := repo.ReadConfigBool("section.true")
24	assert.Equal(t, true, val2)
25
26	configs, err := repo.ReadConfigs("section")
27	assert.NoError(t, err)
28	assert.Equal(t, configs, map[string]string{
29		"section.key":  "value",
30		"section.true": "true",
31	})
32
33	err = repo.RmConfigs("section.true")
34	assert.NoError(t, err)
35
36	configs, err = repo.ReadConfigs("section")
37	assert.NoError(t, err)
38
39	assert.Equal(t, configs, map[string]string{
40		"section.key": "value",
41	})
42
43	_, err = repo.ReadConfigBool("section.true")
44	assert.Equal(t, ErrNoConfigEntry, err)
45
46	err = repo.RmConfigs("section.key")
47	assert.NoError(t, err)
48
49	_, err = repo.ReadConfigString("section.key")
50	assert.Equal(t, ErrNoConfigEntry, err)
51}