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() {
- if($wgServerName == "localhost" || $wgServer == "http://localhost") {
- $this->markTestIncomplete('This test needs $wgServerName and $wgServer to '.
- 'be set in LocalSettings.php');
- }
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" );
}
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" => "",
}
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,
}
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,
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,
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);