42 lines
827 B
Go
42 lines
827 B
Go
|
package middleware
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"testing"
|
||
|
|
||
|
"forge.cadoles.com/wpetit/goweb/service"
|
||
|
)
|
||
|
|
||
|
func TestContextServiceContainer(t *testing.T) {
|
||
|
|
||
|
container := service.NewContainer()
|
||
|
ctx := context.WithValue(context.Background(), KeyServiceContainer, container)
|
||
|
|
||
|
ctn, err := GetServiceContainer(ctx)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
if ctn == nil {
|
||
|
t.Fatal("container should not be nil")
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
func TestContextInvalidServiceContainer(t *testing.T) {
|
||
|
|
||
|
invalidContainer := struct{}{}
|
||
|
ctx := context.WithValue(context.Background(), KeyServiceContainer, invalidContainer)
|
||
|
|
||
|
container, err := GetServiceContainer(ctx)
|
||
|
|
||
|
if g, e := err, ErrInvalidServiceContainer; g != e {
|
||
|
t.Errorf("err: got '%v', expected '%v'", g, e)
|
||
|
}
|
||
|
|
||
|
if container != nil {
|
||
|
t.Errorf("container: got '%v', expected '%v'", container, nil)
|
||
|
}
|
||
|
|
||
|
}
|