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  }