Exemplo n.º 1
0
    def test_user_specified_ua(self):
        selector = UserAgentSelector("testua")
        self.assertEqual(selector.get_useragent(), "testua")

        selector = UserAgentSelector(123456)
        self.assertEqual(selector.get_useragent(), UserAgentSelector.DEFAULT_UA)

        selector = UserAgentSelector("")
        self.assertEqual(selector.get_useragent(), UserAgentSelector.DEFAULT_UA)
Exemplo n.º 2
0
    def test_multiple_ua_overwrite(self):
        selector = UserAgentSelector("testua")

        # Emulate load from file & HTTP
        selector._user_agent_list = ["ua-1", "ua-2", "ua-3"]

        self.assertEqual(selector.get_useragent(), "testua")
Exemplo n.º 3
0
    def test_random_selection(self, mock_rand_choice, mock_get_from_http):
        ua_list = ["ua-1", "ua-2", "ua-3", "ua-4", "ua-5", "ua-6"]

        # Use mock to load user agents to list
        mock_get_from_http.return_value = ua_list

        selector = UserAgentSelector(http_mode=True)

        self.assertEqual(selector._user_agent_list, ua_list)

        mock_rand_choice.return_value = ua_list[0]

        self.assertEqual(selector.get_useragent(), ua_list[0])
        mock_rand_choice.assert_called_once_with(ua_list)

        mock_rand_choice.reset_mock()

        mock_rand_choice.return_value = ua_list[-1]

        self.assertEqual(selector.get_useragent(), ua_list[-1])
        mock_rand_choice.assert_called_once_with(ua_list)
Exemplo n.º 4
0
    def test_load_from_HTTP(self, mock_get_from_http, mock_append_to_list):
        ua_list = ["ua-1", "ua-2", "ua-3"]

        mock_get_from_http.return_value = ua_list

        selector = UserAgentSelector(http_mode=True)

        mock_get_from_http.assert_called_once()
        mock_append_to_list.assert_called_once_with(ua_list)

        mock_get_from_http.reset_mock()
        mock_append_to_list.reset_mock()

        mock_get_from_http.return_value = None

        selector = UserAgentSelector(http_mode=True)

        mock_get_from_http.assert_called_once()
        mock_append_to_list.assert_called_once_with(None)

        self.assertEqual(selector.get_useragent(), UserAgentSelector.DEFAULT_UA)
Exemplo n.º 5
0
    def test_load_from_file(self, mock_load_from_file, mock_append_to_list):
        ua_list = ["ua-1", "ua-2", "ua-3"]
        ua_file = "uafile"
        bad_ua_file = "baduafile"

        mock_load_from_file.return_value = ua_list

        selector = UserAgentSelector(user_agent_file=ua_file)

        mock_load_from_file.assert_called_once_with(ua_file)
        mock_append_to_list.assert_called_once_with(ua_list)

        mock_load_from_file.reset_mock()
        mock_append_to_list.reset_mock()

        mock_load_from_file.return_value = []

        selector = UserAgentSelector(user_agent_file=bad_ua_file)

        mock_load_from_file.assert_called_once_with(bad_ua_file)
        mock_append_to_list.assert_called_once_with([])

        self.assertEqual(selector.get_useragent(), UserAgentSelector.DEFAULT_UA)
Exemplo n.º 6
0
 def test_default_ua(self):
     selector = UserAgentSelector()
     self.assertEqual(selector.get_useragent(), UserAgentSelector.DEFAULT_UA)
Exemplo n.º 7
0
    def test_load_from_HTTP_nomock(self):
        selector = UserAgentSelector(http_mode=True)

        self.assertNotEqual(len(selector._user_agent_list), 0)
        self.assertIsNotNone(selector.get_useragent())
        self.assertIn("Mozilla", selector.get_useragent())
Exemplo n.º 8
0
 def test_single_ua_mode(self):
     selector = UserAgentSelector(single_ua=True)
     self.assertEqual(selector.get_useragent(), UserAgentSelector.DEFAULT_UA)