mirror of
https://github.com/MontFerret/ferret.git
synced 2024-12-16 11:37:36 +02:00
80 lines
1.7 KiB
Go
80 lines
1.7 KiB
Go
package core_test
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/MontFerret/ferret/pkg/runtime/core"
|
|
"github.com/MontFerret/ferret/pkg/runtime/values"
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
)
|
|
|
|
func TestParamsWith(t *testing.T) {
|
|
Convey("Should match", t, func() {
|
|
p := make(map[string]core.Value)
|
|
p["val1"] = values.NewInt(1)
|
|
p["val2"] = values.NewString("test")
|
|
|
|
pc := core.ParamsWith(context.Background(), p)
|
|
So(pc, ShouldNotBeNil)
|
|
|
|
out, err := core.ParamsFrom(pc)
|
|
|
|
So(err, ShouldBeNil)
|
|
So(out, ShouldEqual, p)
|
|
})
|
|
}
|
|
|
|
func TestParamsFrom(t *testing.T) {
|
|
Convey("Should match", t, func() {
|
|
p := make(map[string]core.Value)
|
|
p["val1"] = values.NewInt(1)
|
|
p["val2"] = values.NewString("test")
|
|
|
|
_, err := core.ParamsFrom(context.Background())
|
|
|
|
So(err, ShouldNotBeNil)
|
|
|
|
ctx := context.WithValue(context.Background(), "fail", p)
|
|
pf, err := core.ParamsFrom(ctx)
|
|
|
|
So(err, ShouldNotBeNil)
|
|
So(pf, ShouldBeNil)
|
|
|
|
ctx = context.WithValue(context.Background(), "params", p)
|
|
pf, err = core.ParamsFrom(ctx)
|
|
|
|
So(err, ShouldNotBeNil)
|
|
So(pf, ShouldBeNil)
|
|
|
|
ctx = core.ParamsWith(context.Background(), p)
|
|
pf, err = core.ParamsFrom(ctx)
|
|
|
|
So(err, ShouldBeNil)
|
|
So(pf, ShouldEqual, p)
|
|
})
|
|
}
|
|
|
|
func TestParamFrom(t *testing.T) {
|
|
Convey("Should match", t, func() {
|
|
p := make(map[string]core.Value)
|
|
p["val1"] = values.NewInt(1)
|
|
p["val2"] = values.NewString("test")
|
|
|
|
_, err := core.ParamFrom(context.Background(), "")
|
|
|
|
So(err, ShouldNotBeNil)
|
|
|
|
ctx := context.WithValue(context.Background(), "fail", p)
|
|
_, err = core.ParamFrom(ctx, "val1")
|
|
|
|
So(err, ShouldNotBeNil)
|
|
|
|
ctx = core.ParamsWith(context.Background(), p)
|
|
v, err := core.ParamFrom(ctx, "val1")
|
|
|
|
So(err, ShouldBeNil)
|
|
So(v, ShouldEqual, values.NewInt(1))
|
|
})
|
|
}
|