示例#1
0
    def test_forum_board_from_content(self):
        content = self.load_resource(FILE_BOARD_THREAD_LIST)

        board = ForumBoard.from_content(content)

        self.assertIsNotNone(board)
        self.assertEqual("Antica", board.name)
        self.assertEqual("World Boards", board.section)
        self.assertEqual(1, board.page)
        self.assertEqual(3, board.total_pages)
        self.assertEqual(25, board.board_id)
        self.assertEqual(30, len(board.threads))
        self.assertIsNotNone(board.url)
        self.assertIsNotNone(board.next_page_url)
        self.assertEqual(
            board.next_page_url,
            BoardEntry.get_url(board.board_id, board.page + 1, board.age))
        for i, thread in enumerate(board.threads):
            with self.subTest(i=i):
                self.assertIsInstance(thread, ThreadEntry)
                self.assertIsNotNone(thread.title)
                self.assertGreater(thread.thread_id, 0)
                self.assertGreaterEqual(thread.views, 0)
                self.assertGreaterEqual(thread.replies, 0)
                self.assertIsInstance(thread.last_post, LastPost)
                self.assertIsNotNone(thread.last_post.author_url)

        with self.assertRaises(ValueError):
            board.get_page_url(-1)
示例#2
0
 async def test_client_fetch_forum_community_boards(self, mock):
     """Testing fetching the community boards"""
     content = self.load_resource(FILE_WORLD_BOARDS)
     mock.get(BoardEntry.get_community_boards_url(),
              status=200,
              body=content)
     response = await self.client.fetch_forum_community_boards()
     self.assertIsInstance(response.data[0], BoardEntry)
示例#3
0
    def test_listed_board_list_from_content_empty_board(self):
        content = self.load_resource(FILE_SECTION_EMPTY_BOARD)

        boards = BoardEntry.list_from_content(content)

        self.assertEqual(84, len(boards))
        for i, board in enumerate(boards):
            with self.subTest(i=i):
                self.assertIsInstance(board, BoardEntry)
                self.assertIsNotNone(board.name)
                self.assertGreater(board.board_id, 0)
                self.assertGreaterEqual(board.posts, 0)
                self.assertGreaterEqual(board.threads, 0)
                self.assertIsNotNone(board.url)
示例#4
0
    def test_listed_board_list_from_content_world_boards(self):
        content = self.load_resource(FILE_WORLD_BOARDS)

        boards = BoardEntry.list_from_content(content)

        self.assertEqual(84, len(boards))
        for i, board in enumerate(boards):
            with self.subTest(i=i):
                self.assertIsInstance(board, BoardEntry)
                self.assertIsNotNone(board.name)
                self.assertGreater(board.board_id, 0)
                self.assertGreater(board.posts, 0)
                self.assertGreater(board.threads, 0)
                self.assertIsInstance(board.last_post, LastPost)
示例#5
0
    def test_listed_board_list_from_content_unrelated_section(self):
        content = self.load_resource(self.FILE_UNRELATED_SECTION)

        with self.assertRaises(InvalidContent):
            BoardEntry.list_from_content(content)
示例#6
0
    def test_listed_board_list_from_content_empty_section(self):
        content = self.load_resource(FILE_SECTION_EMPTY)

        boards = BoardEntry.list_from_content(content)

        self.assertIsInstance(boards, list)
示例#7
0
 def test_board_section_urls(self):
     self.assertIsNotNone(BoardEntry.get_community_boards_url())
     self.assertIsNotNone(BoardEntry.get_support_boards_url())
     self.assertIsNotNone(BoardEntry.get_world_boards_url())
     self.assertIsNotNone(BoardEntry.get_trade_boards_url())
示例#8
0
 async def test_client_fetch_forum_board(self, mock):
     """Testing fetching a forum board"""
     content = self.load_resource(FILE_BOARD_THREAD_LIST)
     mock.get(BoardEntry.get_url(1), status=200, body=content)
     response = await self.client.fetch_forum_board(1)
     self.assertIsInstance(response.data, ForumBoard)