Commit graph

216 commits

Author SHA1 Message Date
jenkins-bot
166191535f Merge "Add tests for API's assert={user|bot}" 2014-06-16 01:33:24 +00:00
Adam Roses Wight
5971b2c39a API: Enforce section=new constraint when using 'redirect' mode
Finish implementation of the 'redirect' edit API parameter.  This flag
should only be used as a convenience when adding a new section, appending,
or prepending.  Any other usage must be done using the long-cut (fetch page,
determine if it is a redirect, follow redirects and edit the target page's
content).

This patch takes apart the "EditConflict_redirect" test, because it no
longer makes sense--unless you dear reader can figure out how to force an
edit conflict when only adding a section?

Bug: 24330
Change-Id: Ie3f7273c18e156da1e50e1a36aac2e5341710982
2014-05-22 16:08:22 -04:00
Thiemo Mättig
23632a4ecd Use precise ApiMain/ApiQuery type hints in all API modules
Which type is used depends on the ApiModuleManager responsible for
the API module. There are two managers, one in ApiMain and one in
ApiQuery. Both contain a list of API modules they instantiate.
Both use $this as the first parameter in the constructors of the
individual modules. There is no other regular way to instantiate the
modules, so we know the type must either be ApiMain or ApiQuery.

The lists don't intersect.

I would have prefered the naming scheme $mainModule for ApiMain
modules and $queryModule for ApiQuery modules but since this
doesn't add much I left the shorter variable names untouched.

Change-Id: Ie6bf19150f1c9b619655a06a8e051412665e54db
2014-05-16 11:07:23 -04:00
Siebrand Mazeland
e1d58d9071 Pass phpcs-strict on some test files (8/11)
Change-Id: I138c1f9bf2c3c7e9218d5fa29365e78b309fb459
2014-04-24 13:49:48 -07:00
Siebrand Mazeland
80a8a8e85c Pass phpcs-strict on some test files (5/x)
Change-Id: I690645cd8a9b1165dcc8271b201c695ea9391226
2014-04-24 18:51:45 +02:00
umherirrender
092cd8ee31 Fixed some @params documentation (tests)
Swapped some "$var type" to "type $var" or added missing types
before the $var. Changed some other types to match the more common
spelling. Makes beginning of some text in captial.
Also added some missing @param.

Change-Id: Ic8aaf0a93796b97d0fa4617c1f86ff59f4b36131
2014-04-17 20:43:42 +02:00
umherirrender
725d9d125d Removed unneeded spaces and colons in @param and friends
Also swapped some "$var type" to "type $var" or added missing types
before the $var. Changed some other types to match the more common
spelling. Makes beginning of some text in captial.

Change-Id: Ic36c8c7820a6c2d603f1138130670c6bf6a1ca59
2014-04-08 16:02:49 +00:00
Niklas Laxström
da73cf89d7 Fix order of expected, actual in some tests
Change-Id: Iabd431517586c06d411a0894e5d3621a4c4ddf05
2014-04-01 11:59:46 +00:00
addshore
9e85aabe52 Cleanup a bunch of tests and add todos
Change-Id: Iae44427edee3ed2a62abdb5a8f5d9f1ed2e7d660
2014-03-09 15:12:45 +01:00
jenkins-bot
47e233e8fa Merge "Use setMwGlobals in ApiEditPageTest" 2014-03-08 05:33:30 +00:00
addshore
f86db05d8d Remove unused stuff from tests
Change-Id: Iddabfbc80378b02fa4a2c58f80d50241be8105d3
2014-03-07 21:16:32 +00:00
addshore
430270d221 Use setMwGlobals in ApiEditPageTest
Change-Id: If2b23d82816c87e454bfc2348e316bdb92d2809f
2014-03-05 18:56:55 +00:00
YuviPanda
efcf0a3f61 Make ApiCreateAccount return camelcase statuses
Bug: 61663
Change-Id: I214d8eb7c9d49f55f49c5228c92806601c5499f6
2014-02-20 20:49:45 +05:30
jenkins-bot
11cb289cfc Merge "API: Handle "special" options in action=options" 2014-02-04 18:43:40 +00:00
Reedy
911fa591f0 Fix testValidyntax to testValidSyntax
Change-Id: I6157fec56a5455888200752d757602ddb640fd1e
2014-01-24 06:29:11 +00:00
Kunal Mehta
c454bb9046 Add tests for API's assert={user|bot}
Change-Id: I5bff0adf11bccef137d59c05edae45d774596994
2014-01-19 15:14:09 -08:00
Brad Jorsch
a8c157a0a2 Fix mediawiki-core-regression-master
The Interwiki class caches lookups, so ApiQueryTest.php's use of "en:"
was failing for mediawiki-core-regression-master because something else
had already made a call for that prefix. The easy fix is to use a
different prefix that is very unlikely to ever be used in a different
test.

