diff options
Diffstat (limited to 'modules/blogapi/blogapi.test')
-rw-r--r-- | modules/blogapi/blogapi.test | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/modules/blogapi/blogapi.test b/modules/blogapi/blogapi.test deleted file mode 100644 index 18a72f218..000000000 --- a/modules/blogapi/blogapi.test +++ /dev/null @@ -1,187 +0,0 @@ -<?php -// $Id$ - -class BlogAPITestCase extends DrupalWebTestCase { - public static function getInfo() { - return array( - 'name' => 'Blog API functionality', - 'description' => 'Create, edit, and delete post; upload file; and set/get categories.', - 'group' => 'Blog API', - ); - } - - function setUp() { - parent::setUp('blog', 'blogapi', 'taxonomy'); - } - - /** - * Create, edit, and delete post; upload file; set/get categories. - */ - function testBlogAPI() { - global $base_url; - // Create user. - $web_user = $this->drupalCreateUser(array('create blog content', 'delete own blog content', 'edit own blog content', 'administer content with blog api')); - // Create admin user and taxonomy for later use. - $admin_user = $this->drupalCreateUser(array('administer taxonomy')); - $this->drupalLogin($admin_user); - $vid = $this->addVocabulary('simpletest_vocab'); - $term_1 = $this->addTerm($vid, 'simpletest_term1'); - $term_2 = $this->addTerm($vid, 'simpletest_term2'); - - // Init common variables. - $local = url($base_url . '/xmlrpc.php', array('external' => TRUE)); - $appid = 'simpletest'; - - // Get user's blog. - $result = xmlrpc($local, 'blogger.getUsersBlogs', $appid, $web_user->name, $web_user->pass_raw); - $this->assertTrue($result, t('Request for user\'s blogs returned correctly.')); - - if ($result !== FALSE) { - if ($this->assertTrue(array_key_exists('blogid', $result[0]), t('Blog found.'))) { - $blog_id = $result[0]['blogid']; - } - } - - // Create post. - $content = $this->randomName(32); - $result = xmlrpc($local, 'blogger.newPost', $appid, $blog_id, $web_user->name, $web_user->pass_raw, $content, TRUE); - $this->assertTrue($result, t('Post created.')); - - $nid = $result; - - // Check recent posts. - $result = xmlrpc($local, 'blogger.getRecentPosts', $appid, $blog_id, $web_user->name, $web_user->pass_raw, 5); - $this->assertTrue($result, t('Recent post list retrieved.')); - - if ($result !== FALSE && array_key_exists('title', $result[0])) { - $this->assertEqual($content, $result[0]['title'], t('Post found.')); - } - else { - $this->fail(t('Post found.')); - } - - // Edit post. - $content_new = $this->randomName(10); - $result = xmlrpc($local, 'blogger.editPost', $appid, $nid, $web_user->name, $web_user->pass_raw, $content_new, TRUE); - $this->assertTrue($result, t('Post successfully modified.')); - - // Upload file. - $file = current($this->drupalGetTestFiles('text')); - $file_contents = file_get_contents($file->uri); - $file = array(); - $file['name'] = $this->randomName() . '.txt'; - $file['type'] = 'text'; - $file['bits'] = xmlrpc_base64($file_contents); - $result = xmlrpc($local, 'metaWeblog.newMediaObject', $blog_id, $web_user->name, $web_user->pass_raw, $file); - $this->assertTrue($result, t('File successfully uploaded.')); - - $url = (array_key_exists('url', $result) ? $result['url'] : ''); - - // Check uploaded file. - $this->drupalGet($url); - $this->assertEqual($this->drupalGetContent(), $file_contents, t('Uploaded contents verified.')); - - // Set post categories. - $categories = array(array('categoryId' => $term_1)); - $result = xmlrpc($local, 'mt.setPostCategories', $nid, $web_user->name, $web_user->pass_raw, $categories); - $this->assertTrue($result, t('Post categories set.')); - - // Get post categories. - $result = xmlrpc($local, 'mt.getPostCategories', $nid, $web_user->name, $web_user->pass_raw); - $this->assertTrue($result, t('Category list successfully retrieved.')); - - if ($result !== FALSE && isset($result[0]['categoryId'])) { - $this->assertEqual($term_1, $result[0]['categoryId'], t('Category list verified.')); - } - - // Test validation of category assignment. - // Set post categories. - $categories[] = array('categoryId' => $term_2); - $result = xmlrpc($local, 'mt.setPostCategories', $nid, $web_user->name, $web_user->pass_raw, $categories); - $this->assertFalse($result, t('Post categories fail validation (attempt to post two when one is allowed).')); - - // Change to required. - $this->updateVocabulary($vid, 'simpletest_vocab1', FALSE, TRUE); - $result = xmlrpc($local, 'mt.setPostCategories', $nid, $web_user->name, $web_user->pass_raw, array()); - $this->assertFalse($result, t("Post categories fail validation (none posted when it's required).")); - - // Change to allowing multiple, not required. - $this->updateVocabulary($vid, 'simpletest_vocab1', TRUE, FALSE); - $result = xmlrpc($local, 'mt.setPostCategories', $nid, $web_user->name, $web_user->pass_raw, $categories); - $this->assertTrue($result, t('Post categories pass validation (multiple allowed).')); - $result = xmlrpc($local, 'mt.setPostCategories', $nid, $web_user->name, $web_user->pass_raw, array()); - $this->assertTrue($result, t('Post categories pass validation (multiple allowed, none posted).')); - - // Change to multiple, but required. - $this->updateVocabulary($vid, 'simpletest_vocab1', TRUE, TRUE); - $result = xmlrpc($local, 'mt.setPostCategories', $nid, $web_user->name, $web_user->pass_raw, $categories); - $this->assertTrue($result, t('Post categories pass validation (multiple allowed).')); - $result = xmlrpc($local, 'mt.setPostCategories', $nid, $web_user->name, $web_user->pass_raw, array()); - $this->assertFalse($result, t("Post categories fail validation (none posted when it's required).")); - - // Try to add a non-existent term. - $categories[] = array('categoryId' => $term_2 + 1); - $result = xmlrpc($local, 'mt.setPostCategories', $nid, $web_user->name, $web_user->pass_raw, $categories); - $this->assertFalse($result, t('Post categories fail validation (unknown term).')); - - // Delete post. - $result = xmlrpc($local, 'blogger.deletePost', $appid, $nid, $web_user->name, $web_user->pass_raw, TRUE); - $this->assertTrue($result, t('Post successfully deleted.')); - } - - /** - * Add taxonomy vocabulary. - * - * @param string $vocab - * Vocabulary name. - * @return integer - * The vocab ID. - */ - function addVocabulary($vocab) { - // Create a vocabulary. - $vocabulary = new stdClass(); - $vocabulary->name = $vocab; - $vocabulary->description = $this->randomName(); - $vocabulary->machine_name = $this->randomName(); - $vocabulary->help = ''; - $vocabulary->nodes = array('blog' => 'blog'); - $vocabulary->weight = mt_rand(0, 10); - taxonomy_vocabulary_save($vocabulary); - - return $vocabulary->vid; - } - /** - * Update a taxonomy vocabulary. - * - * @param $vocab - * Vocabulary name. - * @return integer - * The vocab ID. - */ - function updateVocabulary($vid, $vocab, $multiple = FALSE, $required = FALSE) { - $vocabulary = taxonomy_vocabulary_load($vid); - $vocabulary->name = $vocab; - $vocabulary->nodes = array('blog' => 'blog'); - $vocabulary->multiple = $multiple; - $vocabulary->required = $required; - taxonomy_vocabulary_save($vocabulary); - } - - /** - * Add a taxonomy term to vocabulary. - * - * @param integer $vid - * Vocabulary ID. - * @param string $term - * Term name. - * @return integer - * The Term ID. - */ - function addTerm($vid, $term_name) { - $term = new stdClass(); - $term->name = $term_name; - $term->vid = $vid; - taxonomy_term_save($term); - return $term->tid; - } -} |