From 961d757e702d0dc401913987eb95e0660593eafd Mon Sep 17 00:00:00 2001
From: Sandy Walsh <sandy@sandywalsh.com>
Date: Mon, 20 Jun 2011 18:09:52 -0700
Subject: [PATCH] fixed project_id tests

---
 novaclient/servers.py |  2 +-
 novaclient/zones.py   |  2 +-
 tests/fakeserver.py   |  6 ++++--
 tests/test_auth.py    |  9 +++++----
 tests/test_client.py  |  7 +++++--
 tests/test_shell.py   | 17 +++++++++--------
 6 files changed, 25 insertions(+), 18 deletions(-)

diff --git a/novaclient/servers.py b/novaclient/servers.py
index 7032f189c..4a1a18a93 100644
--- a/novaclient/servers.py
+++ b/novaclient/servers.py
@@ -203,7 +203,7 @@ class ServerManager(base.BootingManagerWithFind):
         """
         return self._get("/servers/%s" % base.getid(server), "server")
 
-    def list(self, detailed=False, reservation_id=None):
+    def list(self, detailed=True, reservation_id=None):
         """
         Get a list of servers.
         Optional detailed returns details server info.
diff --git a/novaclient/zones.py b/novaclient/zones.py
index 3fe79c417..5c7e885e9 100644
--- a/novaclient/zones.py
+++ b/novaclient/zones.py
@@ -80,7 +80,7 @@ class ZoneManager(base.BootingManagerWithFind):
         """
         return self._get("/zones/%s" % base.getid(zone), "zone")
 
-    def list(self, detailed=False):
+    def list(self, detailed=True):
         """
         Get a list of child zones.
         :rtype: list of :class:`Zone`
diff --git a/tests/fakeserver.py b/tests/fakeserver.py
index c4e60ce98..ed3822c86 100644
--- a/tests/fakeserver.py
+++ b/tests/fakeserver.py
@@ -16,8 +16,10 @@ from utils import fail, assert_in, assert_not_in, assert_has_keys
 
 
 class FakeServer(OpenStack):
-    def __init__(self, username=None, password=None, auth_url=None):
-        super(FakeServer, self).__init__('username', 'apikey', 'auth_url')
+    def __init__(self, username=None, password=None, project_id=None,
+                 auth_url=None):
+        super(FakeServer, self).__init__('username', 'apikey',
+                                         'project_id', 'auth_url')
         self.client = FakeClient()
 
     def assert_called(self, method, url, body=None):
diff --git a/tests/test_auth.py b/tests/test_auth.py
index 5925cebb3..206fb851d 100644
--- a/tests/test_auth.py
+++ b/tests/test_auth.py
@@ -5,7 +5,7 @@ from nose.tools import assert_raises, assert_equal
 
 
 def test_authenticate_success():
