Skip to content

Connection closed when using mock server #7086

Open
@ruiarodrigues

Description

@ruiarodrigues

Describe the bug

Hi!
I'm upgrade from 6.x to 7.3.1 and my tests fail with connection closed when the first request to the server is done. Everything works fine with 6.x. See the steps to reproduce the error.

Fabric8 Kubernetes Client version

7.3.1

Steps to reproduce

Run this

import io.fabric8.kubernetes.api.model.Pod;
import io.fabric8.kubernetes.api.model.PodBuilder;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient;
import io.fabric8.kubernetes.client.server.mock.KubernetesMockServer;
import org.junit.jupiter.api.Test;

@EnableKubernetesMockClient
class SomeTest {

    KubernetesMockServer server;
    KubernetesClient client;

    @Test
    void myTest() {
        server.expect().get()
            .withPath("/api/v1/namespaces/my-namespace/pods/my-pod")
            .andReturn(200, new PodBuilder().build())
            .always();
        Pod pod = client.pods().inNamespace("my-namespace").withName("my-pod").get();
    }
}

Expected behavior

Tests should pass after the upograde

Runtime

Kubernetes (vanilla)

Kubernetes API Server version

1.33

Environment

macOS

Fabric8 Kubernetes Client Logs

INFO: MockWebServer[51150] starting to accept connections on localhost
May 23, 2025 3:43:37 PM io.fabric8.mockwebserver.MockWebServer info
INFO: MockWebServer[51150] done accepting connections

Connection was closed
io.fabric8.kubernetes.client.KubernetesClientException: Connection was closed
	at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.waitForResult(OperationSupport.java:509)
	at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.handleResponse(OperationSupport.java:524)
	at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.handleGet(OperationSupport.java:467)
	at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.handleGet(BaseOperation.java:792)
	at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.requireFromServer(BaseOperation.java:193)
	at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.get(BaseOperation.java:149)
	at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.get(BaseOperation.java:98)
	at fi.relex.processor2.adapter.SomeTest.myTest(SomeTest.java:38)

Additional context

I have as dependencies. Maybe something is missing?

kubernetes-client-bom = { module = "io.fabric8:kubernetes-client-bom", version = "7.3.1" }

implementation("io.fabric8:kubernetes-client")

Metadata

Metadata

Assignees

No one assigned

    Labels

    Waiting on feedbackIssues that require feedback from User/Other community memberscomponent/kubernetes-server-mockDeals with the kubernetes-server-mock directory mainly

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions