def test_yaml_fixture(self): data = '''--- - &base_release model: nailgun.release fields: name: BaseRelease version: 0.0.1 operating_system: AbstractOS - pk: 2 extend: *base_release fields: name: YAMLFixtureRelease version: 1.0.0 operating_system: CentOS ''' upload_fixture(cStringIO.StringIO(data), loader=yaml) check = self.db.query(Release).filter( Release.name == u"YAMLFixtureRelease" ) self.assertEqual(len(list(check)), 1) check = self.db.query(Release).filter( Release.name == u"BaseRelease" ) self.assertEqual(len(list(check)), 0)
def test_yaml_fixture(self): data = '''--- - &base_release model: nailgun.release fields: name: BaseRelease version: 0.0.1 operating_system: AbstractOS - pk: 2 extend: *base_release fields: name: YAMLFixtureRelease version: 1.0.0 operating_system: CentOS ''' fixman.upload_fixture(StringIO(data), loader=yaml) check = self.db.query(Release).filter( Release.name == u"YAMLFixtureRelease" ) self.assertEqual(len(list(check)), 1) check = self.db.query(Release).filter( Release.name == u"BaseRelease" ) self.assertEqual(len(list(check)), 0)
def action_loaddata(params): from nailgun.db.sqlalchemy import fixman from nailgun.logger import logger logger.info("Uploading fixture...") with open(params.fixture, "r") as fileobj: fixman.upload_fixture(fileobj) logger.info("Done")
def action_loaddata(params): from nailgun.db.sqlalchemy import fixman from nailgun.logger import logger logger.info("Uploading fixture...") with open(params.fixture, "r") as fileobj: fixman.upload_fixture(fileobj) logger.info("Done")
def clear_nailgun_database(): from nailgun.db import dropdb from nailgun.db import syncdb from nailgun.db.sqlalchemy import fixman dropdb() syncdb() fixman.upload_fixtures() for fixture in NAILGUN_FIXTURES.split(':'): if fixture == '': continue with open(fixture, "r") as fileobj: fixman.upload_fixture(fileobj)
def clear_nailgun_database(): from nailgun.db import dropdb from nailgun.db import syncdb from nailgun.db.sqlalchemy import fixman dropdb() syncdb() fixman.upload_fixtures() for fixture in NAILGUN_FIXTURES.split(':'): if fixture == '': continue with open(fixture, "r") as fileobj: fixman.upload_fixture(fileobj)
def test_json_fixture(self): data = '''[{ "pk": 2, "model": "nailgun.release", "fields": { "name": "JSONFixtureRelease", "version": "0.0.1", "description": "Sample release for testing", "operating_system": "CentOS" } }]''' upload_fixture(cStringIO.StringIO(data), loader=jsonutils) check = self.db.query(Release).filter( Release.name == u"JSONFixtureRelease") self.assertEqual(len(list(check)), 1)
def test_json_fixture(self): data = '''[{ "pk": 2, "model": "nailgun.release", "fields": { "name": "JSONFixtureRelease", "version": "0.0.1", "description": "Sample release for testing", "operating_system": "CentOS" } }]''' fixman.upload_fixture(StringIO(data), loader=jsonutils) check = self.db.query(Release).filter( Release.name == u"JSONFixtureRelease" ) self.assertEqual(len(list(check)), 1)
def test_fixture_roles_order(self): data = '''[{ "pk": 1, "model": "nailgun.release", "fields": { "name": "CustomFixtureRelease1", "version": "0.0.1", "description": "Sample release for testing", "operating_system": "CentOS", "roles": ["controller", "compute", "cinder", "ceph-osd"] } }]''' upload_fixture(cStringIO.StringIO(data), loader=jsonutils) rel = self.db.query(Release).filter( Release.name == u"CustomFixtureRelease1").all() self.assertEqual(len(rel), 1) self.assertEqual(list(rel[0].roles), ["controller", "compute", "cinder", "ceph-osd"]) data = '''[{ "pk": 2, "model": "nailgun.release", "fields": { "name": "CustomFixtureRelease2", "version": "0.0.1", "description": "Sample release for testing", "operating_system": "CentOS", "roles": ["compute", "ceph-osd", "controller", "cinder"] } }]''' upload_fixture(cStringIO.StringIO(data), loader=jsonutils) rel = self.db.query(Release).filter( Release.name == u"CustomFixtureRelease2").all() self.assertEqual(len(rel), 1) self.assertEqual(list(rel[0].roles), ["compute", "ceph-osd", "controller", "cinder"]) data = '''[{ "pk": 3, "model": "nailgun.release", "fields": { "name": "CustomFixtureRelease3", "version": "0.0.1", "description": "Sample release for testing", "operating_system": "CentOS", "roles": ["compute", "cinder", "controller", "cinder"] } }]''' upload_fixture(cStringIO.StringIO(data), loader=jsonutils) rel = self.db.query(Release).filter( Release.name == u"CustomFixtureRelease3").all() self.assertEqual(len(rel), 1) self.assertEqual(list(rel[0].roles), ["compute", "cinder", "controller"]) # check previously added release roles prev_rel = self.db.query(Release).filter( Release.name == u"CustomFixtureRelease2").all() self.assertEqual(len(prev_rel), 1) self.assertEqual(list(prev_rel[0].roles), ["compute", "ceph-osd", "controller", "cinder"])
def test_fixture_roles_order(self): data = '''[{ "pk": 1, "model": "nailgun.release", "fields": { "name": "CustomFixtureRelease1", "version": "0.0.1", "description": "Sample release for testing", "operating_system": "CentOS", "roles": ["controller", "compute", "cinder", "ceph-osd"] } }]''' upload_fixture(cStringIO.StringIO(data), loader=json) rel = self.db.query(Release).filter( Release.name == u"CustomFixtureRelease1" ).all() self.assertEqual(len(rel), 1) self.assertEqual(list(rel[0].roles), ["controller", "compute", "cinder", "ceph-osd"]) data = '''[{ "pk": 2, "model": "nailgun.release", "fields": { "name": "CustomFixtureRelease2", "version": "0.0.1", "description": "Sample release for testing", "operating_system": "CentOS", "roles": ["compute", "ceph-osd", "controller", "cinder"] } }]''' upload_fixture(cStringIO.StringIO(data), loader=json) rel = self.db.query(Release).filter( Release.name == u"CustomFixtureRelease2" ).all() self.assertEqual(len(rel), 1) self.assertEqual(list(rel[0].roles), ["compute", "ceph-osd", "controller", "cinder"]) data = '''[{ "pk": 3, "model": "nailgun.release", "fields": { "name": "CustomFixtureRelease3", "version": "0.0.1", "description": "Sample release for testing", "operating_system": "CentOS", "roles": ["compute", "cinder", "controller", "cinder"] } }]''' upload_fixture(cStringIO.StringIO(data), loader=json) rel = self.db.query(Release).filter( Release.name == u"CustomFixtureRelease3" ).all() self.assertEqual(len(rel), 1) self.assertEqual(list(rel[0].roles), ["compute", "cinder", "controller"])
logger.info("Done") elif params.action == "dropdb": logger.info("Dropping database...") from nailgun.db import dropdb dropdb() logger.info("Done") elif params.action == "test": logger.info("Running tests...") from nailgun.unit_test import TestRunner TestRunner.run() logger.info("Done") elif params.action == "loaddata": logger.info("Uploading fixture...") from nailgun.db.sqlalchemy import fixman with open(params.fixture, "r") as fileobj: fixman.upload_fixture(fileobj) logger.info("Done") elif params.action == "loaddefault": logger.info("Uploading fixture...") from nailgun.db.sqlalchemy import fixman fixman.upload_fixtures() logger.info("Done") elif params.action == "dump_settings": sys.stdout.write(settings.dump()) elif params.action in ("run", ): settings.update({ 'LISTEN_PORT': int(params.port), 'LISTEN_ADDRESS': params.address, }) for attr in [ 'FAKE_TASKS', 'FAKE_TASKS_TICK_COUNT',
def upload_fixtures(self, fxtr_names): for fxtr_path in self.fxtr_paths_by_names(fxtr_names): with open(fxtr_path, "r") as fxtr_file: upload_fixture(fxtr_file)
def test_custom_fixture(self): data = '''[{ "pk": 2, "model": "nailgun.release", "fields": { "name": "CustomFixtureRelease", "version": "0.0.1", "description": "Sample release for testing", "operating_system": "CentOS", "networks_metadata": { "nova_network": { "networks": [ { "name": "floating", "cidr": "172.16.0.0/24", "netmask": "255.255.255.0", "gateway": "172.16.0.1", "ip_range": ["172.16.0.128", "172.16.0.254"], "vlan_start": 100, "network_size": 256, "assign_vip": false }, { "name": "public", "cidr": "172.16.0.0/24", "netmask": "255.255.255.0", "gateway": "172.16.0.1", "ip_range": ["172.16.0.2", "172.16.0.127"], "vlan_start": 100, "assign_vip": true }, { "name": "management", "cidr": "192.168.0.0/24", "netmask": "255.255.255.0", "gateway": "192.168.0.1", "ip_range": ["192.168.0.1", "192.168.0.254"], "vlan_start": 101, "assign_vip": true }, { "name": "storage", "cidr": "192.168.1.0/24", "netmask": "255.255.255.0", "gateway": "192.168.1.1", "ip_range": ["192.168.1.1", "192.168.1.254"], "vlan_start": 102, "assign_vip": false }, { "name": "fixed", "cidr": "10.0.0.0/16", "netmask": "255.255.0.0", "gateway": "10.0.0.1", "ip_range": ["10.0.0.2", "10.0.255.254"], "vlan_start": 103, "assign_vip": false } ] } } } }]''' upload_fixture(cStringIO.StringIO(data), loader=json) check = self.db.query(Release).filter( Release.name == u"CustomFixtureRelease" ) self.assertEqual(len(list(check)), 1)
def upload_fixtures(self, fxtr_names): for fxtr_path in self.fxtr_paths_by_names(fxtr_names): with open(fxtr_path, "r") as fxtr_file: upload_fixture(fxtr_file)
logger.info("Done") elif params.action == "dropdb": logger.info("Dropping database...") from nailgun.db import dropdb dropdb() logger.info("Done") elif params.action == "test": logger.info("Running tests...") from nailgun.unit_test import TestRunner TestRunner.run() logger.info("Done") elif params.action == "loaddata": logger.info("Uploading fixture...") from nailgun.db.sqlalchemy import fixman with open(params.fixture, "r") as fileobj: fixman.upload_fixture(fileobj) logger.info("Done") elif params.action == "loaddefault": logger.info("Uploading fixture...") from nailgun.db.sqlalchemy import fixman fixman.upload_fixtures() logger.info("Done") elif params.action == "dump_settings": sys.stdout.write(settings.dump()) elif params.action in ("run",): settings.update({ 'LISTEN_PORT': int(params.port), 'LISTEN_ADDRESS': params.address, }) for attr in ['FAKE_TASKS', 'FAKE_TASKS_TICK_COUNT', 'FAKE_TASKS_TICK_INTERVAL', 'FAKE_TASKS_AMQP']:
def test_custom_fixture(self): data = '''[{ "pk": 2, "model": "nailgun.release", "fields": { "name": "CustomFixtureRelease", "version": "0.0.1", "description": "Sample release for testing", "operating_system": "CentOS", "networks_metadata": { "nova_network": { "networks": [ { "name": "floating", "cidr": "172.16.0.0/24", "netmask": "255.255.255.0", "gateway": "172.16.0.1", "ip_range": ["172.16.0.128", "172.16.0.254"], "vlan_start": 100, "network_size": 256, "assign_vip": false }, { "name": "public", "cidr": "172.16.0.0/24", "netmask": "255.255.255.0", "gateway": "172.16.0.1", "ip_range": ["172.16.0.2", "172.16.0.127"], "vlan_start": 100, "assign_vip": true }, { "name": "management", "cidr": "192.168.0.0/24", "netmask": "255.255.255.0", "gateway": "192.168.0.1", "ip_range": ["192.168.0.1", "192.168.0.254"], "vlan_start": 101, "assign_vip": true }, { "name": "storage", "cidr": "192.168.1.0/24", "netmask": "255.255.255.0", "gateway": "192.168.1.1", "ip_range": ["192.168.1.1", "192.168.1.254"], "vlan_start": 102, "assign_vip": false }, { "name": "fixed", "cidr": "10.0.0.0/16", "netmask": "255.255.0.0", "gateway": "10.0.0.1", "ip_range": ["10.0.0.2", "10.0.255.254"], "vlan_start": 103, "assign_vip": false } ] } } } }]''' upload_fixture(cStringIO.StringIO(data), loader=json) check = self.db.query(Release).filter( Release.name == u"CustomFixtureRelease") self.assertEqual(len(list(check)), 1)