Improve tests
This commit is contained in:
@@ -21,4 +21,10 @@ func TestImporter_Cast(t *testing.T) {
|
||||
req.Equal("Module1", i.namespaces.modules["foo"].set.FindByHandle("m1").Name)
|
||||
|
||||
})
|
||||
|
||||
impFixTester(t, "importer_with_settings", func(t *testing.T, i *Importer) {
|
||||
req := require.New(t)
|
||||
|
||||
req.NotNil(i)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
"github.com/cortezaproject/corteza-server/compose/service"
|
||||
"github.com/cortezaproject/corteza-server/compose/types"
|
||||
"github.com/cortezaproject/corteza-server/pkg/permissions"
|
||||
"github.com/cortezaproject/corteza-server/pkg/settings"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -23,6 +24,7 @@ var (
|
||||
|
||||
// Add namespace to the stack, make sure importer can find it
|
||||
pi *permissions.Importer
|
||||
st *settings.Importer
|
||||
|
||||
imp *Importer
|
||||
)
|
||||
@@ -35,8 +37,9 @@ func TestMain(m *testing.M) {
|
||||
func resetMocks() {
|
||||
// whitelist = nil, anything can be added
|
||||
pi = permissions.NewImporter(service.AccessControl(nil).Whitelist())
|
||||
st = settings.NewImporter()
|
||||
|
||||
imp = NewImporter(nil, nil, nil, nil, nil, pi)
|
||||
imp = NewImporter(nil, nil, nil, nil, nil, pi, st)
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
settings:
|
||||
s1: v1
|
||||
s2:
|
||||
- v2
|
||||
- v3
|
||||
s3:
|
||||
ss1: v4
|
||||
ss2: v5
|
||||
@@ -9,11 +9,13 @@ import (
|
||||
"gopkg.in/yaml.v2"
|
||||
|
||||
"github.com/cortezaproject/corteza-server/pkg/permissions"
|
||||
"github.com/cortezaproject/corteza-server/pkg/settings"
|
||||
"github.com/cortezaproject/corteza-server/system/service"
|
||||
)
|
||||
|
||||
var (
|
||||
pi *permissions.Importer
|
||||
si *settings.Importer
|
||||
|
||||
imp *Importer
|
||||
)
|
||||
@@ -26,9 +28,10 @@ func TestMain(m *testing.M) {
|
||||
func resetMocks() {
|
||||
// whitelist = nil, anything can be added
|
||||
pi = permissions.NewImporter(service.AccessControl(nil).Whitelist())
|
||||
|
||||
si = settings.NewImporter()
|
||||
imp = NewImporter(
|
||||
pi,
|
||||
si,
|
||||
NewChannelImport(pi, nil),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
package settings
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx/types"
|
||||
"github.com/stretchr/testify/require"
|
||||
"gopkg.in/yaml.v2"
|
||||
)
|
||||
|
||||
func TestSettingImport_CastSet(t *testing.T) {
|
||||
type tv struct {
|
||||
name string
|
||||
value string
|
||||
}
|
||||
|
||||
var aux interface{}
|
||||
req := require.New(t)
|
||||
f, err := os.Open("testdata/settings.yaml")
|
||||
defer f.Close()
|
||||
req.NoError(err)
|
||||
req.NoError(yaml.NewDecoder(f).Decode(&aux))
|
||||
req.NotNil(aux)
|
||||
|
||||
imp := NewImporter()
|
||||
err = imp.CastSet(aux)
|
||||
req.Nil(err)
|
||||
req.Len(imp.settings, 6)
|
||||
|
||||
tests := []tv{
|
||||
tv{
|
||||
name: "array",
|
||||
value: "[\"v1\",\"v2\"]",
|
||||
},
|
||||
tv{
|
||||
name: "object",
|
||||
value: "{\"k1\":\"v1\",\"k2\":\"v2\"}",
|
||||
},
|
||||
tv{
|
||||
name: "plain_b",
|
||||
value: "true",
|
||||
},
|
||||
tv{
|
||||
name: "plain_double",
|
||||
value: "12.34",
|
||||
},
|
||||
tv{
|
||||
name: "plain_double_2",
|
||||
value: "12",
|
||||
},
|
||||
tv{
|
||||
name: "plain_s",
|
||||
value: "\"string\"",
|
||||
},
|
||||
}
|
||||
|
||||
for _, t := range tests {
|
||||
v := imp.settings.First(t.name)
|
||||
vv, _ := types.JSONText(t.value).MarshalJSON()
|
||||
ee, _ := v.Value.MarshalJSON()
|
||||
req.Equal(vv, ee)
|
||||
}
|
||||
}
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
array:
|
||||
- v1
|
||||
- v2
|
||||
object:
|
||||
k1: v1
|
||||
k2: v2
|
||||
plain_b: true
|
||||
plain_double: 12.34
|
||||
plain_double_2: 12
|
||||
plain_s: string
|
||||
@@ -9,12 +9,13 @@ import (
|
||||
"gopkg.in/yaml.v2"
|
||||
|
||||
"github.com/cortezaproject/corteza-server/pkg/permissions"
|
||||
"github.com/cortezaproject/corteza-server/pkg/settings"
|
||||
"github.com/cortezaproject/corteza-server/system/service"
|
||||
)
|
||||
|
||||
var (
|
||||
pi *permissions.Importer
|
||||
|
||||
pi *permissions.Importer
|
||||
si *settings.Importer
|
||||
imp *Importer
|
||||
)
|
||||
|
||||
@@ -26,9 +27,10 @@ func TestMain(m *testing.M) {
|
||||
func resetMocks() {
|
||||
// whitelist = nil, anything can be added
|
||||
pi = permissions.NewImporter(service.AccessControl(nil).Whitelist())
|
||||
|
||||
si = settings.NewImporter()
|
||||
imp = NewImporter(
|
||||
pi,
|
||||
si,
|
||||
NewRoleImport(pi, nil),
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user