Revert r74117. Breaks the test. Using an internal request it doesn't fail with NeedTo...
authorPlatonides <platonides@users.mediawiki.org>
Fri, 1 Oct 2010 23:11:21 +0000 (23:11 +0000)
committerPlatonides <platonides@users.mediawiki.org>
Fri, 1 Oct 2010 23:11:21 +0000 (23:11 +0000)
maintenance/tests/phpunit/includes/api/ApiTest.php

index 6579fe3..178e6ed 100644 (file)
@@ -90,36 +90,32 @@ class ApiTest extends ApiTestSetup {
                if ( !isset( $wgServer ) ) {
                        $this->markTestIncomplete( 'This test needs $wgServer to be set in LocalSettings.php' );
                }
-               $ret = $this->doApiRequest( array(
-                       "action" => "login",
-                       "lgname" => self::$userName,
-                       "lgpassword" => "bad",
-                       )
-               );
-
-               $result = $ret[0];
-
-               $this->assertNotType( "bool", $result );
-
-               $a = $result["login"]["result"];
-               $this->assertEquals( "NeedToken", $a );
+               $resp = Http::post( self::$apiUrl . "?action=login&format=xml",
+                                                  array( "postData" => array(
+                                                                        "lgname" => self::$userName,
+                                                                        "lgpassword" => "bad" ) ) );
+               libxml_use_internal_errors( true );
+               $sxe = simplexml_load_string( $resp );
+               $this->assertNotType( "bool", $sxe );
+               $this->assertThat( $sxe, $this->isInstanceOf( "SimpleXMLElement" ) );
+               $a = $sxe->login[0]->attributes()->result[0];
+               $this->assertEquals( ' result="NeedToken"', $a->asXML() );
 
-               $token = $result["login"]["token"];
+               $token = (string)$sxe->login[0]->attributes()->token;
 
-               $ret = $this->doApiRequest( array(
-                       "action" => "login",
-                       "lgtoken" => $token,
-                       "lgname" => self::$userName,
-                       "lgpassword" => "bad",
-                       )
-               );
+               $resp = Http::post( self::$apiUrl . "?action=login&format=xml",
+                                                  array( "postData" => array(
+                                                                       "lgtoken" => $token,
+                                                                       "lgname" => self::$userName,
+                                                                       "lgpassword" => "bad" ) ) );
 
-               $result = $ret[0];
 
-               $this->assertNotType( "bool", $result );
-               $a = $result["login"]["result"];
+               $sxe = simplexml_load_string( $resp );
+               $this->assertNotType( "bool", $sxe );
+               $this->assertThat( $sxe, $this->isInstanceOf( "SimpleXMLElement" ) );
+               $a = $sxe->login[0]->attributes()->result[0];
 
-               $this->assertEquals( "NeedToken", $a );
+               $this->assertEquals( ' result="NeedToken"', $a->asXML() );
        }
 
        function testApiLoginGoodPass() {
@@ -136,6 +132,7 @@ class ApiTest extends ApiTestSetup {
                        )
                );
 
+               libxml_use_internal_errors( true );
                $result = $ret[0];
                $this->assertNotType( "bool", $result );
                $this->assertNotType( "null", $result["login"] );