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.
