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}