@Test
public void shouldDeleteTrajectory() throws Exception {

    // build object
    ObjTrajectory traj = new ObjTrajectory();
    traj.setUid("traj-a");
    traj.setUidWellbore("wellbore-a");
    traj.setUidWell("well-a");
    // build http request
    String endpoint = this.url + this.trajectoryPath + traj.getUid();
    HttpRequest req = Unirest.delete(endpoint);
    req.header("Content-Type", "application/json");
    req.queryString("uidWellbore", traj.getUidWellbore());
    req.queryString("uidWell", traj.getUidWell());
    // build http response mock
    HttpResponse<String> resp = mock(HttpResponse.class);
    when(resp.getStatus()).thenReturn(204);
    // mock mockClient behavior
    when(this.mockClient.makeRequest(argThat(someReq -> (
        someReq.getHttpMethod().name().equals(req.getHttpMethod().name()) &&
            someReq.getUrl().equals(req.getUrl()) &&
            someReq.getHeaders().containsKey("Content-Type")
    )), eq("goodUsername"), eq("goodPassword"), anyString())).thenReturn(resp);
    // test
    this.delegator.deleteObject(traj, "goodUsername", "goodPassword", "exchangeID", this.mockClient);
    // verify
    verify(this.mockClient).makeRequest(argThat(someReq -> (
        someReq.getHttpMethod().name().equals(req.getHttpMethod().name()) &&
            someReq.getUrl().equals(req.getUrl()) &&
            someReq.getHeaders().containsKey("Content-Type")
    )), eq("goodUsername"), eq("goodPassword"), anyString());
}