class TestCreateArticle(unittest.TestCase): """ Test method VimBlogger.create_article """ def setUp(self): """ Create VimBlogger object """ self.vimob = VimBlogger(None, shared.LOGIN, shared.PASS) def test_create_simple_article(self): """ Test creation of article with minimum requirements """ html = "<p>article</p>" post = self.vimob.create_article(html) self.vimob.draft = True self.assertEqual(post.id.text, '1234567890') self.assertEqual(post.content.text, html) self.assertEqual(post.published, None) self.assertTrue(post.updated is not None) self.assertEqual(post.title.text, "") self.assertEqual(post.category, []) self.assertEqual(post.control.draft.text, "yes") def test_create_article(self): """ Test creation of article with full attrs """ html = u"<p>article \xe2\x80\x94 article</p>" labels = "tag with spaces|vim|python|blogger".split("|") attrs = {"title": u'Title \xe2\x80\x94 title', "tags": ", ".join(labels), "date": "2010-12-10T14:18:32+00:00"} self.vimob.draft = False post = self.vimob.create_article(html, attrs) self.assertEqual(post.id.text, '1234567890') self.assertEqual(post.content.text, html) self.assertEqual(post.published.text, attrs['date']) self.assertTrue(post.updated is not None) self.assertEqual(post.title.text, attrs['title']) self.assertEqual(len(post.category), 4) for label in post.category: self.assertTrue(label.term in labels) del(labels[labels.index(label.term)]) self.assertEqual(post.control, None)
class TestDeleteArticle(unittest.TestCase): """ Test method VimBlogger.create_article """ def setUp(self): """ Create VimBlogger object """ self.vimob = VimBlogger(None, shared.LOGIN, shared.PASS) for bid, bname in {1: 'one', 3: 'test', 7: 'blog_name'}.items(): blog = shared.MockBlog(bname, bid) self.vimob.feed.entry.append(blog) self.vimob._set_blog('test') def test_delete_non_existing_article(self): """ Test removing article without id """ self.assertEqual(self.vimob.delete_article(None), "No article id provided") def test_delete_article(self): """ Test removing article """ html = u"<p>article \xe2\x80\x94 article</p>" labels = "tag with spaces|vim|python|blogger".split("|") attrs = {"title": u'Title \xe2\x80\x94 title', "tags": ", ".join(labels), "date": "2010-12-10T14:18:32+00:00"} self.vimob.draft = False post = self.vimob.create_article(html, attrs) self.assertEqual(self.vimob.delete_article(post.id.text), None)
def post(self): """ Do post article """ bufcontent = "\n".join(self.buff) html, attrs = blogArticleString(bufcontent) parse_msg = self._check_html(html, True) if parse_msg: self._open_qf(parse_msg) return "There are errors in generated document" if not self.password: self.password = \ vim.eval('inputsecret("Enter your gmail password: "******"Article '%s' has been updated" % post.title.text) msg = msg.encode(self.vim_encoding) else: post = blog.create_article(html, attrs=attrs) msg = "New article with id %s has been created" % \ post.get_post_id() for item, value in (('id', post.get_post_id()), ('date', post.published.text), ('title', post.title.text), ('modified', post.updated.text), ('tags', ", ".join([cat.term for cat in post.category]))): self._update_docinfo(item, value) return msg