27 lines
701 B
Go
27 lines
701 B
Go
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())
|
|
}
|