kubectl-persistent-logger/logs/stream_test.go

27 lines
701 B
Go
Raw Normal View History

2022-05-30 10:10:58 +00:00
package logs_test
import (
"bytes"
"context"
"testing"
"git.netflux.io/rob/kubectl-persistent-logger/logs"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
testclient "k8s.io/client-go/kubernetes/fake"
)
func TestStream(t *testing.T) {
client := logs.KubernetesClient{Interface: testclient.NewSimpleClientset()}
var buf bytes.Buffer
pod := corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "default"}}
stream := logs.NewStream(client, &pod, &buf)
err := stream.Copy(context.Background())
require.NoError(t, err)
assert.Equal(t, "[foo] fake logs\n", buf.String())
}