From 0bf1c79e03b3ba14d18aac8bec38bd008e41b755 Mon Sep 17 00:00:00 2001 From: Jimmy Berry Date: Wed, 3 Jan 2018 17:51:22 -0600 Subject: [PATCH] tests/ReviewBot_tests: add test_basic_logger() as initial test. --- tests/ReviewBot_tests.py | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tests/ReviewBot_tests.py diff --git a/tests/ReviewBot_tests.py b/tests/ReviewBot_tests.py new file mode 100644 index 00000000..b8aee2ed --- /dev/null +++ b/tests/ReviewBot_tests.py @@ -0,0 +1,49 @@ +import logging +from OBSLocal import OBSLocalTestCase +from osclib.comments import CommentAPI +from ReviewBot import ReviewBot +import random + + +COMMENT = 'short comment' +PROJECT = 'openSUSE:Factory:Staging' + +class TestReviewBotComment(OBSLocalTestCase): + def setUp(self): + super(TestReviewBotComment, self).setUp() + self.api = CommentAPI(self.apiurl) + + # Ensure different test runs operate in unique namespace. + self.bot = '::'.join([type(self).__name__, str(random.getrandbits(8))]) + self.review_bot = ReviewBot(self.apiurl, logger=logging.getLogger(self.bot)) + self.review_bot.bot_name = self.bot + + self.osc_user('factory-auto') + + def tearDown(self): + self.api.delete_from(project_name=PROJECT) + self.assertFalse(len(self.api.get_comments(project_name=PROJECT))) + + def test_basic_logger(self): + comment_count = len(self.api.get_comments(project_name=PROJECT)) + self.assertFalse(self.comments_filtered(self.bot)[0]) + + # Initial comment. + self.review_bot.comment_handler_add() + self.review_bot.logger.info('something interesting') + self.review_bot.comment_write(project=PROJECT) + comment, _ = self.comments_filtered(self.bot) + self.assertTrue(comment['comment'].endswith('something interesting')) + + # Second comment with extra line. + self.review_bot.comment_handler_add() + self.review_bot.logger.info('something interesting') + self.review_bot.logger.info('something extra') + self.review_bot.comment_write(project=PROJECT) + comment, _ = self.comments_filtered(self.bot) + self.assertTrue(comment['comment'].endswith('something extra')) + + def comments_filtered(self, bot): + comments = self.api.get_comments(project_name=PROJECT) + return self.api.comment_find(comments, bot) +