def test_invalid_data(self): """Test invalid "API" data.""" board = Board(self.site, 'Talk:Pywikibot test') real_topic = Topic(self.site, 'Topic:Slbktgav46omarsd') # Topic.from_topiclist_data with self.assertRaises(ValueError): Topic.from_topiclist_data(board, 'slbktgav46omarsd', {'stuff': 'blah'}) with self.assertRaises(ValueError): Topic.from_topiclist_data(board, 'slbktgav46omarsd', { 'posts': [], 'revisions': [] }) with self.assertRaises(ValueError): Topic.from_topiclist_data(board, 'slbktgav46omarsd', { 'posts': { 'slbktgav46omarsd': ['123'] }, 'revisions': { '456': [] } }) with self.assertRaises(AssertionError): Topic.from_topiclist_data( board, 'slbktgav46omarsd', { 'posts': { 'slbktgav46omarsd': ['123'] }, 'revisions': { '123': { 'content': 789 } } }) # Post.fromJSON with self.assertRaises(ValueError): Post.fromJSON(real_topic, 'abc', {}) with self.assertRaises(ValueError): Post.fromJSON(real_topic, 'abc', {'stuff': 'blah'}) with self.assertRaises(ValueError): Post.fromJSON(real_topic, 'abc', { 'posts': { 'abc': ['123'] }, 'revisions': { '456': [] } }) with self.assertRaises(AssertionError): Post.fromJSON(real_topic, 'abc', { 'posts': { 'abc': ['123'] }, 'revisions': { '123': { 'content': 789 } } })
def test_illegal_arguments(self): """Test illegal method arguments.""" board = Board(self.site, 'Talk:Pywikibot test') real_topic = Topic(self.site, 'Topic:Slbktgav46omarsd') fake_topic = Topic(self.site, 'Topic:Abcdefgh12345678') # Topic.from_topiclist_data with self.assertRaises(TypeError): Topic.from_topiclist_data(self.site, '', {}) with self.assertRaises(TypeError): Topic.from_topiclist_data(board, 521, {}) with self.assertRaises(TypeError): Topic.from_topiclist_data(board, 'slbktgav46omarsd', [0, 1, 2]) with self.assertRaises(NoPage): Topic.from_topiclist_data(board, 'abc', {'stuff': 'blah'}) # Post.fromJSON with self.assertRaises(TypeError): Post.fromJSON(board, 'abc', {}) with self.assertRaises(TypeError): Post.fromJSON(real_topic, 1234, {}) with self.assertRaises(TypeError): Post.fromJSON(real_topic, 'abc', []) with self.assertRaises(NoPage): Post.fromJSON(fake_topic, 'abc', {'posts': [], 'revisions': []})