-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Expand file tree
/
Copy pathrepoconfig_test.go
More file actions
98 lines (93 loc) · 2.57 KB
/
repoconfig_test.go
File metadata and controls
98 lines (93 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package registry
import (
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
)
func TestNewRepoConfig(t *testing.T) {
dir, err := os.MkdirTemp("", "feature_repo_*")
assert.Nil(t, err)
defer func() {
assert.Nil(t, os.RemoveAll(dir))
}()
filePath := filepath.Join(dir, "feature_store.yaml")
data := []byte(`
project: feature_repo
registry: "data/registry.db"
provider: local
online_store:
type: redis
connection_string: "localhost:6379"
`)
err = os.WriteFile(filePath, data, 0666)
assert.Nil(t, err)
config, err := NewRepoConfigFromFile(dir)
assert.Nil(t, err)
assert.Equal(t, "feature_repo", config.Project)
assert.Equal(t, dir, config.RepoPath)
assert.Equal(t, "data/registry.db", config.GetRegistryConfig().Path)
assert.Equal(t, "local", config.Provider)
assert.Equal(t, map[string]interface{}{
"type": "redis",
"connection_string": "localhost:6379",
}, config.OnlineStore)
assert.Empty(t, config.OfflineStore)
assert.Empty(t, config.FeatureServer)
assert.Empty(t, config.Flags)
}
func TestNewRepoConfigRegistryMap(t *testing.T) {
dir, err := os.MkdirTemp("", "feature_repo_*")
assert.Nil(t, err)
defer func() {
assert.Nil(t, os.RemoveAll(dir))
}()
filePath := filepath.Join(dir, "feature_store.yaml")
data := []byte(`
registry:
path: data/registry.db
project: feature_repo
provider: local
online_store:
type: redis
connection_string: "localhost:6379"
`)
err = os.WriteFile(filePath, data, 0666)
assert.Nil(t, err)
config, err := NewRepoConfigFromFile(dir)
assert.Nil(t, err)
assert.Equal(t, "feature_repo", config.Project)
assert.Equal(t, dir, config.RepoPath)
assert.Equal(t, "data/registry.db", config.GetRegistryConfig().Path)
assert.Equal(t, "local", config.Provider)
assert.Equal(t, map[string]interface{}{
"type": "redis",
"connection_string": "localhost:6379",
}, config.OnlineStore)
assert.Empty(t, config.OfflineStore)
assert.Empty(t, config.FeatureServer)
assert.Empty(t, config.Flags)
}
func TestNewRepoConfigRegistryConfig(t *testing.T) {
dir, err := os.MkdirTemp("", "feature_repo_*")
assert.Nil(t, err)
defer func() {
assert.Nil(t, os.RemoveAll(dir))
}()
filePath := filepath.Join(dir, "feature_store.yaml")
data := []byte(`
registry:
path: data/registry.db
project: feature_repo
provider: local
online_store:
type: redis
connection_string: "localhost:6379"
`)
err = os.WriteFile(filePath, data, 0666)
assert.Nil(t, err)
config, err := NewRepoConfigFromFile(dir)
assert.Nil(t, err)
assert.Equal(t, dir, config.RepoPath)
assert.Equal(t, "data/registry.db", config.GetRegistryConfig().Path)
}