nuxeo / FunkLoad

Functional and load testing framework for web applications, written in Python
http://funkload.nuxeo.org/
GNU General Public License v2.0
381 stars 86 forks source link

All tests fail #155

Open karnold opened 8 years ago

karnold commented 8 years ago

I have some tests that I have created using fl-record which all seem to fail. The error is as follows:

<response cycle="000" cvus="001" thread="000" suite="Ticketing" name="test_ticketing" step="001" number="001" type="get" result="Error" url="http://stella.sfmoma.org/tickets" code="-1" description="Get /tickets" time="1456343612.56" duration="5.41210174561e-05" traceback="Traceback (most recent call last):&#10;   File &quot;/Users/karnold/Dropbox/src/SFMOMA-DevOps/funkload/lib/python2.7/site-packages/funkload/FunkLoadTestCase.py&quot;, line 233, in _connect&#10;    cert_file=self._certfile_path, method=rtype, consumer=consumer)&#10;   File &quot;/Users/karnold/Dropbox/src/SFMOMA-DevOps/funkload/lib/python2.7/site-packages/funkload/PatchWebunit.py&quot;, line 391, in WF_fetch&#10;    if not webproxy and not 'Host' in self.extra_headers.keys():&#10; AttributeError: 'list' object has no attribute 'keys'&#10;" />
<testResult cycle="000" cvus="001" thread="000" suite="Ticketing" name="test_ticketing"  time="1456343612.56" result="Error" steps="1" duration="0.000420093536377" connection_duration="5.41210174561e-05" requests="1" pages="0" xmlrpc="0" redirects="0" images="0" links="0" traceback="Traceback (most recent call last):&#10;   File &quot;/Users/karnold/Dropbox/src/SFMOMA-DevOps/funkload/lib/python2.7/site-packages/funkload/FunkLoadTestCase.py&quot;, line 1021, in __call__&#10;    testMethod()&#10;   File &quot;/Users/karnold/Dropbox/src/SFMOMA-DevOps/funkload/test_Ticketing.py&quot;, line 33, in test_ticketing&#10;    res = self.get(server_url + &quot;/tickets&quot;, description=&quot;Get /tickets&quot;)&#10;   File &quot;/Users/karnold/Dropbox/src/SFMOMA-DevOps/funkload/lib/python2.7/site-packages/funkload/FunkLoadTestCase.py&quot;, line 436, in get&#10;    follow_redirect=follow_redirect)&#10;   File &quot;/Users/karnold/Dropbox/src/SFMOMA-DevOps/funkload/lib/python2.7/site-packages/funkload/FunkLoadTestCase.py&quot;, line 334, in _browse&#10;    response = self._connect(url, params, ok_codes, method, description)&#10;   File &quot;/Users/karnold/Dropbox/src/SFMOMA-DevOps/funkload/lib/python2.7/site-packages/funkload/FunkLoadTestCase.py&quot;, line 233, in _connect&#10;    cert_file=self._certfile_path, method=rtype, consumer=consumer)&#10;   File &quot;/Users/karnold/Dropbox/src/SFMOMA-DevOps/funkload/lib/python2.7/site-packages/funkload/PatchWebunit.py&quot;, line 391, in WF_fetch&#10;    if not webproxy and not 'Host' in self.extra_headers.keys():&#10; AttributeError: 'list' object has no attribute 'keys'&#10;" />

Most notably

File &quot;/Users/karnold/Dropbox/src/SFMOMA-DevOps/funkload/lib/python2.7/site-packages/funkload/PatchWebunit.py&quot;, line 391, in WF_fetch&#10;    if not webproxy and not 'Host' in self.extra_headers.keys():&#10; AttributeError: 'list' object has no attribute 'keys'&#10;

Here is my test class and configuration for it:

# FunkLoad test configuration file
# $Id: $

# ------------------------------------------------------------
# Main section
#
[main]
title=Ticketing
description=Load test the purchasing of tickets

# the server url to test
url=http://testserver.domain

