From d054bfaa01a6018ab6305806143dffe91ce8fb92 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Wed, 31 Mar 2010 15:56:53 +0000 Subject: - Patch #265973 by Damien Tournoud, mr.baileys, dixon_, clemens.tolboom: XML-RPC chokes with long server response. --- modules/simpletest/tests/xmlrpc.test | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'modules/simpletest/tests') diff --git a/modules/simpletest/tests/xmlrpc.test b/modules/simpletest/tests/xmlrpc.test index 2212bfd1a..a9e8bca40 100644 --- a/modules/simpletest/tests/xmlrpc.test +++ b/modules/simpletest/tests/xmlrpc.test @@ -41,6 +41,34 @@ class XMLRPCBasicTestCase extends DrupalWebTestCase { $this->assertEqual($count, count($minimum), 'system.listMethods returned at least the minimum listing'); } + + /** + * Ensure that XML-RPC correctly handles invalid messages when parsing. + */ + protected function testInvalidMessageParsing() { + $invalid_messages = array( + array( + 'message' => xmlrpc_message(''), + 'assertion' => t('Empty message correctly rejected during parsing.'), + ), + array( + 'message' => xmlrpc_message(''), + 'assertion' => t('Empty message with XML declaration correctly rejected during parsing.'), + ), + array( + 'message' => xmlrpc_message('value'), + 'assertion' => t('Non-empty message without a valid message type is rejected during parsing.'), + ), + array( + 'message' => xmlrpc_message('value'), + 'assertion' => t('Non-empty malformed message is rejected during parsing.'), + ), + ); + + foreach ($invalid_messages as $assertion) { + $this->assertFalse(xmlrpc_message_parse($assertion['message']), $assertion['assertion']); + } + } } class XMLRPCValidator1IncTestCase extends DrupalWebTestCase { -- cgit v1.2.3