Skip to content

Commit

Permalink
Hotfix 0.1.8
Browse files Browse the repository at this point in the history
  • Loading branch information
hellysmile committed Nov 3, 2017
1 parent e770c8e commit fa240ee
Show file tree
Hide file tree
Showing 5 changed files with 95 additions and 2 deletions.
3 changes: 3 additions & 0 deletions README.rst
Expand Up @@ -191,6 +191,9 @@ Tests
Changelog
---------

* 0.1.8 November 2, 2017
- fix `useragentstring.com` `Can't connect to local MySQL server through socket`

* 0.1.7 April 2, 2017
- fix broken README.rst

Expand Down
6 changes: 5 additions & 1 deletion fake_useragent/utils.py
Expand Up @@ -2,8 +2,8 @@
from __future__ import absolute_import, unicode_literals

import contextlib
import io
import inspect
import io
import json
import os
import re
Expand Down Expand Up @@ -139,6 +139,10 @@ def get_browser_versions(browser, verify_ssl=True):
if len(browsers) == settings.BROWSERS_COUNT_LIMIT:
break

if not browsers:
raise FakeUserAgentError(
'No browsers version found for {browser}'.format(browser=browser))

return browsers


Expand Down
63 changes: 63 additions & 0 deletions tests/assets/no_browser_versions.html
@@ -0,0 +1,63 @@

Connection could not be established !! <br />Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>UserAgentString.com - List of chrome User Agent Strings</title>
<meta name="description" content="Understand what information is contained in a user agent string. Get an analysis of your or any other user agent string. Find lists of user agent strings from browsers, crawlers, spiders, bots, validators and others.." />
<meta name="keywords" content="user agent string,user agent,useragent ,user agents,user_agent,useragents , browser, crawler, spider, versions,msie,konqueror ,googlebot ,firefox,galeon" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="/css/useragentstring.css" />
<script type="text/javascript" src="/js/useragentstring.js" ></script>
</head>
<body>
<h1 id="seitenTitel">&nbsp;User Agent String.Com&nbsp;</h1>
<div id="balken">&nbsp;</div>
<div id="kasten">

<div id="menu">
<a href='/'>Home</a> | <a href='/pages/useragentstring.php'>List of User Agent Strings</a> | <a href='/pages/links.php'>Links</a> | <a href='/pages/api.php'>API</a> | <a href='/pages/contact.php'>Contact</a>
<div id="strich">&nbsp;</div>
</div>
<div id="content">

Connection could not be established !! <br />Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)<div id='liste'><h2> User Agent Strings</h2></div> <div id="google_webung_agentSeiten">
<script type="text/javascript"><!--
google_ad_client = "pub-5947346838678041";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="2826724361";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "002E3F";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>

</div>
<br />
<div style="font-size:10px;text-align:center;position:absolute; bottom:5px;width:100%;">
<br />
<hr style='color:white;border:none;width:95%;border-bottom:1px solid #333;' />
&copy; 2005 - 2011
<a href='http://www.useragentstring.com'>UserAgentString.com</a>
<br />
<a href='http://www.wordconstructor.com' rel='external'>Wordconstructor - Random Word Generator</a> ::
<a href='http://www.707directory.net' rel='external'>707 Directory - SEO friendly directory</a>
<br />
</div>
<br />
</div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-424553-2";
urchinTracker();
</script>
</body>
</html>
20 changes: 19 additions & 1 deletion tests/test_utils.py
Expand Up @@ -11,7 +11,7 @@

from fake_useragent import errors, settings, utils
from fake_useragent.utils import urlopen_has_ssl_context
from tests.utils import _request, find_unused_port
from tests.utils import _request, find_unused_port, assets

try: # Python 2 # pragma: no cover
from urllib2 import Request
Expand Down Expand Up @@ -127,6 +127,24 @@ def test_utils_get_browser_versions():
utils.get_browser_versions(browser)


def test_utils_get_browser_versions_no_browser_versions():
browser_names = [browser[0] for browser in utils.get_browsers()]

for browser in browser_names:
with mock.patch('fake_useragent.utils.urlopen') as mocked:
path = os.path.join(assets, 'no_browser_versions.html')

with io.open(path, mode='rb') as fp:
m = mock.Mock()
m.read = fp.read
mocked.return_value = m

with pytest.raises(errors.FakeUserAgentError) as ctx:
utils.get_browser_versions(browser)

assert ctx.value.args[0].startswith('No browsers version')


def test_utils_load(path):
_load = utils.load

Expand Down
5 changes: 5 additions & 0 deletions tests/utils.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals

import os
import socket

try: # Python 2 # pragma: no cover
Expand All @@ -11,6 +12,10 @@
_used_ports = set()


here = os.path.dirname(os.path.abspath(__file__))
assets = os.path.join(here, 'assets')


def find_unused_port():
while True:
service = socket.socket()
Expand Down

0 comments on commit fa240ee

Please sign in to comment.