Umherirrender has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/321412 )

Change subject: Update for API error i18n
......................................................................


Update for API error i18n

See Iae0e2ce3.

Change-Id: I7a8deec9a8c55408f1802dfaa6c9e7e0631dc1a2
---
M i18n/en.json
M i18n/qqq.json
M includes/ApiBounceHandler.php
M tests/ApiBounceHandlerTest.php
4 files changed, 24 insertions(+), 8 deletions(-)

Approvals:
  Umherirrender: Verified; Looks good to me, approved



diff --git a/i18n/en.json b/i18n/en.json
index d6108a7..f4dab60 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -9,6 +9,7 @@
        "apihelp-bouncehandler-example-1": "Receive a bounce email for 
processing with the content \"This is a test email\".",
        "apihelp-bouncehandler-description": "Receive a bounce email and 
process it to handle the failing recipient.",
        "apihelp-bouncehandler-param-email": "The bounced email.",
+       "apierror-bouncehandler-internalonly": "This API module is for internal 
use only.",
        "notification-bouncehandler": "{{GENDER:$1|Your}} registered email 
address is no longer valid.",
        "notification-bouncehandler-flyout": "{{GENDER:$2|Your}} registered 
email address $1 has been unsubscribed due to multiple message delivery 
failures. You can [[Special:ConfirmEmail|verify {{GENDER:$2|your}} email 
address again]].",
        "notification-link-text-change-email": "Change your email address",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 1e350fe..defb047 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -9,6 +9,7 @@
        "apihelp-bouncehandler-example-1": 
"{{doc-apihelp-example|bouncehandler}}",
        "apihelp-bouncehandler-description": 
"{{doc-apihelp-description|bouncehandler}}",
        "apihelp-bouncehandler-param-email": 
"{{doc-apihelp-param|bouncehandler|email}}",
+       "apierror-bouncehandler-internalonly": "{{doc-apierror}}",
        "notification-bouncehandler": "Title message of Echo notification to 
notify a user of his/her invalid email address. Parameters:\n* $1 is the 
username of the user whose email address was unsubscribed. Can be used for 
GENDER.",
        "notification-bouncehandler-flyout": "Flyout message of Echo 
notification to notify the user of his/her invalid email address. 
Parameters:\n* $1 is the unsubscribed email address of the user.\n* $2 is the 
username of the user whose email address was unsubscribed. Can be used for 
GENDER.",
        "notification-link-text-change-email": "Label of the link that points 
to Special:ConfirmEmail and Special:ChangeEmail wherein the users are asked to 
again verify their old email address.",
diff --git a/includes/ApiBounceHandler.php b/includes/ApiBounceHandler.php
index aea61e8..e8bfc1f 100644
--- a/includes/ApiBounceHandler.php
+++ b/includes/ApiBounceHandler.php
@@ -23,7 +23,11 @@
                }
                if ( !$inRangeIP ) {
                        wfDebugLog( 'BounceHandler', "POST received from 
restricted IP $requestIP" );
-                       $this->dieUsage( 'This API module is for internal use 
only.', 'invalid-ip' );
+                       if ( is_callable( array( $this, 'dieWithError' ) ) ) {
+                               $this->dieWithError( 
'apierror-bouncehandler-internalonly', 'invalid-ip' );
+                       } else {
+                               $this->dieUsage( 'This API module is for 
internal use only.', 'invalid-ip' );
+                       }
                }
 
                $params = $this->extractRequestParams();
diff --git a/tests/ApiBounceHandlerTest.php b/tests/ApiBounceHandlerTest.php
index 411c881..a4c3e6a 100644
--- a/tests/ApiBounceHandlerTest.php
+++ b/tests/ApiBounceHandlerTest.php
@@ -77,10 +77,13 @@
         *
         * @dataProvider provideBounceEmails
         * @param $email
-        * @expectedException UsageException
-        * @expectedExceptionMessage This API module is for internal use only.
         */
        function testBounceHandlerWithBadIPPasses( $email ) {
+               $this->setExpectedException(
+                       class_exists( ApiUsageException::class ) ? 
ApiUsageException::class : UsageException::class,
+                       'This API module is for internal use only.'
+               );
+
                $this->setMwGlobals( 'wgBounceHandlerInternalIPs', array( 
'111.111.111.111' ) );
                $this->doApiRequest( array(
                        'action' => 'bouncehandler',
@@ -90,11 +93,14 @@
 
        /**
         * Tests API request with null 'email' param
-        *
-        * @expectedException UsageException
-        * @expectedExceptionMessage The "email" parameter must be set
         */
        function testBounceHandlerWithNullParams() {
+               if ( class_exists( ApiUsageException::class ) ) {
+                       $this->setExpectedException( ApiUsageException::class, 
'The "email" parameter must be set.' );
+               } else {
+                       $this->setExpectedException( UsageException::class, 
'The email parameter must be set' );
+               }
+
                $this->setMwGlobals( 'wgBounceHandlerInternalIPs', array( 
'127.0.0.1' ) );
                $this->doApiRequest( array(
                        'action' => 'bouncehandler',
@@ -108,10 +114,14 @@
         *
         * @dataProvider provideBounceEmails
         * @param $email
-        * @expectedException UsageException
-        * @expectedExceptionMessage The "email" parameter must be set
         */
        function testBounceHandlerWithWrongParams( $email ) {
+               if ( class_exists( ApiUsageException::class ) ) {
+                       $this->setExpectedException( ApiUsageException::class, 
'The "email" parameter must be set.' );
+               } else {
+                       $this->setExpectedException( UsageException::class, 
'The email parameter must be set' );
+               }
+
                $this->setMwGlobals( 'wgBounceHandlerInternalIPs', array( 
'127.0.0.1' ) );
                $this->doApiRequest( array(
                        'action' => 'bouncehandler',

-- 
To view, visit https://gerrit.wikimedia.org/r/321412
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I7a8deec9a8c55408f1802dfaa6c9e7e0631dc1a2
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/BounceHandler
Gerrit-Branch: master
Gerrit-Owner: Anomie <bjor...@wikimedia.org>
Gerrit-Reviewer: 01tonythomas <01tonytho...@gmail.com>
Gerrit-Reviewer: Anomie <bjor...@wikimedia.org>
Gerrit-Reviewer: Gergő Tisza <gti...@wikimedia.org>
Gerrit-Reviewer: Jforrester <jforres...@wikimedia.org>
Gerrit-Reviewer: Siebrand <siebr...@kitano.nl>
Gerrit-Reviewer: Umherirrender <umherirrender_de...@web.de>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to