summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorBrian Waldon <brian.waldon@rackspace.com>2011-09-01 17:54:52 +0000
committerTarmac <>2011-09-01 17:54:52 +0000
commitdbd5acd2ba6bc9853f165d457eaf6abe7559a92e (patch)
tree3863e731df132d98a464ff48886e79fe41658280 /nova/tests
parent12ebed39bba39b4207344b90ec26323d4c251958 (diff)
parent9b3a6c8cda99290f0b7aff740faec0e8544aafe0 (diff)
- implements changes-since for servers resource
- default sort is now created_at desc for instances
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/api/openstack/test_servers.py25
-rw-r--r--nova/tests/test_cloud.py7
-rw-r--r--nova/tests/test_db_api.py4
3 files changed, 33 insertions, 3 deletions
diff --git a/nova/tests/api/openstack/test_servers.py b/nova/tests/api/openstack/test_servers.py
index 412aa439c..1591ea56c 100644
--- a/nova/tests/api/openstack/test_servers.py
+++ b/nova/tests/api/openstack/test_servers.py
@@ -1265,6 +1265,31 @@ class ServersTest(test.TestCase):
self.assertEqual(len(servers), 1)
self.assertEqual(servers[0]['id'], 100)
+ def test_get_servers_allows_changes_since_v1_1(self):
+ def fake_get_all(compute_self, context, search_opts=None):
+ self.assertNotEqual(search_opts, None)
+ self.assertTrue('changes-since' in search_opts)
+ changes_since = datetime.datetime(2011, 1, 24, 17, 8, 1)
+ self.assertEqual(search_opts['changes-since'], changes_since)
+ self.assertTrue('deleted' not in search_opts)
+ return [stub_instance(100)]
+
+ self.stubs.Set(nova.compute.API, 'get_all', fake_get_all)
+
+ params = 'changes-since=2011-01-24T17:08:01Z'
+ req = webob.Request.blank('/v1.1/fake/servers?%s' % params)
+ res = req.get_response(fakes.wsgi_app())
+ self.assertEqual(res.status_int, 200)
+ servers = json.loads(res.body)['servers']
+ self.assertEqual(len(servers), 1)
+ self.assertEqual(servers[0]['id'], 100)
+
+ def test_get_servers_allows_changes_since_bad_value_v1_1(self):
+ params = 'changes-since=asdf'
+ req = webob.Request.blank('/v1.1/fake/servers?%s' % params)
+ res = req.get_response(fakes.wsgi_app())
+ self.assertEqual(res.status_int, 400)
+
def test_get_servers_unknown_or_admin_options1(self):
"""Test getting servers by admin-only or unknown options.
This tests when admin_api is off. Make sure the admin and
diff --git a/nova/tests/test_cloud.py b/nova/tests/test_cloud.py
index 806c29e42..3fe6a9b42 100644
--- a/nova/tests/test_cloud.py
+++ b/nova/tests/test_cloud.py
@@ -486,8 +486,11 @@ class CloudTestCase(test.TestCase):
inst2 = db.instance_create(self.context, args2)
db.instance_destroy(self.context, inst1.id)
result = self.cloud.describe_instances(self.context)
- result = result['reservationSet'][0]['instancesSet']
- self.assertEqual(result[0]['instanceId'],
+ result1 = result['reservationSet'][0]['instancesSet']
+ self.assertEqual(result1[0]['instanceId'],
+ ec2utils.id_to_ec2_id(inst1.id))
+ result2 = result['reservationSet'][1]['instancesSet']
+ self.assertEqual(result2[0]['instanceId'],
ec2utils.id_to_ec2_id(inst2.id))
def _block_device_mapping_create(self, instance_id, mappings):
diff --git a/nova/tests/test_db_api.py b/nova/tests/test_db_api.py
index 038c07f40..60d7abd8c 100644
--- a/nova/tests/test_db_api.py
+++ b/nova/tests/test_db_api.py
@@ -91,5 +91,7 @@ class DbApiTestCase(test.TestCase):
inst2 = db.instance_create(self.context, args2)
db.instance_destroy(self.context, inst1.id)
result = db.instance_get_all_by_filters(self.context.elevated(), {})
- self.assertEqual(1, len(result))
+ self.assertEqual(2, len(result))
self.assertEqual(result[0].id, inst2.id)
+ self.assertEqual(result[1].id, inst1.id)
+ self.assertTrue(result[1].deleted)