# ------------------------------------------------------------
# Test description and configuration
#
[test_ticketing]
description=Test Purchase of ticket without authentication

# ------------------------------------------------------------
# Configuration for unit test mode fl-run-test
#
[ftest]

# log_to destination =
# console - to the screen
# file - to a file
log_to = console file

# log_path = full path to the log file (assumes ./ if no leading /)
log_path = ticketing-test.log

# result_path = full path to the xml result file
result_path = ticketing-test.xml

# ok_codes = list of HTTP response codes to consider "successful"
# ok_codes =  200:301:302

# sleeptime_min / sleeptime_max =
#       minimum / maximum amount of time in seconds to sleep between
#       requests to the host
sleep_time_min = 0
sleep_time_max = 0

# ------------------------------------------------------------
# Configuration for bench mode fl-run-bench
#
[bench]

# cycles = list of cycles with their number of concurrent users
cycles =  1:2:3

# duration = duration of a cycle in seconds
duration = 30

# startup_delay = time to wait between starting-up threads in seconds
startup_delay = 0.2

# sleep_time = time to wait between test in seconds
sleep_time = 1

# cycle_time = time to wait between cycle in seconds
cycle_time = 1

# same keys as in [ftest] section - see descriptions above
log_to = file
log_path = ticketing-bench.log
result_path = ticketing-bench.xml
#ok_codes =  200:301:302
sleep_time_min = 0
sleep_time_max = 2

# ------------------------------------------------------------
# Configuration for using the --distribute flag in fl-run-bench
#
[distribute]
log_path = log-distributed
funkload_location=http://pypi.python.org/packages/source/f/funkload/funkload-1.17.0.tar.gz
# -*- coding: iso-8859-15 -*-
"""ticketing FunkLoad test

$Id: $
"""
import unittest
from funkload.FunkLoadTestCase import FunkLoadTestCase
from webunit.utility import Upload
from funkload.utils import Data
from funkload.Lipsum import Lipsum

