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. >> >> >> >