void testSSTableImportWithAcceptedResponse()

in client/src/testFixtures/java/org/apache/cassandra/sidecar/client/SidecarClientTest.java [425:458]


    void testSSTableImportWithAcceptedResponse() throws Exception
    {
        String responseAsString = "{\"success\":true,\"uploadId\":\"0000-0000\",\"keyspace\":\"cycling\"," +
                                  "\"tableName\":\"cyclist_name\"}";
        SidecarInstanceImpl sidecarInstance = instances.get(0);
        MockWebServer mockWebServer = servers.get(0);
        mockWebServer.enqueue(new MockResponse().setResponseCode(ACCEPTED.code()));
        mockWebServer.enqueue(new MockResponse().setResponseCode(ACCEPTED.code()));
        mockWebServer.enqueue(new MockResponse().setResponseCode(ACCEPTED.code()));
        mockWebServer.enqueue(new MockResponse().setResponseCode(ACCEPTED.code()));
        mockWebServer.enqueue(new MockResponse().setResponseCode(OK.code()).setBody(responseAsString));

        ImportSSTableRequest.ImportOptions options = new ImportSSTableRequest.ImportOptions();
        SSTableImportResponse result = client.importSSTableRequest(sidecarInstance,
                                                                   "cycling",
                                                                   "cyclist_name",
                                                                   "0000-0000",
                                                                   options)
                                             .get(30, TimeUnit.SECONDS);

        assertThat(result).isNotNull();
        assertThat(result.keyspace()).isEqualTo("cycling");
        assertThat(result.tableName()).isEqualTo("cyclist_name");
        assertThat(result.success()).isTrue();
        assertThat(result.uploadId()).isEqualTo("0000-0000");

        assertThat(mockWebServer.getRequestCount()).isEqualTo(5);
        RecordedRequest request = mockWebServer.takeRequest();
        assertThat(request.getPath()).isEqualTo(ApiEndpointsV1.SSTABLE_IMPORT_ROUTE
                                                .replaceAll(ApiEndpointsV1.KEYSPACE_PATH_PARAM, "cycling")
                                                .replaceAll(ApiEndpointsV1.TABLE_PATH_PARAM, "cyclist_name")
                                                .replaceAll(ApiEndpointsV1.UPLOAD_ID_PATH_PARAM, "0000-0000"));
        assertThat(request.getMethod()).isEqualTo("PUT");
    }