2022-04-17 16:25:42 +03:00
|
|
|
package store
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"testing"
|
2023-07-29 00:40:58 +03:00
|
|
|
|
|
|
|
"go.unistack.org/micro/v4/options"
|
2022-04-17 16:25:42 +03:00
|
|
|
)
|
|
|
|
|
2022-05-03 16:05:03 +03:00
|
|
|
func TestFromNilContext(t *testing.T) {
|
|
|
|
// nolint: staticcheck
|
|
|
|
c, ok := FromContext(nil)
|
|
|
|
if ok || c != nil {
|
|
|
|
t.Fatal("FromContext not works")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestNewNilContext(t *testing.T) {
|
|
|
|
// nolint: staticcheck
|
|
|
|
ctx := NewContext(nil, NewStore())
|
|
|
|
|
|
|
|
c, ok := FromContext(ctx)
|
|
|
|
if c == nil || !ok {
|
|
|
|
t.Fatal("NewContext not works")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-04-17 16:25:42 +03:00
|
|
|
func TestFromContext(t *testing.T) {
|
|
|
|
ctx := context.WithValue(context.TODO(), storeKey{}, NewStore())
|
|
|
|
|
|
|
|
c, ok := FromContext(ctx)
|
|
|
|
if c == nil || !ok {
|
|
|
|
t.Fatal("FromContext not works")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestNewContext(t *testing.T) {
|
|
|
|
ctx := NewContext(context.TODO(), NewStore())
|
|
|
|
|
|
|
|
c, ok := FromContext(ctx)
|
|
|
|
if c == nil || !ok {
|
|
|
|
t.Fatal("NewContext not works")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestSetOption(t *testing.T) {
|
|
|
|
type key struct{}
|
2023-07-29 00:40:58 +03:00
|
|
|
opts := NewOptions(options.ContextOption(key{}, "test"))
|
2022-04-17 16:25:42 +03:00
|
|
|
if v, ok := opts.Context.Value(key{}).(string); !ok || v == "" {
|
|
|
|
t.Fatal("SetOption not works")
|
|
|
|
}
|
|
|
|
}
|