Index: modules/simpletest/tests/common.test =================================================================== RCS file: /cvs/drupal/drupal/modules/simpletest/tests/common.test,v retrieving revision 1.3 diff -u -r1.3 common.test --- modules/simpletest/tests/common.test 21 Aug 2008 19:36:38 -0000 1.3 +++ modules/simpletest/tests/common.test 28 Aug 2008 08:40:38 -0000 @@ -128,6 +128,10 @@ 'group' => t('System') ); } + + function setUp() { + parent::setUp('drupal_http_request_test'); + } function testDrupalHTTPRequest() { $missing_scheme = drupal_http_request('example.com/path'); @@ -136,4 +140,19 @@ $unable_to_parse = drupal_http_request('http:///path'); $this->assertEqual($unable_to_parse->error, 'unable to parse URL', t('Returned with unable to parse URL error.')); } + + function testDrupalHTTPRequestBasicAuth() { + $username = $this->randomName(); + $password = $this->randomName(); + $url = url('drupal_http_request_test', array('absolute' => TRUE)); + + $auth = str_replace('http://', 'http://' . $username . ':' . $password .'@', $url); + $result = drupal_http_request($auth); + + // We use strpos directly. + // assertRaw() cannot be used because we are getting the data + // in a variable instead of $this->_content. + $this->assertTrue(strpos($result->data, $username) !== FALSE, t('$_SERVER[\'PHP_AUTH_USER\'] is passed correctly.')); + $this->assertTrue(strpos($result->data, $password) !== FALSE, t('$_SERVER[\'PHP_AUTH_PW\'] is passed correctly.')); + } } Index: modules/simpletest/tests/drupal_http_request_test.module =================================================================== RCS file: modules/simpletest/tests/drupal_http_request_test.module diff -N modules/simpletest/tests/drupal_http_request_test.module --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ modules/simpletest/tests/drupal_http_request_test.module 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,22 @@ + 'drupal_http_request_test_basic_auth_page', + 'access callback' => TRUE, + 'type' => MENU_CALLBACK, + ); + + return $items; +} + +function drupal_http_request_test_basic_auth_page() { + $output = t('$_SERVER[\'PHP_AUTH_USER\'] is @username.', array('@username' => $_SERVER['PHP_AUTH_USER'])); + $output .= t('$_SERVER[\'PHP_AUTH_PW\'] is @password.', array('@password' => $_SERVER['PHP_AUTH_PW'])); + return $output; +} Index: modules/simpletest/tests/drupal_http_request_test.info =================================================================== RCS file: modules/simpletest/tests/drupal_http_request_test.info diff -N modules/simpletest/tests/drupal_http_request_test.info --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ modules/simpletest/tests/drupal_http_request_test.info 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,8 @@ +; $id$ +name = "drupal_HTTP_request Test" +description = "Support module for drupal_HTTP_request testing." +package = Testing +version = VERSION +core = 7.x +files[] = drupal_http_request_test.module +hidden = TRUE