Change-Id: I43ca554d5b5465d760eae03d1f76b8c3bf589210
2013-12-23 13:48:21 -05:00
btongminh
1f47c9b9ae Fix capitalization in ApiQueryBase::titlePartToKey()
ApiQueryBase::titlePartToKey now allows an extra parameter that
indicates the namespace in order to properly capitalize the title part.

This allows list=allcategories, list=allimages, list=alllinks,
list=allpages, list=deletedrevs and list=filearchive to
handle case-sensitivity properly for all parameters.

Bug: 25702
Change-Id: Iaa5a71ec536f3716f54bc84b39f645545dfd8660
2013-12-23 12:53:43 -05:00
umherirrender
661c5c3f01 Fixed spacing
- Added space after foreach
- Added/Removed spaces inside arrays

Change-Id: Ia8775824fa33976b1a4dab43e07f1bff0c57479c
2013-12-08 20:31:47 +01:00
Bartosz Dziewoński
10c9af4ed4 Set 'watchcreations' and 'watchdefault' options to true
Also modify unit tests to be more resilient to various
other tests automatically having their pages being
watched.

Co-authored-by: Bartosz Dziewoński <matma.rex@gmail.com>
Co-authored-by: Brian Wolff <bawolff+wn@gmail.com>
Bug: 45020
Change-Id: I458783f02813ff023b2d142b57b44e5ec3ba30b9
2013-12-07 23:02:21 +00:00
saper
b69d9220b6 Remove mergeExpected and assertResultRecursive
These ApiQueryBasicTest methods are no longer used
and we have a better alternatives in the parent ApiQueryTestBase.

Change-Id: I7a81ad3dd6e880be151c1901037bab4018493bcf
2013-12-06 00:12:40 +01:00
Brad Jorsch
946c575fe6 Improve ApiQueryTestBase::assertResult
It really shouldn't be printing output in the middle of the phpunit
progress indicator; this output should be included in the final output
instead.

This rewrites the function to make use of PHPUnit's data structure
diffing support.

Bug: 57974
Change-Id: Ia4b66182922005da8e2bc173794d712492ad13fa
2013-12-04 12:00:12 -05:00
umherirrender
5ca5672aac Fixed spacing
- Place commas correct
- Moved comments
- Add space after if/foreach/catch
- Reformat some conditions
- Removed trailing spaces/tabs

Change-Id: I40ccda72c418c4a33fcd675773cb08d971510cdb
2013-12-01 20:58:51 +01:00
jenkins-bot
4bee65ffa9 Merge "Make setUp and tearDown protected in tests" 2013-11-27 18:29:08 +00:00
addshore
cad7b8368d General Cleanup of some Tests
Style Fixes, Comment fixes

Change-Id: I675d3f098e81709d5dfd928af6ca54589d3d5fad
2013-11-25 14:17:35 +00:00
aude
71cf107f99 Make setUp and tearDown protected in tests
These are protected in the parent MediaWikiTestCase and
PHPUnit_Framework_TestCase. No good reason to make them public.

Change-Id: I45ecc0e4209f0c3b27e63a550112e4e0ddf6e530
2013-11-24 01:48:09 +01:00
aude
2f87f4f311 Add @group medium to ApiUploadTest
api tests require either @group medium or @group large

Change-Id: Iea65c4856579690de234a2a8c01669b282a265f3
2013-11-23 22:53:23 +01:00
umherirrender
5dbfd5bf80 Fixed spacing
- Removed trailing spaces in comments
- Removed multiple empty lines
- Removed space after object operator

Change-Id: I9fd3256ab490c7cd2034de3fd94e6be6e6d6d8f2
2013-11-21 18:52:25 +00:00
umherirrender
f153998317 Fixed spacing
- Removed double spaces
- Added space after if/switch/foreach
- Removed space on elseif
- Added space around parentheses
- Added newline at end of file
- Removed space before semicolon at end of line

Change-Id: Id40b87e04786c6111e6686d7f7eea1e588bdf37d
2013-11-19 19:03:54 +01:00
jenkins-bot
61fa029522 Merge "ApiFormatWddxTest @requires wddx_deserialize" 2013-11-05 20:11:25 +00:00
addshore
79e8123466 Split ApiTest class into seperate module classes
Also!
 - adds @covers tags

Change-Id: I6d4f98f75cd3c2a52c982ece6dd295a4bf84a6fa
2013-11-05 12:40:50 +01:00
Tim Starling
aebbe31a82 ApiFormatWddxTest @requires wddx_deserialize
Not the format module, that works fine without it, the test just fails.

