test2033 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <testcase>
  2. <info>
  3. <keywords>
  4. HTTP
  5. HTTP GET
  6. HTTP Basic auth
  7. HTTP NTLM auth
  8. pipelining
  9. flaky
  10. </keywords>
  11. </info>
  12. # Server-side
  13. <reply>
  14. <!-- Basic auth -->
  15. <data100>
  16. HTTP/1.1 401 Need Basic or NTLM auth
  17. Server: Microsoft-IIS/5.0
  18. Content-Type: text/html; charset=iso-8859-1
  19. Content-Length: 29
  20. WWW-Authenticate: NTLM
  21. WWW-Authenticate: Basic realm="testrealm"
  22. This is a bad password page!
  23. </data100>
  24. <!-- NTLM auth -->
  25. <data200>
  26. HTTP/1.1 401 Need Basic or NTLM auth (2)
  27. Server: Microsoft-IIS/5.0
  28. Content-Type: text/html; charset=iso-8859-1
  29. Content-Length: 27
  30. WWW-Authenticate: NTLM
  31. WWW-Authenticate: Basic realm="testrealm"
  32. This is not the real page!
  33. </data200>
  34. <data1201>
  35. HTTP/1.1 401 NTLM intermediate (2)
  36. Server: Microsoft-IIS/5.0
  37. Content-Type: text/html; charset=iso-8859-1
  38. Content-Length: 33
  39. WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
  40. This is still not the real page!
  41. </data1201>
  42. <data1202>
  43. HTTP/1.1 200 Things are fine in server land
  44. Server: Microsoft-IIS/5.0
  45. Content-Type: text/html; charset=iso-8859-1
  46. Content-Length: 32
  47. Finally, this is the real page!
  48. </data1202>
  49. <datacheck>
  50. Data connection 0: 228
  51. Data connection 1: 228
  52. Data connection 2: 402
  53. </datacheck>
  54. </reply>
  55. # Client-side
  56. <client>
  57. <features>
  58. NTLM
  59. !SSPI
  60. </features>
  61. <server>
  62. http
  63. </server>
  64. <tool>
  65. lib2033
  66. </tool>
  67. <name>
  68. NTLM connection mapping, pipelining enabled
  69. </name>
  70. <setenv>
  71. # we force our own host name, in order to make the test machine independent
  72. CURL_GETHOSTNAME=curlhost
  73. # we try to use the LD_PRELOAD hack, if not a debug build
  74. LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
  75. </setenv>
  76. <command>
  77. http://%HOSTIP:%HTTPPORT/2032
  78. </command>
  79. <precheck>
  80. chkhostname curlhost
  81. </precheck>
  82. </client>
  83. # Verify data after the test has been "shot"
  84. <verify>
  85. <strip>
  86. ^User-Agent:.*
  87. </strip>
  88. <protocol>
  89. GET /20320100 HTTP/1.1
  90. Host: 127.0.0.1:%HTTPPORT
  91. Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
  92. Accept: */*
  93. GET /20320100 HTTP/1.1
  94. Host: 127.0.0.1:%HTTPPORT
  95. Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
  96. Accept: */*
  97. GET /20320200 HTTP/1.1
  98. Host: 127.0.0.1:%HTTPPORT
  99. Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
  100. Accept: */*
  101. GET /20320200 HTTP/1.1
  102. Host: 127.0.0.1:%HTTPPORT
  103. Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
  104. Accept: */*
  105. </protocol>
  106. </verify>
  107. </testcase>