Hi,

First of all - you've made awesome job on coordinating all this tedious
communications with Oleg. Thanks, your contribution is invaluable in my
eyes.

Just a note - don't you want to include the test case I provided some
time ago into this PR? To make sure the initial  case that revealed
issues finally works...

Andrey Pokhilko

On 12/15/2015 07:31 PM, Philippe Mouawad wrote:
> Hi,
> I submitted a PR https://github.com/apache/jmeter/pull/62  after fixing the
> remaining issues I think.
> I still have one failing test , related to
> https://issues.apache.org/jira/browse/HTTPCLIENT-1705 that I reopened.
>
> I commented the IgnorePolicy (testCookiePolicyIgnore) test  as we need 4.5.2
> I changed testCookies2 as per Oleg note and added testCookies3.
>
> Please review as this is very sensitive and I would really like a second
> eye on it.
>
> Thanks
> Regards
>
> On Tue, Dec 15, 2015 at 2:16 PM, Philippe Mouawad <
> philippe.moua...@gmail.com> wrote:
>
>> Hi ,
>> One last question, when is release of 4.5.2 expected as it fixes 2 bugs we
>> are facing in JMeter.
>>
>> Thanks
>> Regards
>>
>> On Tue, Dec 15, 2015 at 2:05 PM, Philippe Mouawad <
>> philippe.moua...@gmail.com> wrote:
>>
>>>
>>> On Tue, Dec 15, 2015 at 9:36 AM, Oleg Kalnichevski <ol...@apache.org>
>>> wrote:
>>>
>>>> On Mon, 2015-12-14 at 21:41 +0100, Philippe Mouawad wrote:
>>>>> Hello Oleg,
>>>>> Thanks .
>>>>>
>>>> Test case #testParseCookies
>>>>
>>>> The rest case does not look right to me. I am not sure I understand what
>>>> you are trying to test here.
>>>>
>>> Indeed, bad copy paste.
>>>
>>> The test fixed below works fine with HTTPCLIENT 4.5.1 so issue is on
>>> JMeter side.
>>>
>>>> Test case #testParseCookies
>>>>
>>>>
>>>> The cookie in question does not have a version attribute mandatory for
>>>> standard (RFC 2109 and RFC 2965) cookies. Therefore it is parsed as
>>>> Netscape style cookie in which case comma is not considered a valid
>>>> header element delimiter and is treated as normal character.
>>>>
>>> Thanks for explanation.
>>> Note that test case worked fine in HC3. Was it a bug in HC3 ?
>>>
>>>
>>>> Oleg
>>>>
>>>>
>>>>> Here it is:
>>>>>
>>>>> /*
>>>>>  * ====================================================================
>>>>>  * Licensed to the Apache Software Foundation (ASF) under one
>>>>>  * or more contributor license agreements.  See the NOTICE file
>>>>>  * distributed with this work for additional information
>>>>>  * regarding copyright ownership.  The ASF licenses this file
>>>>>  * to you under the Apache License, Version 2.0 (the
>>>>>  * "License"); you may not use this file except in compliance
>>>>>  * with the License.  You may obtain a copy of the License at
>>>>>  *
>>>>>  *   http://www.apache.org/licenses/LICENSE-2.0
>>>>>  *
>>>>>  * Unless required by applicable law or agreed to in writing,
>>>>>  * software distributed under the License is distributed on an
>>>>>  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>>>>  * KIND, either express or implied.  See the License for the
>>>>>  * specific language governing permissions and limitations
>>>>>  * under the License.
>>>>>  * ====================================================================
>>>>>  *
>>>>>  * This software consists of voluntary contributions made by many
>>>>>  * individuals on behalf of the Apache Software Foundation.  For more
>>>>>  * information on the Apache Software Foundation, please see
>>>>>  * <http://www.apache.org/>.
>>>>>  *
>>>>>  */
>>>>> package org.apache.http.client.protocol;
>>>>>
>>>>> import java.util.List;
>>>>>
>>>>> import org.apache.http.Header;
>>>>> import org.apache.http.HttpResponse;
>>>>> import org.apache.http.HttpResponseInterceptor;
>>>>> import org.apache.http.HttpVersion;
>>>>> import org.apache.http.client.CookieStore;
>>>>> import org.apache.http.cookie.Cookie;
>>>>> import org.apache.http.cookie.CookieOrigin;
>>>>> import org.apache.http.cookie.CookieSpec;
>>>>> import org.apache.http.cookie.SM;
>>>>> import org.apache.http.impl.client.BasicCookieStore;
>>>>> import org.apache.http.impl.cookie.DefaultCookieSpec;
>>>>> import org.apache.http.message.BasicHttpResponse;
>>>>> import org.apache.http.util.Asserts;
>>>>> import org.junit.Assert;
>>>>> import org.junit.Before;
>>>>> import org.junit.Test;
>>>>>
>>>>> public class TestResponseProcessCookies {
>>>>>
>>>>>     private CookieOrigin cookieOrigin;
>>>>>     private CookieSpec cookieSpec;
>>>>>     private CookieStore cookieStore;
>>>>>
>>>>>     @Before
>>>>>     public void setUp() throws Exception {
>>>>>         this.cookieOrigin = new CookieOrigin("localhost", 80, "/",
>>>> false);
>>>>>         this.cookieSpec = new DefaultCookieSpec();
>>>>>         this.cookieStore = new BasicCookieStore();
>>>>>     }
>>>>>
>>>>>     @Test(expected=IllegalArgumentException.class)
>>>>>     public void testResponseParameterCheck() throws Exception {
>>>>>         final HttpClientContext context = HttpClientContext.create();
>>>>>         final HttpResponseInterceptor interceptor = new
>>>>> ResponseProcessCookies();
>>>>>         interceptor.process(null, context);
>>>>>     }
>>>>>
>>>>>     @Test(expected=IllegalArgumentException.class)
>>>>>     public void testContextParameterCheck() throws Exception {
>>>>>         final HttpResponse response = new
>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>         final HttpResponseInterceptor interceptor = new
>>>>> ResponseProcessCookies();
>>>>>         interceptor.process(response, null);
>>>>>     }
>>>>>
>>>>>     @Test
>>>>>     public void testParseMultipleCookies() throws Exception {
>>>>>         final HttpResponse response = new
>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>         response.addHeader(SM.SET_COOKIE, "test1=1;
>>>> comment=\"how,now\",
>>>>> test2=2; version=1");
>>>>>
>>>>>         final HttpClientContext context = HttpClientContext.create();
>>>>>         context.setAttribute(HttpClientContext.COOKIE_ORIGIN,
>>>>> this.cookieOrigin);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_SPEC,
>>>>> this.cookieSpec);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_STORE,
>>>>> this.cookieStore);
>>>>>
>>>>>         final HttpResponseInterceptor interceptor = new
>>>>> ResponseProcessCookies();
>>>>>         interceptor.process(response, context);
>>>>>
>>>>>         final List<Cookie> cookies = this.cookieStore.getCookies();
>>>>>         Assert.assertNotNull(cookies);
>>>>>         Assert.assertEquals(1, cookies.size());
>>>>>         final Cookie cookie = cookies.get(0);
>>>>>         Assert.assertEquals(0, cookie.getVersion());
>>>>>         Assert.assertEquals("name1", cookie.getName());
>>>>>         Assert.assertEquals("value1", cookie.getValue());
>>>>>         Assert.assertEquals("localhost", cookie.getDomain());
>>>>>         Assert.assertEquals("/", cookie.getPath());
>>>>>     }
>>>>>
>>>>>     @Test
>>>>>     public void testParseCookies() throws Exception {
>>>>>         final HttpResponse response = new
>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>         response.addHeader(SM.SET_COOKIE, "name1=value1");
>>>>>
>>>>>         final HttpClientContext context = HttpClientContext.create();
>>>>>         context.setAttribute(HttpClientContext.COOKIE_ORIGIN,
>>>>> this.cookieOrigin);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_SPEC,
>>>>> this.cookieSpec);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_STORE,
>>>>> this.cookieStore);
>>>>>
>>>>>         final HttpResponseInterceptor interceptor = new
>>>>> ResponseProcessCookies();
>>>>>         interceptor.process(response, context);
>>>>>
>>>>>         final List<Cookie> cookies = this.cookieStore.getCookies();
>>>>>         List<Header> lstHdr = cookieSpec.formatCookies(cookies);
>>>>>         StringBuilder sbHdr = new StringBuilder();
>>>>>         for (Header header : lstHdr) {
>>>>>             sbHdr.append(header.getValue());
>>>>>         }
>>>>>         org.junit.Assert.assertEquals("test1=1; test2=2",
>>>> sbHdr.toString());
>>>>>     }
>>>>>     @Test
>>>>>     public void testParseCookies2() throws Exception {
>>>>>         final HttpResponse response = new
>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>         response.addHeader(SM.SET_COOKIE, "test1=1;secure,
>>>> test2=2;secure");
>>>>>         final HttpClientContext context = HttpClientContext.create();
>>>>>         context.setAttribute(HttpClientContext.COOKIE_ORIGIN,
>>>>> this.cookieOrigin);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_SPEC,
>>>>> this.cookieSpec);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_STORE,
>>>>> this.cookieStore);
>>>>>
>>>>>         final HttpResponseInterceptor interceptor = new
>>>>> ResponseProcessCookies();
>>>>>         interceptor.process(response, context);
>>>>>
>>>>>         final List<Cookie> cookies = this.cookieStore.getCookies();
>>>>>         List<Header> lstHdr = cookieSpec.formatCookies(cookies);
>>>>>         StringBuilder sbHdr = new StringBuilder();
>>>>>         for (Header header : lstHdr) {
>>>>>             sbHdr.append(header.getValue());
>>>>>         }
>>>>>         org.junit.Assert.assertEquals("test1=1; test2=2",
>>>> sbHdr.toString());
>>>>>     }
>>>>>
>>>>>     @Test
>>>>>     public void testNoCookieOrigin() throws Exception {
>>>>>         final HttpResponse response = new
>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>         response.addHeader(SM.SET_COOKIE, "name1=value1");
>>>>>
>>>>>         final HttpClientContext context = HttpClientContext.create();
>>>>>         context.setAttribute(HttpClientContext.COOKIE_ORIGIN, null);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_SPEC,
>>>>> this.cookieSpec);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_STORE,
>>>>> this.cookieStore);
>>>>>
>>>>>         final HttpResponseInterceptor interceptor = new
>>>>> ResponseProcessCookies();
>>>>>         interceptor.process(response, context);
>>>>>
>>>>>         final List<Cookie> cookies = this.cookieStore.getCookies();
>>>>>         Assert.assertNotNull(cookies);
>>>>>         Assert.assertEquals(0, cookies.size());
>>>>>     }
>>>>>
>>>>>     @Test
>>>>>     public void testNoCookieSpec() throws Exception {
>>>>>         final HttpResponse response = new
>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>         response.addHeader(SM.SET_COOKIE, "name1=value1");
>>>>>
>>>>>         final HttpClientContext context = HttpClientContext.create();
>>>>>         context.setAttribute(HttpClientContext.COOKIE_ORIGIN,
>>>>> this.cookieOrigin);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_SPEC, null);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_STORE,
>>>>> this.cookieStore);
>>>>>
>>>>>         final HttpResponseInterceptor interceptor = new
>>>>> ResponseProcessCookies();
>>>>>         interceptor.process(response, context);
>>>>>
>>>>>         final List<Cookie> cookies = this.cookieStore.getCookies();
>>>>>         Assert.assertNotNull(cookies);
>>>>>         Assert.assertEquals(0, cookies.size());
>>>>>     }
>>>>>
>>>>>     @Test
>>>>>     public void testNoCookieStore() throws Exception {
>>>>>         final HttpResponse response = new
>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>         response.addHeader(SM.SET_COOKIE, "name1=value1");
>>>>>
>>>>>         final HttpClientContext context = HttpClientContext.create();
>>>>>         context.setAttribute(HttpClientContext.COOKIE_ORIGIN,
>>>>> this.cookieOrigin);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_SPEC,
>>>>> this.cookieSpec);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_STORE, null);
>>>>>
>>>>>         final HttpResponseInterceptor interceptor = new
>>>>> ResponseProcessCookies();
>>>>>         interceptor.process(response, context);
>>>>>
>>>>>         final List<Cookie> cookies = this.cookieStore.getCookies();
>>>>>         Assert.assertNotNull(cookies);
>>>>>         Assert.assertEquals(0, cookies.size());
>>>>>     }
>>>>>
>>>>>     @Test
>>>>>     public void testSetCookie2OverrideSetCookie() throws Exception {
>>>>>         final HttpResponse response = new
>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>         response.addHeader(SM.SET_COOKIE, "name1=value1");
>>>>>         response.addHeader(SM.SET_COOKIE2, "name1=value2; Version=1");
>>>>>
>>>>>         final HttpClientContext context = HttpClientContext.create();
>>>>>         context.setAttribute(HttpClientContext.COOKIE_ORIGIN,
>>>>> this.cookieOrigin);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_SPEC,
>>>>> this.cookieSpec);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_STORE,
>>>>> this.cookieStore);
>>>>>
>>>>>         final HttpResponseInterceptor interceptor = new
>>>>> ResponseProcessCookies();
>>>>>         interceptor.process(response, context);
>>>>>
>>>>>         final List<Cookie> cookies = this.cookieStore.getCookies();
>>>>>         Assert.assertNotNull(cookies);
>>>>>         Assert.assertEquals(1, cookies.size());
>>>>>         final Cookie cookie = cookies.get(0);
>>>>>         Assert.assertEquals(1, cookie.getVersion());
>>>>>         Assert.assertEquals("name1", cookie.getName());
>>>>>         Assert.assertEquals("value2", cookie.getValue());
>>>>>         Assert.assertEquals("localhost.local", cookie.getDomain());
>>>>>         Assert.assertEquals("/", cookie.getPath());
>>>>>     }
>>>>>
>>>>>     @Test
>>>>>     public void testInvalidHeader() throws Exception {
>>>>>         final HttpResponse response = new
>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>         response.addHeader(SM.SET_COOKIE2, "name=value; Version=crap");
>>>>>
>>>>>         final HttpClientContext context = HttpClientContext.create();
>>>>>         context.setAttribute(HttpClientContext.COOKIE_ORIGIN,
>>>>> this.cookieOrigin);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_SPEC,
>>>>> this.cookieSpec);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_STORE,
>>>>> this.cookieStore);
>>>>>
>>>>>         final HttpResponseInterceptor interceptor = new
>>>>> ResponseProcessCookies();
>>>>>         interceptor.process(response, context);
>>>>>
>>>>>         final List<Cookie> cookies = this.cookieStore.getCookies();
>>>>>         Assert.assertNotNull(cookies);
>>>>>         Assert.assertTrue(cookies.isEmpty());
>>>>>     }
>>>>>
>>>>>     @Test
>>>>>     public void testCookieRejected() throws Exception {
>>>>>         final HttpResponse response = new
>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>         response.addHeader(SM.SET_COOKIE2, "name=value; Domain=
>>>>> www.somedomain.com; Version=1");
>>>>>
>>>>>         final HttpClientContext context = HttpClientContext.create();
>>>>>         context.setAttribute(HttpClientContext.COOKIE_ORIGIN,
>>>>> this.cookieOrigin);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_SPEC,
>>>>> this.cookieSpec);
>>>>>         context.setAttribute(HttpClientContext.COOKIE_STORE,
>>>>> this.cookieStore);
>>>>>
>>>>>         final HttpResponseInterceptor interceptor = new
>>>>> ResponseProcessCookies();
>>>>>         interceptor.process(response, context);
>>>>>
>>>>>         final List<Cookie> cookies = this.cookieStore.getCookies();
>>>>>         Assert.assertNotNull(cookies);
>>>>>         Assert.assertTrue(cookies.isEmpty());
>>>>>     }
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>> On Mon, Dec 14, 2015 at 9:34 PM, Oleg Kalnichevski <ol...@apache.org>
>>>> wrote:
>>>>>> On Sun, 2015-12-13 at 22:28 +0100, Philippe Mouawad wrote:
>>>>>>> Finally, for those  2 I am not sure  as per RFC6265, to use them ,
>>>> put
>>>>>> code
>>>>>>> in org.apache.http.client.protocol.TestResponseProcessCookies.
>>>>>>> They worked with HC3 but it does not mean they should work with
>>>> HC4, but
>>>>>> I
>>>>>>> would like a confirmation:
>>>>>>>
>>>>>> I cannot get the tests to compile due to missing instance variables
>>>>>> cookieOrigin, cookieSpec and cookieStore. I'll take another look if
>>>> you
>>>>>> post the complete class.
>>>>>>
>>>>>> Oleg
>>>>>>
>>>>>>
>>>>>>>     @Test
>>>>>>>     public void testParseCookies() throws Exception {
>>>>>>>         final HttpResponse response = new
>>>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>>>         response.addHeader(SM.SET_COOKIE, "name1=value1");
>>>>>>>
>>>>>>>         final HttpClientContext context =
>>>> HttpClientContext.create();
>>>>>>>         context.setAttribute(HttpClientContext.COOKIE_ORIGIN,
>>>>>>> this.cookieOrigin);
>>>>>>>         context.setAttribute(HttpClientContext.COOKIE_SPEC,
>>>>>>> this.cookieSpec);
>>>>>>>         context.setAttribute(HttpClientContext.COOKIE_STORE,
>>>>>>> this.cookieStore);
>>>>>>>
>>>>>>>         final HttpResponseInterceptor interceptor = new
>>>>>>> ResponseProcessCookies();
>>>>>>>         interceptor.process(response, context);
>>>>>>>
>>>>>>>         final List<Cookie> cookies = this.cookieStore.getCookies();
>>>>>>>         List<Header> lstHdr = cookieSpec.formatCookies(cookies);
>>>>>>>         StringBuilder sbHdr = new StringBuilder();
>>>>>>>         for (Header header : lstHdr) {
>>>>>>>             sbHdr.append(header.getValue());
>>>>>>>         }
>>>>>>>         org.junit.Assert.assertEquals("test1=1; test2=2",
>>>>>> sbHdr.toString());
>>>>>>>     }
>>>>>>>     @Test
>>>>>>>     public void testParseCookies2() throws Exception {
>>>>>>>         final HttpResponse response = new
>>>>>>> BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
>>>>>>>         response.addHeader(SM.SET_COOKIE, "test1=1;secure,
>>>>>> test2=2;secure");
>>>>>>>         final HttpClientContext context =
>>>> HttpClientContext.create();
>>>>>>>         context.setAttribute(HttpClientContext.COOKIE_ORIGIN,
>>>>>>> this.cookieOrigin);
>>>>>>>         context.setAttribute(HttpClientContext.COOKIE_SPEC,
>>>>>>> this.cookieSpec);
>>>>>>>         context.setAttribute(HttpClientContext.COOKIE_STORE,
>>>>>>> this.cookieStore);
>>>>>>>
>>>>>>>         final HttpResponseInterceptor interceptor = new
>>>>>>> ResponseProcessCookies();
>>>>>>>         interceptor.process(response, context);
>>>>>>>
>>>>>>>         final List<Cookie> cookies = this.cookieStore.getCookies();
>>>>>>>         List<Header> lstHdr = cookieSpec.formatCookies(cookies);
>>>>>>>         StringBuilder sbHdr = new StringBuilder();
>>>>>>>         for (Header header : lstHdr) {
>>>>>>>             sbHdr.append(header.getValue());
>>>>>>>         }
>>>>>>>         org.junit.Assert.assertEquals("test1=1; test2=2",
>>>>>> sbHdr.toString());
>>>>>>>     }
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>> On Sun, Dec 13, 2015 at 10:09 PM, Philippe Mouawad <
>>>>>>> philippe.moua...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>> Created https://issues.apache.org/jira/browse/HTTPCLIENT-1705
>>>> with a
>>>>>> Test
>>>>>>>> case in it to show issue with Domain starting with ".".
>>>>>>>>
>>>>>>>>
>>>>>>>> Regards
>>>>>>>>
>>>>>>>> On Sun, Dec 13, 2015 at 9:50 PM, Philippe Mouawad <
>>>>>>>> philippe.moua...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hi Oleg,
>>>>>>>>> Created https://issues.apache.org/jira/browse/HTTPCLIENT-1705
>>>> to show
>>>>>>>>> issue with Cookie Header ordering.
>>>>>>>>>
>>>>>>>>> Regards
>>>>>>>>>
>>>>>>>>> On Sun, Dec 13, 2015 at 9:30 PM, Philippe Mouawad <
>>>>>>>>> philippe.moua...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>  I created
>>>> https://issues.apache.org/jira/browse/HTTPCLIENT-1704
>>>>>> with
>>>>>>>>>> JUnit test case so that you understand the difference we have.
>>>>>>>>>>
>>>>>>>>>> Regards
>>>>>>>>>>
>>>>>>>>>> On Sat, Dec 5, 2015 at 1:26 PM, Oleg Kalnichevski <
>>>> ol...@apache.org>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> On Fri, 2015-12-04 at 21:43 +0100, Philippe Mouawad wrote:
>>>>>>>>>>>> Thanks Oleg.
>>>>>>>>>>>> But look at
>>>>>>>>>>>>
>>>> https://github.com/ubikloadpack/jmeter/blob/HC4_5/test/src/org/apache/jmeter/protocol/http/control/TestCookieManager.java#L368
>>>>>>>>>>> ,
>>>>>>>>>>>> it concerns IGNORE_POLICY
>>>>>>>>>>>>
>>>>>>>>>>>> I really think there is at least one bug.
>>>>>>>>>>>> Regards
>>>>>>>>>>>>
>>>>>>>>>>> Sure thing. All these issues may well be due to bugs in HC.
>>>> Could
>>>>>> you
>>>>>>>>>>> please though reproduce them with unit tests that do not
>>>> involve
>>>>>> JMeter
>>>>>>>>>>> specific code?
>>>>>>>>>>>
>>>>>>>>>>> Oleg
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> On Wed, Dec 2, 2015 at 4:00 PM, Oleg Kalnichevski <
>>>>>> ol...@apache.org>
>>>>>>>>>>> wrote:
>>>>>>>>>>>>> On Wed, 2015-12-02 at 15:51 +0100, Philippe Mouawad wrote:
>>>>>>>>>>>>>> Hi Oleg,
>>>>>>>>>>>>>> Thanks for answer.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Find my answers inline.
>>>>>>>>>>>>>> Regards
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Wed, Dec 2, 2015 at 3:36 PM, Oleg Kalnichevski <
>>>>>>>>>>> ol...@apache.org>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>> On Tue, 2015-12-01 at 22:09 +0100, Philippe Mouawad
>>>> wrote:
>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>> Any answer on this question ?
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> Regards
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Sun, Nov 15, 2015 at 8:39 PM, Philippe Mouawad <
>>>>>>>>>>>>>>>> philippe.moua...@gmail.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>>>> We're in the process of migrating JMeter to last
>>>>>> HttpClient
>>>>>>>>>>> 4.5.1.
>>>>>>>>>>>>>>>>> We are now migrating the CookieManager to remove
>>>> all
>>>>>>>>>>> deprecated
>>>>>>>>>>>>> code.
>>>>>>>>>>>>>>>>> To test this class, we had a JUNIT class :
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>> https://github.com/ubikloadpack/jmeter/blob/HC4_5/test/src/org/apache/jmeter/protocol/http/control/TestCookieManager.java
>>>>>>>>>>>>>>>>> Before migration, it was still testing HC3
>>>> version.
>>>>>>>>>>>>>>>>> So we first switched to HC4.23 and noticed some
>>>>>> failures:
>>>>>>>>>>>>>>> I am confused. Are you using HC 4.2.3 or HC 4.5.1?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> As I wrote, first we switched our JUnit tests to use HC4
>>>>>>>>>>> Implementation
>>>>>>>>>>>>> of
>>>>>>>>>>>>>> CookieHandler and used 4.2.3, we got some failures
>>>> compared to
>>>>>>>>>>> HC3.
>>>>>>>>>>>>>> Then we switched from HC 4.2.3 to HC 4.5.1 and got other
>>>>>> failures
>>>>>>>>>>> all
>>>>>>>>>>>>>> detailed in initial mail.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> What policy does
>>>>>>>>>>>>>>> CookeManager use internally?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> It depends on tests, you can see in the code that
>>>> depending on
>>>>>>>>>>> test
>>>>>>>>>>>>> method
>>>>>>>>>>>>>> we set different Policy to test them.
>>>>>>>>>>>>>>
>>>>>>>>>>>>> You ought to be using RFC6265 policy either in strict or
>>>> relaxed
>>>>>>>>>>> mode
>>>>>>>>>>>>> and nothing else. All other policies have been marked as
>>>>>> obsolete
>>>>>>>>>>> and
>>>>>>>>>>>>> have already been removed in 5.0 (trunk).
>>>>>>>>>>>>>
>>>>>>>>>>>>> Oleg
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>> httpclient-users-unsubscr...@hc.apache.org
>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>> httpclient-users-h...@hc.apache.org
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>> To unsubscribe, e-mail:
>>>> httpclient-users-unsubscr...@hc.apache.org
>>>>>>>>>>> For additional commands, e-mail:
>>>>>> httpclient-users-h...@hc.apache.org
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Cordialement.
>>>>>>>>>> Philippe Mouawad.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Cordialement.
>>>>>>>>> Philippe Mouawad.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Cordialement.
>>>>>>>> Philippe Mouawad.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> Cordialement.
>>> Philippe Mouawad.
>>>
>>>
>>>
>>
>> --
>> Cordialement.
>> Philippe Mouawad.
>>
>>
>>
>

Reply via email to