github.com/grahambrereton-form3/tilt@v0.10.18/internal/k8s/runtime_test.go (about) 1 package k8s 2 3 import ( 4 "bytes" 5 "context" 6 "testing" 7 8 "github.com/windmilleng/tilt/internal/container" 9 "github.com/windmilleng/tilt/pkg/logger" 10 11 "github.com/stretchr/testify/assert" 12 "k8s.io/apimachinery/pkg/runtime" 13 "k8s.io/client-go/kubernetes/fake" 14 ktesting "k8s.io/client-go/testing" 15 ) 16 17 func TestRuntimeForbidden(t *testing.T) { 18 cs := &fake.Clientset{} 19 cs.AddReactor("*", "*", func(action ktesting.Action) (handled bool, ret runtime.Object, err error) { 20 return true, nil, newForbiddenError() 21 }) 22 23 core := cs.CoreV1() 24 runtimeAsync := newRuntimeAsync(core) 25 26 out := &bytes.Buffer{} 27 l := logger.NewLogger(logger.InfoLvl, out) 28 ctx := logger.WithLogger(context.Background(), l) 29 runtime := runtimeAsync.Runtime(ctx) 30 assert.Equal(t, container.RuntimeUnknown, runtime) 31 assert.Contains(t, out.String(), "Tilt could not read your node configuration") 32 }