1*6236dae4SAndroid Build Coastguard Worker<testcase> 2*6236dae4SAndroid Build Coastguard Worker<info> 3*6236dae4SAndroid Build Coastguard Worker<keywords> 4*6236dae4SAndroid Build Coastguard WorkerHTTP 5*6236dae4SAndroid Build Coastguard WorkerHTTP POST 6*6236dae4SAndroid Build Coastguard WorkerHTTP CONNECT 7*6236dae4SAndroid Build Coastguard WorkerHTTP proxy 8*6236dae4SAndroid Build Coastguard WorkerHTTP proxy NTLM auth 9*6236dae4SAndroid Build Coastguard WorkerNTLM 10*6236dae4SAndroid Build Coastguard Worker</keywords> 11*6236dae4SAndroid Build Coastguard Worker</info> 12*6236dae4SAndroid Build Coastguard Worker 13*6236dae4SAndroid Build Coastguard Worker# Server-side 14*6236dae4SAndroid Build Coastguard Worker<reply> 15*6236dae4SAndroid Build Coastguard Worker 16*6236dae4SAndroid Build Coastguard Worker# this is returned first since we get no proxy-auth 17*6236dae4SAndroid Build Coastguard Worker<connect1001> 18*6236dae4SAndroid Build Coastguard WorkerHTTP/1.0 407 Authorization Required to proxy me my dear 19*6236dae4SAndroid Build Coastguard WorkerProxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 20*6236dae4SAndroid Build Coastguard WorkerConnection: Keep-Alive 21*6236dae4SAndroid Build Coastguard WorkerContent-Length: 1033 22*6236dae4SAndroid Build Coastguard Worker 23*6236dae4SAndroid Build Coastguard WorkerAnd you should ignore this data. 24*6236dae4SAndroid Build Coastguard WorkerQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ 25*6236dae4SAndroid Build Coastguard Worker</connect1001> 26*6236dae4SAndroid Build Coastguard Worker 27*6236dae4SAndroid Build Coastguard Worker# This is supposed to be returned when the server gets the second 28*6236dae4SAndroid Build Coastguard Worker# Authorization: NTLM line passed-in from the client 29*6236dae4SAndroid Build Coastguard Worker<connect1002> 30*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 Things are fine in proxy land 31*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 32*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 33*6236dae4SAndroid Build Coastguard Worker 34*6236dae4SAndroid Build Coastguard Worker</connect1002> 35*6236dae4SAndroid Build Coastguard Worker 36*6236dae4SAndroid Build Coastguard Worker# this is returned when we get a GET! 37*6236dae4SAndroid Build Coastguard Worker<data2> 38*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK 39*6236dae4SAndroid Build Coastguard WorkerDate: Tue, 09 Nov 2010 14:49:00 GMT 40*6236dae4SAndroid Build Coastguard WorkerContent-Length: 7 41*6236dae4SAndroid Build Coastguard WorkerConnection: close 42*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html 43*6236dae4SAndroid Build Coastguard WorkerFunny-head: yesyes 44*6236dae4SAndroid Build Coastguard Worker 45*6236dae4SAndroid Build Coastguard Workerdaniel 46*6236dae4SAndroid Build Coastguard Worker</data2> 47*6236dae4SAndroid Build Coastguard Worker 48*6236dae4SAndroid Build Coastguard Worker# then this is returned when we get proxy-auth 49*6236dae4SAndroid Build Coastguard Worker<data1000> 50*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK swsbounce 51*6236dae4SAndroid Build Coastguard WorkerServer: no 52*6236dae4SAndroid Build Coastguard Worker 53*6236dae4SAndroid Build Coastguard WorkerNice proxy auth sir! 54*6236dae4SAndroid Build Coastguard Worker</data1000> 55*6236dae4SAndroid Build Coastguard Worker 56*6236dae4SAndroid Build Coastguard Worker<datacheck> 57*6236dae4SAndroid Build Coastguard WorkerHTTP/1.0 407 Authorization Required to proxy me my dear 58*6236dae4SAndroid Build Coastguard WorkerProxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 59*6236dae4SAndroid Build Coastguard WorkerConnection: Keep-Alive 60*6236dae4SAndroid Build Coastguard WorkerContent-Length: 1033 61*6236dae4SAndroid Build Coastguard Worker 62*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 Things are fine in proxy land 63*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 64*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 65*6236dae4SAndroid Build Coastguard Worker 66*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK 67*6236dae4SAndroid Build Coastguard WorkerDate: Tue, 09 Nov 2010 14:49:00 GMT 68*6236dae4SAndroid Build Coastguard WorkerContent-Length: 7 69*6236dae4SAndroid Build Coastguard WorkerConnection: close 70*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html 71*6236dae4SAndroid Build Coastguard WorkerFunny-head: yesyes 72*6236dae4SAndroid Build Coastguard Worker 73*6236dae4SAndroid Build Coastguard Workerdaniel 74*6236dae4SAndroid Build Coastguard Worker</datacheck> 75*6236dae4SAndroid Build Coastguard Worker</reply> 76*6236dae4SAndroid Build Coastguard Worker 77*6236dae4SAndroid Build Coastguard Worker# Client-side 78*6236dae4SAndroid Build Coastguard Worker<client> 79*6236dae4SAndroid Build Coastguard Worker<server> 80*6236dae4SAndroid Build Coastguard Workerhttp 81*6236dae4SAndroid Build Coastguard Worker</server> 82*6236dae4SAndroid Build Coastguard Worker<features> 83*6236dae4SAndroid Build Coastguard WorkerNTLM 84*6236dae4SAndroid Build Coastguard WorkerSSL 85*6236dae4SAndroid Build Coastguard Worker!SSPI 86*6236dae4SAndroid Build Coastguard Workerproxy 87*6236dae4SAndroid Build Coastguard Worker</features> 88*6236dae4SAndroid Build Coastguard Worker<name> 89*6236dae4SAndroid Build Coastguard WorkerHTTP proxy CONNECT auth NTLM and then POST, response-body in the 407 90*6236dae4SAndroid Build Coastguard Worker</name> 91*6236dae4SAndroid Build Coastguard Worker<command> 92*6236dae4SAndroid Build Coastguard Workerhttp://test.remote.example.com.%TESTNUMBER:%HTTPPORT/path/%TESTNUMBER0002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" 93*6236dae4SAndroid Build Coastguard Worker</command> 94*6236dae4SAndroid Build Coastguard Worker</client> 95*6236dae4SAndroid Build Coastguard Worker 96*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot" 97*6236dae4SAndroid Build Coastguard Worker<verify> 98*6236dae4SAndroid Build Coastguard Worker<protocol nonewline="yes"> 99*6236dae4SAndroid Build Coastguard WorkerCONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1 100*6236dae4SAndroid Build Coastguard WorkerHost: test.remote.example.com.%TESTNUMBER:%HTTPPORT 101*6236dae4SAndroid Build Coastguard WorkerProxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 102*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION 103*6236dae4SAndroid Build Coastguard WorkerProxy-Connection: Keep-Alive 104*6236dae4SAndroid Build Coastguard Worker 105*6236dae4SAndroid Build Coastguard WorkerCONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1 106*6236dae4SAndroid Build Coastguard WorkerHost: test.remote.example.com.%TESTNUMBER:%HTTPPORT 107*6236dae4SAndroid Build Coastguard WorkerProxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 108*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION 109*6236dae4SAndroid Build Coastguard WorkerProxy-Connection: Keep-Alive 110*6236dae4SAndroid Build Coastguard Worker 111*6236dae4SAndroid Build Coastguard WorkerPOST /path/%TESTNUMBER0002 HTTP/1.1 112*6236dae4SAndroid Build Coastguard WorkerHost: test.remote.example.com.%TESTNUMBER:%HTTPPORT 113*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION 114*6236dae4SAndroid Build Coastguard WorkerAccept: */* 115*6236dae4SAndroid Build Coastguard WorkerContent-Length: 6 116*6236dae4SAndroid Build Coastguard WorkerContent-Type: application/x-www-form-urlencoded 117*6236dae4SAndroid Build Coastguard Worker 118*6236dae4SAndroid Build Coastguard Workerpostit 119*6236dae4SAndroid Build Coastguard Worker</protocol> 120*6236dae4SAndroid Build Coastguard Worker</verify> 121*6236dae4SAndroid Build Coastguard Worker</testcase> 122