class Ticketing(FunkLoadTestCase):
    """XXX

    This test use a configuration file Ticketing.conf.
    """

    def setUp(self):
        """Setting up test."""
        self.logd("setUp")

        self.server_url = self.conf_get('main', 'url')

    def test_ticketing(self):
        # The description should be set in the configuration file
        server_url = self.server_url

        #self.setBasicAuth(self.conf_get('main', 'htuser'), self.conf_get('main', 'htpass'))

        # begin of test ---------------------------------------------

        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0001.request
        res = self.get(server_url + "/tickets", description="Get /tickets")
        self.assertEqual(res.code, 200)

        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0002.request
        self.get(server_url + "/tickets",
            description="Get /tickets")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0030.request
        self.get(server_url + "/sfmomamedia/static/sfmoma/fonts/SFMOMADisplayRegular.woff2",
            description="Get /sfmomamedia/static...isplayRegular.woff2")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0037.request
        self.get(server_url + "/sfmomamedia/static/sfmoma/fonts/SFMOMATextRegular.woff",
            description="Get /sfmomamedia/static...OMATextRegular.woff")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0038.request
        self.get(server_url + "/sfmomamedia/static/sfmoma/fonts/SFMOMADisplayBold.woff2",
            description="Get /sfmomamedia/static...MADisplayBold.woff2")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0039.request
        self.get(server_url + "/sfmomamedia/static/sfmoma/fonts/SFMOMADisplayMedium.woff2",
            description="Get /sfmomamedia/static...DisplayMedium.woff2")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0040.request
        self.get(server_url + "/sfmomamedia/static/font-awesome/fonts/fontawesome-webfont.woff2?v=4.3.0",
            description="Get /sfmomamedia/static...esome-webfont.woff2")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0042.request
        self.get(server_url + "/sfmomamedia/static/sfmoma/fonts/sfmoma-icons.ttf?9qjjlk",
            description="Get /sfmomamedia/static...ts/sfmoma-icons.ttf")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0044.request
        self.get("http://api.mixpanel.com/track/?data=eyJldmVudCI6ICJtcF9wYWdlX3ZpZXciLCJwcm9wZXJ0aWVzIjogeyIkb3MiOiAiTWFjIE9TIFgiLCIkYnJvd3NlciI6ICJGaXJlZm94IiwiJGN1cnJlbnRfdXJsIjogImh0dHA6Ly9zdGVsbGEuc2Ztb21hLm9yZy90aWNrZXRzIiwiJGJyb3dzZXJfdmVyc2lvbiI6IDQ0LCIkc2NyZWVuX2hlaWdodCI6IDE0NDAsIiRzY3JlZW5fd2lkdGgiOiAyNTYwLCJtcF9saWIiOiAid2ViIiwiJGxpYl92ZXJzaW9uIjogIjIuNy40IiwiZGlzdGluY3RfaWQiOiAiMTUzMTQ3MjAxYTU3NjMtMGQyNTU3MWYwZTZkZTQ4LTQ4NTQ2ZS0zODQwMDAtMTUzMTQ3MjAxYTY3ZDYiLCIkaW5pdGlhbF9yZWZlcnJlciI6ICIkZGlyZWN0IiwiJGluaXRpYWxfcmVmZXJyaW5nX2RvbWFpbiI6ICIkZGlyZWN0IiwibXBfcGFnZSI6ICJodHRwOi8vc3RlbGxhLnNmbW9tYS5vcmcvdGlja2V0cyIsIm1wX2Jyb3dzZXIiOiAiRmlyZWZveCIsIm1wX3BsYXRmb3JtIjogIk1hYyBPUyBYIiwidG9rZW4iOiAiYTMzZGY0OWZjY2U1ODlmNGUzYWYzYjQ5MDBjNGJlYWMifX0%3D&ip=1&_=1456336929195",
            description="Get /track/")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0045.request
        self.get("http://api.mixpanel.com/track/?data=eyJldmVudCI6ICJWaWV3IFBhZ2UiLCJwcm9wZXJ0aWVzIjogeyIkb3MiOiAiTWFjIE9TIFgiLCIkYnJvd3NlciI6ICJGaXJlZm94IiwiJGN1cnJlbnRfdXJsIjogImh0dHA6Ly9zdGVsbGEuc2Ztb21hLm9yZy90aWNrZXRzIiwiJGJyb3dzZXJfdmVyc2lvbiI6IDQ0LCIkc2NyZWVuX2hlaWdodCI6IDE0NDAsIiRzY3JlZW5fd2lkdGgiOiAyNTYwLCJtcF9saWIiOiAid2ViIiwiJGxpYl92ZXJzaW9uIjogIjIuNy40IiwiZGlzdGluY3RfaWQiOiAiMTUzMTQ3MjAxYTU3NjMtMGQyNTU3MWYwZTZkZTQ4LTQ4NTQ2ZS0zODQwMDAtMTUzMTQ3MjAxYTY3ZDYiLCIkaW5pdGlhbF9yZWZlcnJlciI6ICIkZGlyZWN0IiwiJGluaXRpYWxfcmVmZXJyaW5nX2RvbWFpbiI6ICIkZGlyZWN0IiwiUGFnZSBOYW1lIjogIkJ1eSBUaWNrZXRzIiwiUGFnZSBDYXRlZ29yeSI6ICIiLCJ0b2tlbiI6ICJhMzNkZjQ5ZmNjZTU4OWY0ZTNhZjNiNDkwMGM0YmVhYyIsIiRfX2MiOiAwLCIkX19jMiI6IDB9fQ%3D%3D&ip=1&_=1456336929206",
            description="Get /track/")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0046.request
        self.get(server_url + "/tickets/ajax_get_performances?is_general_admission=true&start=2016-01-31&end=2016-03-13&_=1456336929085",
            description="Get /tickets/ajax_get_performances")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0075.request
        self.get(server_url + "/tickets/ajax_get_performances?is_general_admission=true&start=2016-02-28&end=2016-04-10&_=1456336929086",
            description="Get /tickets/ajax_get_performances")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0076.request
        self.get(server_url + "/tickets/ajax_get_performances?is_general_admission=true&start=2016-03-27&end=2016-05-08&_=1456336929087",
            description="Get /tickets/ajax_get_performances")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0077.request
        self.get(server_url + "/tickets/ajax_get_performances?is_general_admission=true&start=2016-05-01&end=2016-06-12&_=1456336929088",
            description="Get /tickets/ajax_get_performances")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0078.request
        self.get(server_url + "/tickets/ajax_get_performance/44",
            description="Get /tickets/ajax_get_performance/44")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0080.request
        self.post(server_url + "/tickets/cart", params=[
            ['csrfmiddlewaretoken', 'sgIzcd3NCZi7UdiAdvCsbeMOYVRYZhMn'],
            ['price_type_3', '1'],
            ['price_type_18', '0'],
            ['price_type_14', '0'],
            ['price_type_13', '0'],
            ['price_type_7', '0'],
            ['performance_id', '44'],
            ['zone_id', '41']],
            description="Post /tickets/cart")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0085.request
        self.get("http://api.mixpanel.com/track/?data=eyJldmVudCI6ICJtcF9wYWdlX3ZpZXciLCJwcm9wZXJ0aWVzIjogeyIkb3MiOiAiTWFjIE9TIFgiLCIkYnJvd3NlciI6ICJGaXJlZm94IiwiJHJlZmVycmVyIjogImh0dHA6Ly9zdGVsbGEuc2Ztb21hLm9yZy90aWNrZXRzIiwiJHJlZmVycmluZ19kb21haW4iOiAic3RlbGxhLnNmbW9tYS5vcmciLCIkY3VycmVudF91cmwiOiAiaHR0cDovL3N0ZWxsYS5zZm1vbWEub3JnL3RpY2tldHMvY2FydCIsIiRicm93c2VyX3ZlcnNpb24iOiA0NCwiJHNjcmVlbl9oZWlnaHQiOiAxNDQwLCIkc2NyZWVuX3dpZHRoIjogMjU2MCwibXBfbGliIjogIndlYiIsIiRsaWJfdmVyc2lvbiI6ICIyLjcuNCIsImRpc3RpbmN0X2lkIjogIjE1MzE0NzIwMWE1NzYzLTBkMjU1NzFmMGU2ZGU0OC00ODU0NmUtMzg0MDAwLTE1MzE0NzIwMWE2N2Q2IiwiJGluaXRpYWxfcmVmZXJyZXIiOiAiJGRpcmVjdCIsIiRpbml0aWFsX3JlZmVycmluZ19kb21haW4iOiAiJGRpcmVjdCIsIkxhc3QgRXZlbnQiOiAiVmlldyBQYWdlIiwibXBfcGFnZSI6ICJodHRwOi8vc3RlbGxhLnNmbW9tYS5vcmcvdGlja2V0cy9jYXJ0IiwibXBfcmVmZXJyZXIiOiAiaHR0cDovL3N0ZWxsYS5zZm1vbWEub3JnL3RpY2tldHMiLCJtcF9icm93c2VyIjogIkZpcmVmb3giLCJtcF9wbGF0Zm9ybSI6ICJNYWMgT1MgWCIsInRva2VuIjogImEzM2RmNDlmY2NlNTg5ZjRlM2FmM2I0OTAwYzRiZWFjIn19&ip=1&_=1456337072347",
            description="Get /track/")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0087.request
        self.get("http://api.mixpanel.com/track/?data=eyJldmVudCI6ICJWaWV3IFBhZ2UiLCJwcm9wZXJ0aWVzIjogeyIkb3MiOiAiTWFjIE9TIFgiLCIkYnJvd3NlciI6ICJGaXJlZm94IiwiJHJlZmVycmVyIjogImh0dHA6Ly9zdGVsbGEuc2Ztb21hLm9yZy90aWNrZXRzIiwiJHJlZmVycmluZ19kb21haW4iOiAic3RlbGxhLnNmbW9tYS5vcmciLCIkY3VycmVudF91cmwiOiAiaHR0cDovL3N0ZWxsYS5zZm1vbWEub3JnL3RpY2tldHMvY2FydCIsIiRicm93c2VyX3ZlcnNpb24iOiA0NCwiJHNjcmVlbl9oZWlnaHQiOiAxNDQwLCIkc2NyZWVuX3dpZHRoIjogMjU2MCwibXBfbGliIjogIndlYiIsIiRsaWJfdmVyc2lvbiI6ICIyLjcuNCIsImRpc3RpbmN0X2lkIjogIjE1MzE0NzIwMWE1NzYzLTBkMjU1NzFmMGU2ZGU0OC00ODU0NmUtMzg0MDAwLTE1MzE0NzIwMWE2N2Q2IiwiJGluaXRpYWxfcmVmZXJyZXIiOiAiJGRpcmVjdCIsIiRpbml0aWFsX3JlZmVycmluZ19kb21haW4iOiAiJGRpcmVjdCIsIkxhc3QgRXZlbnQiOiAiVmlldyBQYWdlIiwiUGFnZSBOYW1lIjogIlNGTU9NQSBUaWNrZXQgT3JkZXIiLCJQYWdlIENhdGVnb3J5IjogIiIsInRva2VuIjogImEzM2RmNDlmY2NlNTg5ZjRlM2FmM2I0OTAwYzRiZWFjIiwiJF9fYyI6IDEsIiRfX2MyIjogMTY3fX0%3D&ip=1&_=1456337072865",
            description="Get /track/")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0090.request
        self.get("http://api.mixpanel.com/track/?data=eyJldmVudCI6ICJDbGljayBDVEEiLCJwcm9wZXJ0aWVzIjogeyIkb3MiOiAiTWFjIE9TIFgiLCIkYnJvd3NlciI6ICJGaXJlZm94IiwiJHJlZmVycmVyIjogImh0dHA6Ly9zdGVsbGEuc2Ztb21hLm9yZy90aWNrZXRzIiwiJHJlZmVycmluZ19kb21haW4iOiAic3RlbGxhLnNmbW9tYS5vcmciLCIkY3VycmVudF91cmwiOiAiaHR0cDovL3N0ZWxsYS5zZm1vbWEub3JnL3RpY2tldHMvY2FydCIsIiRicm93c2VyX3ZlcnNpb24iOiA0NCwiJHNjcmVlbl9oZWlnaHQiOiAxNDQwLCIkc2NyZWVuX3dpZHRoIjogMjU2MCwibXBfbGliIjogIndlYiIsIiRsaWJfdmVyc2lvbiI6ICIyLjcuNCIsImRpc3RpbmN0X2lkIjogIjE1MzE0NzIwMWE1NzYzLTBkMjU1NzFmMGU2ZGU0OC00ODU0NmUtMzg0MDAwLTE1MzE0NzIwMWE2N2Q2IiwiJGluaXRpYWxfcmVmZXJyZXIiOiAiJGRpcmVjdCIsIiRpbml0aWFsX3JlZmVycmluZ19kb21haW4iOiAiJGRpcmVjdCIsIkxhc3QgRXZlbnQiOiAiVmlldyBQYWdlIiwiQ1RBIElEIjogImNvbmZpcm0tY2FydCIsIkNUQSBUZXh0IjogIkNvbnRpbnVlIiwiQ1RBIExvY2F0aW9uIjogImh0dHA6Ly9zdGVsbGEuc2Ztb21hLm9yZy90aWNrZXRzL2NhcnQiLCJ0b2tlbiI6ICJhMzNkZjQ5ZmNjZTU4OWY0ZTNhZjNiNDkwMGM0YmVhYyJ9fQ%3D%3D&ip=1&_=1456337076430",
            description="Get /track/")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0092.request
        self.post(server_url + "/tickets/cart/purchase", params=[
            ['csrfmiddlewaretoken', 'Fl8mwOM2SaISd76gWfO60o5lriUjgdl0'],
            ['first_name', Lipsum().getWord()],
            ['last_name', Lipsum().getWord()],
            ['email', 'email@email.com'],
            ['agree_terms', 'on'],
            ['order_total', '0.0']],
            description="Post /tickets/cart/purchase")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0094.request
        self.get("http://api.mixpanel.com/track/?data=eyJldmVudCI6ICJWaWV3IFBhZ2UiLCJwcm9wZXJ0aWVzIjogeyIkb3MiOiAiTWFjIE9TIFgiLCIkYnJvd3NlciI6ICJGaXJlZm94IiwiJHJlZmVycmVyIjogImh0dHA6Ly9zdGVsbGEuc2Ztb21hLm9yZy90aWNrZXRzL2NhcnQiLCIkcmVmZXJyaW5nX2RvbWFpbiI6ICJzdGVsbGEuc2Ztb21hLm9yZyIsIiRjdXJyZW50X3VybCI6ICJodHRwOi8vc3RlbGxhLnNmbW9tYS5vcmcvYWNjb3VudHMvdGhhbmtzLzkwMDg2Mi1LNG9lRUtMVzBiMEIiLCIkYnJvd3Nlcl92ZXJzaW9uIjogNDQsIiRzY3JlZW5faGVpZ2h0IjogMTQ0MCwiJHNjcmVlbl93aWR0aCI6IDI1NjAsIm1wX2xpYiI6ICJ3ZWIiLCIkbGliX3ZlcnNpb24iOiAiMi43LjQiLCJkaXN0aW5jdF9pZCI6ICIxNTMxNDcyMDFhNTc2My0wZDI1NTcxZjBlNmRlNDgtNDg1NDZlLTM4NDAwMC0xNTMxNDcyMDFhNjdkNiIsIiRpbml0aWFsX3JlZmVycmVyIjogIiRkaXJlY3QiLCIkaW5pdGlhbF9yZWZlcnJpbmdfZG9tYWluIjogIiRkaXJlY3QiLCJMYXN0IEV2ZW50IjogIlZpZXcgUGFnZSIsIlBhZ2UgTmFtZSI6ICJUaGFuayB5b3UgZm9yIHlvdXIgb3JkZXIhIiwiUGFnZSBDYXRlZ29yeSI6ICIiLCJ0b2tlbiI6ICJhMzNkZjQ5ZmNjZTU4OWY0ZTNhZjNiNDkwMGM0YmVhYyJ9fQ%3D%3D&ip=1&_=1456337097639",
            description="Get /track/")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0095.request
        self.get("http://api.mixpanel.com/track/?data=eyJldmVudCI6ICJDb21wbGV0ZSBQdXJjaGFzZSIsInByb3BlcnRpZXMiOiB7IiRvcyI6ICJNYWMgT1MgWCIsIiRicm93c2VyIjogIkZpcmVmb3giLCIkcmVmZXJyZXIiOiAiaHR0cDovL3N0ZWxsYS5zZm1vbWEub3JnL3RpY2tldHMvY2FydCIsIiRyZWZlcnJpbmdfZG9tYWluIjogInN0ZWxsYS5zZm1vbWEub3JnIiwiJGN1cnJlbnRfdXJsIjogImh0dHA6Ly9zdGVsbGEuc2Ztb21hLm9yZy9hY2NvdW50cy90aGFua3MvOTAwODYyLUs0b2VFS0xXMGIwQiIsIiRicm93c2VyX3ZlcnNpb24iOiA0NCwiJHNjcmVlbl9oZWlnaHQiOiAxNDQwLCIkc2NyZWVuX3dpZHRoIjogMjU2MCwibXBfbGliIjogIndlYiIsIiRsaWJfdmVyc2lvbiI6ICIyLjcuNCIsImRpc3RpbmN0X2lkIjogIjE1MzE0NzIwMWE1NzYzLTBkMjU1NzFmMGU2ZGU0OC00ODU0NmUtMzg0MDAwLTE1MzE0NzIwMWE2N2Q2IiwiJGluaXRpYWxfcmVmZXJyZXIiOiAiJGRpcmVjdCIsIiRpbml0aWFsX3JlZmVycmluZ19kb21haW4iOiAiJGRpcmVjdCIsIkxhc3QgRXZlbnQiOiAiVmlldyBQYWdlIiwiT3JkZXIgTnVtYmVyIjogIjkwMDg2MiIsIk1lbWJlcnNoaXAgTGV2ZWwiOiAiIiwiTWVtYmVyc2hpcCBBbW91bnQiOiAiIiwiRXh0cmEgRG9uYXRpb24iOiAiIiwiVG90YWwgQW1vdW50IjogIiQwLjAwIiwidG9rZW4iOiAiYTMzZGY0OWZjY2U1ODlmNGUzYWYzYjQ5MDBjNGJlYWMifX0%3D&ip=1&_=1456337097640",
            description="Get /track/")
        # /var/folders/0c/mxkhhvpd0wz1pgqlxsn_j3kc1klp_2/T/tmpPSuGVR_funkload/watch0096.request
        self.get("http://api.mixpanel.com/track/?data=eyJldmVudCI6ICJtcF9wYWdlX3ZpZXciLCJwcm9wZXJ0aWVzIjogeyIkb3MiOiAiTWFjIE9TIFgiLCIkYnJvd3NlciI6ICJGaXJlZm94IiwiJHJlZmVycmVyIjogImh0dHA6Ly9zdGVsbGEuc2Ztb21hLm9yZy90aWNrZXRzL2NhcnQiLCIkcmVmZXJyaW5nX2RvbWFpbiI6ICJzdGVsbGEuc2Ztb21hLm9yZyIsIiRjdXJyZW50X3VybCI6ICJodHRwOi8vc3RlbGxhLnNmbW9tYS5vcmcvYWNjb3VudHMvdGhhbmtzLzkwMDg2Mi1LNG9lRUtMVzBiMEIiLCIkYnJvd3Nlcl92ZXJzaW9uIjogNDQsIiRzY3JlZW5faGVpZ2h0IjogMTQ0MCwiJHNjcmVlbl93aWR0aCI6IDI1NjAsIm1wX2xpYiI6ICJ3ZWIiLCIkbGliX3ZlcnNpb24iOiAiMi43LjQiLCJkaXN0aW5jdF9pZCI6ICIxNTMxNDcyMDFhNTc2My0wZDI1NTcxZjBlNmRlNDgtNDg1NDZlLTM4NDAwMC0xNTMxNDcyMDFhNjdkNiIsIiRpbml0aWFsX3JlZmVycmVyIjogIiRkaXJlY3QiLCIkaW5pdGlhbF9yZWZlcnJpbmdfZG9tYWluIjogIiRkaXJlY3QiLCJMYXN0IEV2ZW50IjogIlZpZXcgUGFnZSIsIm1wX3BhZ2UiOiAiaHR0cDovL3N0ZWxsYS5zZm1vbWEub3JnL2FjY291bnRzL3RoYW5rcy85MDA4NjItSzRvZUVLTFcwYjBCIiwibXBfcmVmZXJyZXIiOiAiaHR0cDovL3N0ZWxsYS5zZm1vbWEub3JnL3RpY2tldHMvY2FydCIsIm1wX2Jyb3dzZXIiOiAiRmlyZWZveCIsIm1wX3BsYXRmb3JtIjogIk1hYyBPUyBYIiwidG9rZW4iOiAiYTMzZGY0OWZjY2U1ODlmNGUzYWYzYjQ5MDBjNGJlYWMifX0%3D&ip=1&_=1456337097642",
            description="Get /track/")

        # end of test -----------------------------------------------

    def tearDown(self):
        """Setting up test."""
        self.logd("tearDown.\n")

if __name__ in ('main', '__main__'):
    unittest.main()

Initially I thought the issue might have been with using basic authentication, so i removed that and still no dice. I have tested the url in postman to make sure it is returning all of the appropriate responses and it is. So at this point I am at a bit of a loss at what I am doing wrong.

Thanks in advance for any help you can provide.