From 9be77beb73ac093579601957f53a3c9f60beaa58 Mon Sep 17 00:00:00 2001 From: aiordache Date: Fri, 5 Feb 2021 15:03:28 +0100 Subject: [PATCH] Add compose logs test Signed-off-by: aiordache --- kube/client/client.go | 6 +++--- kube/e2e/compose_test.go | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/kube/client/client.go b/kube/client/client.go index 2d91dd9e..d298e987 100644 --- a/kube/client/client.go +++ b/kube/client/client.go @@ -94,8 +94,8 @@ func podToContainerSummary(pod corev1.Pod) compose.ContainerSummary { } // GetLogs retrieves pod logs -func (c *KubeClient) GetLogs(ctx context.Context, projectName string, consumer compose.LogConsumer, follow bool) error { - pods, err := c.client.CoreV1().Pods(c.namespace).List(ctx, metav1.ListOptions{ +func (kc *KubeClient) GetLogs(ctx context.Context, projectName string, consumer compose.LogConsumer, follow bool) error { + pods, err := kc.client.CoreV1().Pods(kc.namespace).List(ctx, metav1.ListOptions{ LabelSelector: fmt.Sprintf("%s=%s", compose.ProjectTag, projectName), }) if err != nil { @@ -103,7 +103,7 @@ func (c *KubeClient) GetLogs(ctx context.Context, projectName string, consumer c } eg, ctx := errgroup.WithContext(ctx) for _, pod := range pods.Items { - request := c.client.CoreV1().Pods(c.namespace).GetLogs(pod.Name, &corev1.PodLogOptions{Follow: follow}) + request := kc.client.CoreV1().Pods(kc.namespace).GetLogs(pod.Name, &corev1.PodLogOptions{Follow: follow}) service := pod.Labels[compose.ServiceTag] w := utils.GetWriter(service, pod.Name, consumer) diff --git a/kube/e2e/compose_test.go b/kube/e2e/compose_test.go index da2917a3..a2eb5a6e 100644 --- a/kube/e2e/compose_test.go +++ b/kube/e2e/compose_test.go @@ -108,6 +108,11 @@ func TestComposeUp(t *testing.T) { c.WaitForCmdResult(icmd.Command("docker", "--context", "default", "exec", "e2e-control-plane", "curl", endpoint), StdoutContains(`"word":`), 3*time.Minute, 3*time.Second) }) + t.Run("compose logs web", func(t *testing.T) { + res := c.RunDockerCmd("compose", "--project-name", projectName, "logs", "web") + assert.Assert(t, strings.Contains(res.Stdout(), "Listening on port 80"), res.Stdout()) + }) + t.Run("down", func(t *testing.T) { _ = c.RunDockerCmd("compose", "--project-name", projectName, "down") })