github.com/qri-io/qri@v0.10.1-0.20220104210721-c771715036cb/transform/startf/sandbox_test.go (about) 1 package startf 2 3 import ( 4 "testing" 5 6 "github.com/qri-io/starlib/testdata" 7 "go.starlark.net/starlark" 8 "go.starlark.net/starlarktest" 9 ) 10 11 func TestConfig(t *testing.T) { 12 cfg := config(map[string]interface{}{ 13 "a": false, 14 "b": 1, 15 "c": "string", 16 }) 17 18 thread := &starlark.Thread{Load: testdata.NewLoader(nil, "")} 19 starlarktest.SetReporter(thread, t) 20 src := ` 21 load("assert.star", "assert") 22 assert.eq(config.get("foo"), None) 23 assert.eq(config.get("foo", 5), 5) 24 assert.eq(config.get("a"), False) 25 assert.eq(config.get("b"), 1) 26 assert.eq(config.get("c"), "string") 27 ` 28 _, err := starlark.ExecFile(thread, "test_config.star", src, starlark.StringDict{"config": cfg}) 29 if err != nil { 30 t.Fatal(err) 31 } 32 } 33 34 func TestSecrets(t *testing.T) { 35 s := secrets(map[string]interface{}{ 36 "a": false, 37 "b": 1, 38 "c": "string", 39 }) 40 41 thread := &starlark.Thread{Load: testdata.NewLoader(nil, "")} 42 starlarktest.SetReporter(thread, t) 43 src := ` 44 load("assert.star", "assert") 45 assert.eq(secrets.get("foo"), None) 46 assert.eq(secrets.get("foo", 5), 5) 47 assert.eq(secrets.get("a"), False) 48 assert.eq(secrets.get("b"), 1) 49 assert.eq(secrets.get("c"), "string") 50 ` 51 _, err := starlark.ExecFile(thread, "test_config.star", src, starlark.StringDict{"secrets": s}) 52 if err != nil { 53 t.Fatal(err) 54 } 55 }