Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disabling Retrying warning messages #107

Merged
merged 1 commit into from Apr 21, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
42 changes: 33 additions & 9 deletions src/RequestsLibrary/RequestsKeywords.py
Expand Up @@ -2,9 +2,10 @@
import json
import sys
from urllib import urlencode
from requests.packages.urllib3.util import Retry

import requests
import logging
from requests.packages.urllib3.util import Retry
import robot
from robot.api import logger
from robot.libraries.BuiltIn import BuiltIn
Expand Down Expand Up @@ -45,7 +46,8 @@ def _create_session(
backoff_factor,
proxies,
verify,
debug):
debug,
disable_warnings):
""" Create Session: create a HTTP session to a server

`url` Base url of the server
Expand All @@ -68,6 +70,8 @@ def _create_session(

`debug` Enable http verbosity option more information
https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel

`disable_warnings` Disable requests warning useful when you have large number of testcases
"""

self.builtin.log('Creating session: %s' % alias, 'DEBUG')
Expand All @@ -81,7 +85,17 @@ def _create_session(
if max_retries > 0:
http = requests.adapters.HTTPAdapter(max_retries=Retry(total=max_retries, backoff_factor=backoff_factor))
https = requests.adapters.HTTPAdapter(max_retries=Retry(total=max_retries, backoff_factor=backoff_factor))


# Disable requests warnings, useful when you have large number of testcase
# you will observe drastical changes in Robot log.html and output.xml files size
if disable_warnings:
logging.basicConfig() # you need to initialize logging, otherwise you will not see anything from requests
logging.getLogger().setLevel(logging.ERROR)
requests_log = logging.getLogger("requests")
requests_log.setLevel(logging.ERROR)
requests_log.propagate = True


# Replace the session's original adapters
s.mount('http://', http)
s.mount('https://', https)
Expand Down Expand Up @@ -113,7 +127,7 @@ def _create_session(

def create_session(self, alias, url, headers={}, cookies=None,
auth=None, timeout=None, proxies=None,
verify=False, debug=0, max_retries=3, backoff_factor=0.10):
verify=False, debug=0, max_retries=3, backoff_factor=0.10, disable_warnings=0):
""" Create Session: create a HTTP session to a server

`url` Base url of the server
Expand All @@ -137,6 +151,8 @@ def create_session(self, alias, url, headers={}, cookies=None,
`max_retries` The maximum number of retries each connection should attempt.

`backoff_factor` The pause between for each retry

`disable_warnings` Disable requests warning useful when you have large number of testcases
"""
auth = requests.auth.HTTPBasicAuth(*auth) if auth else None

Expand All @@ -156,7 +172,8 @@ def create_session(self, alias, url, headers={}, cookies=None,
backoff_factor,
proxies,
verify,
debug)
debug,
disable_warnings)

def create_ntlm_session(
self,
Expand All @@ -170,7 +187,8 @@ def create_ntlm_session(
verify=False,
debug=0,
max_retries=3,
backoff_factor=0.10):
backoff_factor=0.10,
disable_warnings=0):
""" Create Session: create a HTTP session to a server

`url` Base url of the server
Expand All @@ -194,6 +212,8 @@ def create_ntlm_session(
`max_retries` The maximum number of retries each connection should attempt.

`backoff_factor` The pause between for each retry

`disable_warnings` Disable requests warning useful when you have large number of testcases
"""
if not HttpNtlmAuth:
raise AssertionError('Requests NTLM module not loaded')
Expand All @@ -220,11 +240,12 @@ def create_ntlm_session(
backoff_factor,
proxies,
verify,
debug)
debug,
disable_warnings)

def create_digest_session(self, alias, url, auth, headers={}, cookies=None,
timeout=None, proxies=None, verify=False,
debug=0, max_retries=3,backoff_factor=0.10):
debug=0, max_retries=3,backoff_factor=0.10, disable_warnings=0):
""" Create Session: create a HTTP session to a server

`url` Base url of the server
Expand All @@ -248,6 +269,8 @@ def create_digest_session(self, alias, url, auth, headers={}, cookies=None,
`max_retries` The maximum number of retries each connection should attempt.

`backoff_factor` The pause between for each retry

`disable_warnings` Disable requests warning useful when you have large number of testcases
"""
digest_auth = requests.auth.HTTPDigestAuth(*auth) if auth else None

Expand All @@ -262,7 +285,8 @@ def create_digest_session(self, alias, url, auth, headers={}, cookies=None,
backoff_factor,
proxies,
verify,
debug)
debug,
disable_warnings)

def delete_all_sessions(self):
""" Removes all the session objects """
Expand Down