class Messaging_API_Tests in Messaging 5
Same name and namespace in other branches
- 6.4 tests/messaging_api.test \Messaging_API_Tests
- 6 tests/messaging_api.test \Messaging_API_Tests
- 6.2 tests/messaging_api.test \Messaging_API_Tests
- 6.3 tests/messaging_api.test \Messaging_API_Tests
- 7 tests/messaging_api.test \Messaging_API_Tests
Hierarchy
- class \DrupalTestCase extends \WebTestCase
- class \MessagingTestCase
- class \Messaging_API_Tests
- class \MessagingTestCase
Expanded class hierarchy of Messaging_API_Tests
File
- tests/
messaging_api.test, line 10
View source
class Messaging_API_Tests extends MessagingTestCase {
function get_info() {
return array(
'name' => 'Messaging API',
'group' => 'Messaging',
'desc' => 'Messaging API functions',
);
}
/**
* Play with creating, retrieving, deleting a pair messages
*/
function testMessagingBasicAPI() {
$this
->messagingStartTest();
// Enable modules and create user for testing
$this
->drupalModuleEnable('messaging_debug');
$this
->drupalModuleEnable('messaging_simple');
$test_method = 'simple';
$user = $this
->drupalCreateUserRolePerm(array());
$user->messaging_default = $test_method;
// Check messaging settings API
$this
->drupalVariableSet('messaging_method_simple', array(
'filter' => 0,
));
$this
->drupalVariableSet('messaging_method_debug', array(
'filter' => 0,
));
$info = messaging_method_info(NULL, NULL, NULL, TRUE);
$this
->assertEqual(!empty($info[$test_method]), TRUE, 'Messaging method info retrieves information about methods');
$this
->assertEqual(messaging_method_info($test_method, 'filter') === 0, TRUE, 'Messaging method info retrieves filter information');
$this
->assertEqual(messaging_method_default($user) === $test_method, TRUE, 'Messaging method default is working for test user');
// Try message composition, a pair simple cases, no filter
$message = $this
->randomMessage();
$info = array(
'glue' => '+',
'subject_glue' => '-',
'footer' => '--',
'filter' => FALSE,
);
// Calculate the rendered body
$body = implode($info['glue'], array(
$message['body']['header'],
$message['body']['main'],
$info['footer'],
$message['body']['footer'],
));
$render = messaging_message_render($message, $info);
$this
->assertEqual($render['subject'] == $message['subject'] && $render['body'] == $body, TRUE, 'Message successfully rendered, first try');
// Now give it a twist, make subject an array, body a plain text
$message['subject'] = array(
$message['subject'],
$message['subject'],
);
$message['body'] = $body;
$render = messaging_message_render($message, $info);
$this
->assertEqual($render['subject'] == implode($info['subject_glue'], $message['subject']) && $render['body'] == $body, TRUE, 'Message successfully rendered, second try');
// Create fake messages and try sending, they'll end up in messaging queue
$message1 = $this
->randomMessage();
$message2 = $this
->randomMessage();
$this
->assertEqual(messaging_message_send_user($user, $message1), TRUE, 'Message successfully sent for user');
$message2['account'] = $user;
$this
->assertEqual(messaging_message_send(array(
$user,
$user,
), $message2, $test_method), TRUE, 'Bulk message successfully sent');
// Now there should be two messages in queue for this user retrieve using two different methods
$queued = messaging_store('get', array(
'uid' => $user->uid,
'queue' => 1,
));
$this
->assertEqual(count($queued), 3, 'We have the right number of messages in queue');
$pending = messaging_pull_pending($test_method, array(
$user->uid,
), 0, FALSE);
$this
->assertEqual(count($queued), 3, 'We can pull the right number of messages from queue');
// Make messages into logs and then delete
messaging_store('sent', array_keys($queued), TRUE);
$logged = messaging_store('get', array(
'uid' => $user->uid,
'queue' => 0,
'log' => 1,
));
$this
->assertEqual(count($logged), 3, 'We have the right number of messages as logs');
// Try deleting function with many parameters, more than needed actually
messaging_store('del', array(
'uid' => $user->uid,
'mqid' => array_keys($queued),
));
$this
->assertEqual(count(messaging_store('get', array(
'uid' => $user->uid,
))), 0, 'The logs have been successfully deleted');
// Final clean up of messages in store
$this
->messagingCleanUp();
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
function | Will trigger a pass if both parameters refer to different objects. Fail otherwise. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have the same value only. Otherwise a fail. | ||
DrupalTestCase:: |
function | Confirms that an error has occurred and optionally that the error text matches exactly. | ||
DrupalTestCase:: |
function | Confirms that an error has occurred and that the error text matches a Perl regular expression. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have the same value and same type. Otherwise a fail. | ||
DrupalTestCase:: |
function | Type and class test. Will pass if class matches the type name or is a subclass or if not an object, but the type is correct. | ||
DrupalTestCase:: |
function | Confirms that no errors have occurred so far in the test method. | ||
DrupalTestCase:: |
function | Type and class mismatch test. Will pass if class name or underling type does not match the one specified. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have a different value. Otherwise a fail. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have the different value or different type. | ||
DrupalTestCase:: |
function | Will be true if the value is set. | ||
DrupalTestCase:: |
function | Will trigger a pass if the Perl regex pattern is not present in subject. Fail if found. | ||
DrupalTestCase:: |
function | Will trigger a pass if the raw text is NOT found on the loaded page Fail otherwise. | ||
DrupalTestCase:: |
function | Will be true if the value is null. | ||
DrupalTestCase:: |
function | Will trigger a pass if both parameters refer to the same object. Fail otherwise. | ||
DrupalTestCase:: |
function | Will trigger a pass if the Perl regex pattern is found in the subject. Fail otherwise. | ||
DrupalTestCase:: |
function | Will trigger a pass if the raw text is found on the loaded page Fail otherwise. | ||
DrupalTestCase:: |
function | Follows a link by name. Will click the first link found with this link text by default, or a later one if an index is given. Match is case insensitive with normalised space. Does make assertations if the click was sucessful or not and it does… | ||
DrupalTestCase:: |
function | @abstract Checks to see if we need to send a http-auth header to authenticate when browsing a site. | ||
DrupalTestCase:: |
function | Create a role / perm combination specified by permissions | ||
DrupalTestCase:: |
function | Creates a user / role / permissions combination specified by permissions | ||
DrupalTestCase:: |
function | @abstract Brokder for the get function adds the authentication headers if necessary @author Earnest Berry III <earnest.berry@gmail.com> | ||
DrupalTestCase:: |
function | @TODO: needs documentation | ||
DrupalTestCase:: |
function | Logs in a user with the internal browser | ||
DrupalTestCase:: |
function | Disables a drupal module | ||
DrupalTestCase:: |
function | Enables a drupal module | ||
DrupalTestCase:: |
function | Do a post request on a drupal page. It will be done as usual post request with SimpleBrowser | ||
DrupalTestCase:: |
function | @abstract Broker for the post function adds the authentication headers if necessary @author Earnest Berry III <earnest.berry@gmail.com> | ||
DrupalTestCase:: |
function | |||
DrupalTestCase:: |
function | Set a druapl variable and keep track of the changes for tearDown() | ||
DrupalTestCase:: |
function | Generates a random string, to be used as name or whatever | ||
DrupalTestCase:: |
function | Just some info for the reporter | ||
DrupalTestCase:: |
function | tearDown implementation, setting back switched modules etc | 1 | |
MessagingTestCase:: |
property | |||
MessagingTestCase:: |
function | |||
MessagingTestCase:: |
function | |||
MessagingTestCase:: |
function | |||
Messaging_API_Tests:: |
function | |||
Messaging_API_Tests:: |
function | Play with creating, retrieving, deleting a pair messages |