summaryrefslogtreecommitdiff
path: root/maintenance/tests/ApiTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/tests/ApiTest.php')
-rw-r--r--maintenance/tests/ApiTest.php164
1 files changed, 0 insertions, 164 deletions
diff --git a/maintenance/tests/ApiTest.php b/maintenance/tests/ApiTest.php
deleted file mode 100644
index d098b1a2..00000000
--- a/maintenance/tests/ApiTest.php
+++ /dev/null
@@ -1,164 +0,0 @@
-<?php
-
-require_once( "ApiSetup.php" );
-
-class MockApi extends ApiBase {
- public function execute() {}
- public function getVersion() {}
-
- public function __construct() {}
-
- public function getAllowedParams() {
- $params = array(
- 'filename' => null,
- 'enablechunks' => false,
- 'sessionkey' => null,
- );
- }
-
-
-}
-
-
-class ApiTest extends ApiSetup {
-
- function setup() {
- parent::setup();
- }
-
- function testRequireOnlyOneParameterDefault() {
- $mock = new MockApi();
-
- $this->assertEquals(
- null, $mock->requireOnlyOneParameter(array("filename" => "foo.txt",
- "enablechunks" => false), "filename", "enablechunks"));
- }
-
- /**
- * @expectedException UsageException
- */
- function testRequireOnlyOneParameterZero() {
- $mock = new MockApi();
-
- $this->assertEquals(
- null, $mock->requireOnlyOneParameter(array("filename" => "foo.txt",
- "enablechunks" => 0), "filename", "enablechunks"));
- }
-
- /**
- * @expectedException UsageException
- */
- function testRequireOnlyOneParameterTrue() {
- $mock = new MockApi();
-
- $this->assertEquals(
- null, $mock->requireOnlyOneParameter(array("filename" => "foo.txt",
- "enablechunks" => true), "filename", "enablechunks"));
- }
-
- function testApi() {
- if(!isset($wgServername) || !isset($wgServer)) {
- $this->markTestIncomplete('This test needs $wgServerName and $wgServer to '.
- 'be set in LocalSettings.php');
- }
- /* Haven't thought about test ordering yet -- but this depends on HttpTest.php */
- $resp = Http::get( self::$apiUrl . "?format=xml" );
-
- libxml_use_internal_errors( true );
- $sxe = simplexml_load_string( $resp );
- $this->assertNotType( "bool", $sxe );
- $this->assertThat( $sxe, $this->isInstanceOf( "SimpleXMLElement" ) );
- }
-
- function testApiLoginNoName() {
- if(!isset($wgServername) || !isset($wgServer)) {
- $this->markTestIncomplete('This test needs $wgServerName and $wgServer to '.
- 'be set in LocalSettings.php');
- }
- $resp = Http::post( self::$apiUrl . "?action=login&format=xml",
- array( "postData" => array(
- "lgname" => "",
- "lgpassword" => self::$passWord ) ) );
- 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;
- $this->assertEquals( ' result="NoName"', $a->asXML() );
- }
-
- function testApiLoginBadPass() {
- if(!isset($wgServername) || !isset($wgServer)) {
- $this->markTestIncomplete('This test needs $wgServerName and $wgServer to '.
- 'be set in LocalSettings.php');
- }
- $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;
- $this->assertEquals( ' result="WrongPass"', $a->asXML() );
- }
-
- function testApiLoginGoodPass() {
- if(!isset($wgServername) || !isset($wgServer)) {
- $this->markTestIncomplete('This test needs $wgServerName and $wgServer to '.
- 'be set in LocalSettings.php');
- }
- $resp = Http::post( self::$apiUrl . "?action=login&format=xml",
- array( "postData" => array(
- "lgname" => self::$userName,
- "lgpassword" => self::$passWord ) ) );
- 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;
- $this->assertEquals( ' result="Success"', $a->asXML() );
- }
-
- function testApiGotCookie() {
- global $wgScriptPath, $wgServerName;
-
- if(!isset($wgServername) || !isset($wgServer)) {
- $this->markTestIncomplete('This test needs $wgServerName and $wgServer to '.
- 'be set in LocalSettings.php');
- }
- $req = HttpRequest::factory( self::$apiUrl . "?action=login&format=xml",
- array( "method" => "POST",
- "postData" => array( "lgname" => self::$userName,
- "lgpassword" => self::$passWord ) ) );
- $req->execute();
- $cj = $req->getCookieJar();
- $this->assertRegexp( '/_session=[^;]*; .*UserID=[0-9]*; .*UserName=' . self::$userName . '; .*Token=/',
- $cj->serializeToHttpRequest( $wgScriptPath, $wgServerName ) );
-
-
- return $cj;
- }
-
- /**
- * @depends testApiGotCookie
- */
- function testApiListPages(CookieJar $cj) {
- $this->markTestIncomplete("Not done with this yet");
-
- if($wgServerName == "localhost" || $wgServer == "http://localhost") {
- $this->markTestIncomplete('This test needs $wgServerName and $wgServer to '.
- 'be set in LocalSettings.php');
- }
- $req = HttpRequest::factory( self::$apiUrl . "?action=query&format=xml&prop=revisions&".
- "titles=Main%20Page&rvprop=timestamp|user|comment|content" );
- $req->setCookieJar($cj);
- $req->execute();
- libxml_use_internal_errors( true );
- $sxe = simplexml_load_string( $req->getContent() );
- $this->assertNotType( "bool", $sxe );
- $this->assertThat( $sxe, $this->isInstanceOf( "SimpleXMLElement" ) );
- $a = $sxe->query[0]->pages[0]->page[0]->attributes();
- }
-}