Add possibility to pass a list as a value for an optional param
Add support for python 3.4

diff --git a/.travis.yml b/.travis.yml
index b72fed9..e0ae155 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,6 +3,7 @@ python:
  - "2.7"
  - "3.2"
  - "3.3"
+ - "3.4"
 install:
  - pip install -r requirements.txt --use-mirrors
  - pip install -e .
diff --git a/britney/__init__.py b/britney/__init__.py
index 27ecad5..0257823 100644
--- a/britney/__init__.py
+++ b/britney/__init__.py
@@ -44,4 +44,4 @@ def _new_from_url(spec_uri):
     """
     """
     response = requests.get(spec_uri)
-    return response.json()
+    return response.json()
\ No newline at end of file
diff --git a/setup.py b/setup.py
index 0b0a021..6e3a023 100644
--- a/setup.py
+++ b/setup.py
@@ -15,7 +15,7 @@ with open('requirements.txt') as requirements:

 setup(
     name='britney',
-    version='0.3.1',
+    version='0.4.0',
     author='Arnaud Grausem',
     author_email='arnaud.grausem@gmail.com',
     maintainer='Arnaud Grausem',
@@ -39,5 +39,6 @@ setup(
         'Programming Language :: Python :: 2.7',
         'Programming Language :: Python :: 3.2',
         'Programming Language :: Python :: 3.3',
+        'Programming Language :: Python :: 3.4'
     )
 )
diff --git a/tests/test_client.py b/tests/test_client.py
index 6dda9b9..66d8c26 100644
--- a/tests/test_client.py
+++ b/tests/test_client.py
@@ -90,45 +90,54 @@ class TestDefaultParametersValue(unittest.TestCase):

     def setUp(self):
         self.client = Spore(name='my_client', base_url='http://my_url.org',
-                methods={
-                    'my_method': {'method': 'GET', 'path': '/api'},
-                    'my_req_method': {'method': 'GET', 'path': '/api',
-                        'required_params': ['format']},
-                    'my_opt_method': {'method': 'GET', 'path': '/api',
-                        'optional_params': ['format']},
-                    'my_both_method': {'method': 'GET', 'path': '/api',
-                        'required_params': ['format'], 'optional_params':
-                        ['username']},
-                    'my_super_method': {'method': 'GET', 'path': '/api',
-                        'required_params': ['format', 'last_name'],
-                        'optional_params': ['first_name']}
-                })
+                            methods={
+                                'my_method': {
+                                    'method': 'GET',
+                                    'path': '/api'
+                                },
+                                'my_req_method': {
+                                    'method': 'GET',
+                                    'path': '/api',
+                                    'required_params': ['format']
+                                }, 'my_opt_method': {
+                                    'method': 'GET',
+                                    'path': '/api',
+                                    'optional_params': ['format']
+                                }, 'my_both_method': {
+                                    'method': 'GET',
+                                    'path': '/api',
+                                    'required_params': ['format'],
+                                    'optional_params': ['username']
+                                }, 'my_super_method': {
+                                    'method': 'GET',
+                                    'path': '/api',
+                                    'required_params': ['format',
+                                                        'last_name'],
+                                    'optional_params': ['first_name']
+                                }})
         self.client.add_default('format', 'json')
         self.client.add_default('username', 'toto')

     def test_default(self):
-        self.assertDictContainsSubset(self.client.defaults,
-                                      {'format': 'json', 'username': 'toto'})
+        self.assertEqual(self.client.defaults['format'], 'json')
+        self.assertEqual(self.client.defaults['username'], 'toto')

     def test_method_default(self):
-        self.assertDictContainsSubset(self.client.my_method.defaults,
-                                      {'format': 'json', 'username': 'toto'})
+        self.assertEqual(self.client.my_method.defaults['format'], 'json')
+        self.assertEqual(self.client.my_method.defaults['username'], 'toto')

     def test_remove_default(self):
         self.client.remove_default('format')
-        self.assertDictContainsSubset(self.client.defaults,
-                                      {'username': 'toto'})
+        self.assertEqual(self.client.defaults['username'], 'toto')

     def test_method_remove_default(self):
         self.client.remove_default('format')
-        self.assertDictContainsSubset(self.client.my_method.defaults,
-                                      {'username': 'toto'})
+        self.assertEqual(self.client.my_method.defaults['username'], 'toto')

     def test_remove_default_not_existing(self):
         self.client.remove_default('id')
-        self.assertDictContainsSubset(self.client.defaults,
-                                      {'format': 'json', 'username': 'toto'})
-
+        self.assertEqual(self.client.defaults['format'], 'json')
+        self.assertEqual(self.client.defaults['username'], 'toto')

     def test_not_impacted(self):
         params = self.client.my_method.build_params()
Merge