Change-Id: I8135bbdbb070485bc3477fce474f36412f7547af
2013-11-05 17:06:23 +11:00
jenkins-bot
035095eb2f Merge "Cleanup Api phpunit Tests" 2013-10-24 18:29:35 +00:00
jenkins-bot
eb3317fadc Merge "Add more ApiFormat format tests" 2013-10-24 18:27:03 +00:00
addshore
dc18b813e8 Cleanup Api phpunit Tests
- Splits multiple classes into individual files
- Adds @covers tags
- Fixes scope

Change-Id: I7d2816d3574fa53a2aaa8e2a84b7a7ecdd245252
2013-10-24 19:17:01 +01:00
addshore
9577968280 Add more ApiFormat format tests
Adds tests for Json and wddx formats
Add @covers tags
Fixes some comments
Fixes scope

Change-Id: I5f22097ddcaeb917f856ba7aa0cb793caa17925e
2013-10-24 19:07:05 +01:00
addshore
d442e88e55 @covers for ApiQuery stuff
Change-Id: Id8a89abd545d8e2a95b1d246776049b9c888e53c
2013-10-24 11:04:00 +01:00
addshore
de7af7ac2c Fix scope on all /phpunit test methods
Change-Id: I3ce92463d485a0fb23e464e9a8059330f32d79af
2013-10-24 10:31:32 +02:00
Timo Tijhof
a8ed966ee4 Fix typo erronously -> erroneously
Follows-up 1aed5382d2.

Change-Id: I1e0cbc3dfa529816446c3aec6372eb2b821ee540
2013-10-21 19:29:16 +02:00
Brad Jorsch
b393835bda API: Handle "special" options in action=options
There are certain preferences, such as realname and emailaddress, that
are handled specially in Special:Preferences and are not accessible by
User::getOptions or User::setOptions. But action=options was allowing
a 'dummy' version to be set in User::setOptions.

Change-Id: I4c1b3d8e1eae9520228d7b6da9c41ada80f7c387
2013-10-10 11:02:04 -04:00
Kunal Mehta
95575cd301 Tests for API section editing
Change-Id: Ibc05c54cd2c9e1775f72dd969e7677b5238e12ad
2013-10-09 11:01:52 -07:00
Chad Horohoe
d42a417d6e Remove placeholder tests
They give a false sense of test coverage and nobody's shown any
interest in implementing them.

Change-Id: Id15ddb555e059bb6a76c69ca57d09c91e96e91ce
2013-10-04 12:35:51 -07:00
Brad Jorsch
43f3ab65cf SECURITY: Prevent tokens in jsonp mode
Add checks to token-returning functions to prevent returning tokens in
jsonp mode. This affects action=tokens, action=login,
action=createaccount, and action=query&list=deletedrevs.

Also, remove the "gettoken" parameter to action=block and
action=unblock, which has been deprecated since 1.20.

Bug: 49090
Change-Id: Ibeaa5c72d8084585092b15935a3f5709104bf7f7
2013-09-03 15:04:47 -07:00
MatmaRex
61b3f8ad58 No spaces within (casts)
Per the code conventions ([[mw:CC/PHP]]).

This file appears to be the only outlier.

Change-Id: I634d9927174737ffc99976a97a41ce04c842fc32
2013-08-31 18:17:28 +02:00
umherirrender
24bfde2710 Fix spacing and break some lines
Change-Id: Ia57685d8858e02e399ad5c75ce64d12609d340ac
2013-08-24 17:06:25 +02:00
Kunal Mehta
7be7fc64cf Add tests for API action=edit&section=new
Change-Id: I5fe8fc8297ce29ffafd69f62f427dc9353c090e6
2013-08-19 16:39:11 -07:00
addshore
41c0ab2857 Use action=tokens for api test tokens
Change-Id: I5d517eca7529dd57e14629a1ea5dd4d50110f39f
2013-08-05 20:08:21 +00:00
addshore
8f17e0dc2a Allow different users to login in Api tests
Change-Id: I6f79416e4580ed8bf57836b78aa7027ea8f0d280
2013-08-05 20:44:53 +02:00
Brad Jorsch
a860b9a5b5 Fix exception in ApiPageSet
ApiPageSet is calling $this->profileOut(), then calling a function that
calls $this->profileDBIn(). Move that function to after a new
$this->profileIn().

Also, add a unit test for this situation.

Bug: 51821
Change-Id: Ib4dbfb567faadcd5e3d7d058ca6bdf8b4c83f634
2013-07-22 14:12:38 -04:00
Brad Jorsch
08adf46b26 Add 'viewmyprivateinfo', 'editmyprivateinfo', and 'editmyoptions' rights
These are needed for OAuth grants.

Note that we don't bother with a 'viewmyoptions' right, since the
majority will be determinable from just observing the interface.

Note that the fact of having a confirmed email address cannot be
reliably hidden, and if the user has 'sendemail' they may be able to
determine the real name and email address by sending an email to another
account that they control.

Change-Id: I3f03dd010020e8d43cc2d3bca7b3ef7196d1c548
2013-07-03 13:40:04 -04:00