-    cs = novaclient.OpenStack("username", "apikey")
+    cs = novaclient.OpenStack("username", "apikey", "project_id")
     auth_response = httplib2.Response({
         'status': 204,
         'x-server-management-url':
@@ -21,6 +21,7 @@ def test_authenticate_success():
             headers={
                 'X-Auth-User': 'username',
                 'X-Auth-Key': 'apikey',
+                'X-Auth-Project-Id': 'project_id',
                 'User-Agent': cs.client.USER_AGENT
             })
         assert_equal(cs.client.management_url,
@@ -31,7 +32,7 @@ def test_authenticate_success():
 
 
 def test_authenticate_failure():
-    cs = novaclient.OpenStack("username", "apikey")
+    cs = novaclient.OpenStack("username", "apikey", "project_id")
     auth_response = httplib2.Response({'status': 401})
     mock_request = mock.Mock(return_value=(auth_response, None))
 
@@ -43,7 +44,7 @@ def test_authenticate_failure():
 
 
 def test_auth_automatic():
-    client = novaclient.OpenStack("username", "apikey").client
+    client = novaclient.OpenStack("username", "apikey", "project_id").client
     client.management_url = ''
     mock_request = mock.Mock(return_value=(None, None))
 
@@ -58,7 +59,7 @@ def test_auth_automatic():
 
 
 def test_auth_manual():
-    cs = novaclient.OpenStack("username", "apikey")
+    cs = novaclient.OpenStack("username", "apikey", "project_id")
 
     @mock.patch.object(cs.client, 'authenticate')
     def test_auth_call(m):
diff --git a/tests/test_client.py b/tests/test_client.py
index 10bdd2063..b22de0347 100644
--- a/tests/test_client.py
+++ b/tests/test_client.py
@@ -9,7 +9,7 @@ mock_request = mock.Mock(return_value=(fake_response, fake_body))
 
 
 def client():
-    cl = OpenStackClient("username", "apikey", "auth_test")
+    cl = OpenStackClient("username", "apikey", "project_id", "auth_test")
     cl.management_url = "http://example.com"
     cl.auth_token = "token"
     return cl
@@ -24,7 +24,9 @@ def test_get():
         resp, body = cl.get("/hi")
         mock_request.assert_called_with("http://example.com/hi?fresh=1234",
             "GET",
-            headers={"X-Auth-Token": "token", "User-Agent": cl.USER_AGENT})
+            headers={"X-Auth-Token": "token",
+                     "X-Auth-Project-Id": "project_id",
+                     "User-Agent": cl.USER_AGENT})
         # Automatic JSON parsing
         assert_equal(body, {"hi": "there"})
 
@@ -40,6 +42,7 @@ def test_post():
         mock_request.assert_called_with("http://example.com/hi", "POST",
             headers={
                 "X-Auth-Token": "token",
+                "X-Auth-Project-Id": "project_id",
                 "Content-Type": "application/json",
                 "User-Agent": cl.USER_AGENT},
             body='[1, 2, 3]'
diff --git a/tests/test_shell.py b/tests/test_shell.py
index f05641ad5..2862eedb3 100644
--- a/tests/test_shell.py
+++ b/tests/test_shell.py
@@ -12,7 +12,8 @@ def setup():
     global _old_env
     fake_env = {
         'NOVA_USERNAME': 'username',
-        'NOVA_API_KEY': 'password'
+        'NOVA_API_KEY': 'password',
+        'NOVA_PROJECT_ID': 'project_id'
     }
     _old_env, os.environ = os.environ, fake_env.copy()
 
@@ -68,13 +69,13 @@ def test_boot():
     shell('boot --image 1 some-server')
     assert_called(
         'POST', '/servers',
-        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': 1}}
+        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1'}}
     )
 
     shell('boot --image 1 --meta foo=bar --meta spam=eggs some-server ')
     assert_called(
         'POST', '/servers',
-        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': 1,
+        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
                    'metadata': {'foo': 'bar', 'spam': 'eggs'}}}
     )
 
@@ -88,7 +89,7 @@ def test_boot_files():
 
     assert_called(
         'POST', '/servers',
-        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': 1,
+        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
                     'personality': [
                         {'path': '/tmp/bar', 'contents': expected_file_data},
                         {'path': '/tmp/foo', 'contents': expected_file_data}
@@ -115,7 +116,7 @@ def test_boot_key_auto():
         shell('boot some-server --image 1 --key')
         assert_called(
             'POST', '/servers',
-            {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': 1,
+            {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
                         'personality': [{
                             'path': '/root/.ssh/authorized_keys2',
                             'contents': ('SSHKEY').encode('base64')},
@@ -142,7 +143,7 @@ def test_boot_key_file():
     shell('boot some-server --image 1 --key %s' % testfile)
     assert_called(
         'POST', '/servers',
-        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': 1,
+        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
                     'personality': [
                         {'path': '/root/.ssh/authorized_keys2', 'contents':
                          expected_file_data},
@@ -161,7 +162,7 @@ def test_boot_ipgroup():
     shell('boot --image 1 --ipgroup 1 some-server')
     assert_called(
         'POST', '/servers',
-        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': 1,
+        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
                                                          'sharedIpGroupId': 1}}
     )
 
@@ -170,7 +171,7 @@ def test_boot_ipgroup_name():
     shell('boot --image 1 --ipgroup group1 some-server')
     assert_called(
         'POST', '/servers',
-        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': 1,
+        {'server': {'flavorId': 1, 'name': 'some-server', 'imageId': '1',
                                                          'sharedIpGroupId': 1}}
     )