summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-02-21 00:32:17 +0000
committerGerrit Code Review <review@openstack.org>2013-02-21 00:32:17 +0000
commit52b36f3d0895a3818f8cd8277a271ce487f6960f (patch)
tree35381130bda20a3fa441c76f8adf0289c739b412 /nova/tests
parentb4488e3722015dd9b0475642c321ac46db4eedfc (diff)
parent621f07952370cd1098813e595f355a63f5a0514e (diff)
Merge "Remove race condition (in Networks)"
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_db_api.py10
-rw-r--r--nova/tests/test_migrations.py20
2 files changed, 30 insertions, 0 deletions
diff --git a/nova/tests/test_db_api.py b/nova/tests/test_db_api.py
index cf81cca74..346e0b2b7 100644
--- a/nova/tests/test_db_api.py
+++ b/nova/tests/test_db_api.py
@@ -334,6 +334,16 @@ class DbApiTestCase(test.TestCase):
self.assertRaises(exception.DuplicateVlan,
db.network_create_safe, ctxt, values2)
+ def test_network_update_with_duplicate_vlan(self):
+ ctxt = context.get_admin_context()
+ values1 = {'host': 'localhost', 'project_id': 'project1', 'vlan': 1}
+ values2 = {'host': 'something', 'project_id': 'project1', 'vlan': 2}
+ network_ref = db.network_create_safe(ctxt, values1)
+ db.network_create_safe(ctxt, values2)
+ self.assertRaises(exception.DuplicateVlan,
+ db.network_update,
+ ctxt, network_ref["id"], values2)
+
def test_instance_update_with_instance_uuid(self):
# test instance_update() works when an instance UUID is passed.
ctxt = context.get_admin_context()
diff --git a/nova/tests/test_migrations.py b/nova/tests/test_migrations.py
index fafe3348f..6f55ce846 100644
--- a/nova/tests/test_migrations.py
+++ b/nova/tests/test_migrations.py
@@ -860,6 +860,26 @@ class TestNovaMigrations(BaseMigrationTestCase):
# recheck the 149 data
self._check_149(engine, data)
+ def _prerun_158(self, engine):
+ networks = get_table(engine, 'networks')
+ data = [
+ {'vlan': 1, 'deleted': 0},
+ {'vlan': 1, 'deleted': 0},
+ {'vlan': 1, 'deleted': 0},
+ ]
+
+ for item in data:
+ networks.insert().values(item).execute()
+ return data
+
+ def _check_158(self, engine, data):
+ networks = get_table(engine, 'networks')
+ rows = networks.select().\
+ where(networks.c.deleted != networks.c.id).\
+ execute().\
+ fetchall()
+ self.assertEqual(len(rows), 1)
+
class TestBaremetalMigrations(BaseMigrationTestCase):
"""Test sqlalchemy-migrate migrations."""