-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Labels
Description
After upgrading from 4.9.2 to 5.9.0, I have observed that one of our unit tests (which is using KubernetesServer
) is failing. It seems that object are not returned when using the Event API with field selectors. I did not yet checked other API's neither whether it's limited to the KubernetesServer
.
Following a small reproduction unit test which illustrates the problem:
import io.fabric8.kubernetes.api.model.Event;
import io.fabric8.kubernetes.api.model.ObjectMeta;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.junit.MockitoJUnitRunner;
import java.util.List;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
@RunWith(MockitoJUnitRunner.class)
public class KubernetesClientTest {
@Rule
public KubernetesServer server = new KubernetesServer(true, true);
@Test
public void shouldReturnEventMatchingFieldSelector() {
// given
KubernetesClient kubernetesClient = server.getClient();
Event kubernetesEvent = createKubernetesEventWithReason();
kubernetesClient.v1().events().create(kubernetesEvent);
// when
List<Event> kubernetesEvents = kubernetesClient.v1().events().inAnyNamespace().withField("reason", "Rebooted").list().getItems();
// then
assertThat(kubernetesEvents.size()).isEqualTo(1);
}
private Event createKubernetesEventWithReason() {
Event event = new Event();
ObjectMeta metaData = new ObjectMeta();
metaData.setName("EventName");
event.setMetadata(metaData);
event.setReason("Rebooted");
return event;
}
}
Logs from the test execution:
Nov 08, 2021 9:37:39 AM okhttp3.mockwebserver.MockWebServer$2 execute
INFO: MockWebServer[58829] starting to accept connections
Nov 08, 2021 9:37:40 AM okhttp3.mockwebserver.MockWebServer$3 processOneRequest
INFO: MockWebServer[58829] received request: POST /api/v1/namespaces/test/events HTTP/1.1 and responded: HTTP/1.1 200 OK
Nov 08, 2021 9:37:40 AM okhttp3.mockwebserver.MockWebServer$3 processOneRequest
INFO: MockWebServer[58829] received request: GET /api/v1/events?fieldSelector=reason%3DRebooted HTTP/1.1 and responded: HTTP/1.1 200 OK
Nov 08, 2021 9:37:40 AM okhttp3.mockwebserver.MockWebServer$2 acceptConnections
INFO: MockWebServer[58829] done accepting connections: Socket closed
org.opentest4j.AssertionFailedError:
Expecting:
<[]>
to be equal to:
<1>
but was not.
Expected :1
Actual :[]
Please let me know if further information are required.