I was searching in my mails for it :-) Andrei

On Tue, Dec 15, 2015 at 5:40 PM, Andrey Pokhilko <[email protected]> wrote:

> 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 <
> > [email protected]> 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 <
> >> [email protected]> wrote:
> >>
> >>>
> >>> On Tue, Dec 15, 2015 at 9:36 AM, Oleg Kalnichevski <[email protected]>
> >>> 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 <[email protected]
> >
> >>>> 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 <
> >>>>>>> [email protected]> 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 <
> >>>>>>>> [email protected]> 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 <
> >>>>>>>>> [email protected]> 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 <
> >>>> [email protected]>
> >>>>>>>>>> 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 <
> >>>>>> [email protected]>
> >>>>>>>>>>> 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 <
> >>>>>>>>>>> [email protected]>
> >>>>>>>>>>>>> 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 <
> >>>>>>>>>>>>>>>> [email protected]> 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:
> >>>>>> [email protected]
> >>>>>>>>>>>>> For additional commands, e-mail:
> >>>>>>>>>>> [email protected]
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>
> ---------------------------------------------------------------------
> >>>>>>>>>>> To unsubscribe, e-mail:
> >>>> [email protected]
> >>>>>>>>>>> For additional commands, e-mail:
> >>>>>> [email protected]
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> --
> >>>>>>>>>> Cordialement.
> >>>>>>>>>> Philippe Mouawad.
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> Cordialement.
> >>>>>>>>> Philippe Mouawad.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> --
> >>>>>>>> Cordialement.
> >>>>>>>> Philippe Mouawad.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>> --
> >>> Cordialement.
> >>> Philippe Mouawad.
> >>>
> >>>
> >>>
> >>
> >> --
> >> Cordialement.
> >> Philippe Mouawad.
> >>
> >>
> >>
> >
>
>


-- 
Cordialement.
Philippe Mouawad.

Reply via email to