def test_region_argument(self): driver = OvhNodeDriver(*OVH_PARAMS) self.assertEqual(driver.connection.host, "api.ovh.com") driver = OvhNodeDriver(*OVH_PARAMS, region=None) self.assertEqual(driver.connection.host, "api.ovh.com") driver = OvhNodeDriver(*OVH_PARAMS, region="ca") driver = OvhNodeDriver(*OVH_PARAMS, region="eu") self.assertEqual(driver.connection.host, "eu.api.ovh.com") driver = OvhNodeDriver(*OVH_PARAMS, region="ca") self.assertEqual(driver.connection.host, "ca.api.ovh.com")
def test_region_argument(self): driver = OvhNodeDriver(*OVH_PARAMS) self.assertEqual(driver.connection.host, 'api.ovh.com') driver = OvhNodeDriver(*OVH_PARAMS, region=None) self.assertEqual(driver.connection.host, 'api.ovh.com') driver = OvhNodeDriver(*OVH_PARAMS, region='ca') driver = OvhNodeDriver(*OVH_PARAMS, region='eu') self.assertEqual(driver.connection.host, 'eu.api.ovh.com') driver = OvhNodeDriver(*OVH_PARAMS, region='ca') self.assertEqual(driver.connection.host, 'ca.api.ovh.com')
def test_invalid_application_key_correct_error(self): OvhMockHttp.type = "invalid_app_key_error" driver = OvhNodeDriver("appkeyinvalid", "application_secret", "project_id", "consumer_key") expected_msg = r"Invalid application key" self.assertRaisesRegex(BaseHTTPError, expected_msg, driver.list_nodes)
def test_invalid_application_key_correct_error(self): OvhMockHttp.type = 'invalid_app_key_error' driver = OvhNodeDriver('appkeyinvalid', 'application_secret', 'project_id', 'consumer_key') expected_msg = r'Invalid application key' self.assertRaisesRegex(BaseHTTPError, expected_msg, driver.list_nodes)
def test_list_nodes_invalid_region(self): OvhNodeDriver.connectionCls.conn_class = LibcloudConnection driver = OvhNodeDriver(*OVH_PARAMS, region='invalid') expected_msg = r'invalid region argument was passed.*Used host: invalid.api.ovh.com.*' self.assertRaisesRegex(ValueError, expected_msg, driver.list_nodes) expected_msg = r'invalid region argument was passed.*Used host: invalid.api.ovh.com.*' self.assertRaisesRegex(ValueError, expected_msg, driver.connection.request_consumer_key, '1')
def setUp(self): OvhNodeDriver.connectionCls.conn_class = OvhMockHttp OvhMockHttp.type = None self.driver = OvhNodeDriver(*OVH_PARAMS)
class OvhTests(unittest.TestCase): def setUp(self): OvhNodeDriver.connectionCls.conn_class = OvhMockHttp OvhMockHttp.type = None self.driver = OvhNodeDriver(*OVH_PARAMS) def test_region_argument(self): driver = OvhNodeDriver(*OVH_PARAMS) self.assertEqual(driver.connection.host, "api.ovh.com") driver = OvhNodeDriver(*OVH_PARAMS, region=None) self.assertEqual(driver.connection.host, "api.ovh.com") driver = OvhNodeDriver(*OVH_PARAMS, region="ca") driver = OvhNodeDriver(*OVH_PARAMS, region="eu") self.assertEqual(driver.connection.host, "eu.api.ovh.com") driver = OvhNodeDriver(*OVH_PARAMS, region="ca") self.assertEqual(driver.connection.host, "ca.api.ovh.com") @unittest.skipIf(no_internet(), "Internet is not reachable") def test_list_nodes_invalid_region(self): OvhNodeDriver.connectionCls.conn_class = LibcloudConnection driver = OvhNodeDriver(*OVH_PARAMS, region="invalid") expected_msg = ( r"invalid region argument was passed.*Used host: invalid.api.ovh.com.*" ) self.assertRaisesRegex(ValueError, expected_msg, driver.list_nodes) expected_msg = ( r"invalid region argument was passed.*Used host: invalid.api.ovh.com.*" ) self.assertRaisesRegex(ValueError, expected_msg, driver.connection.request_consumer_key, "1") def test_invalid_application_key_correct_error(self): OvhMockHttp.type = "invalid_app_key_error" driver = OvhNodeDriver("appkeyinvalid", "application_secret", "project_id", "consumer_key") expected_msg = r"Invalid application key" self.assertRaisesRegex(BaseHTTPError, expected_msg, driver.list_nodes) def test_list_locations(self): images = self.driver.list_locations() self.assertTrue(len(images) > 0) def test_list_images(self): images = self.driver.list_images() self.assertTrue(len(images) > 0) def test_get_image(self): image = self.driver.get_image("foo-id") self.assertEqual(image.id, "foo-id") def test_list_sizes(self): sizes = self.driver.list_sizes() self.assertTrue(len(sizes) > 0) def test_get_size(self): size = self.driver.ex_get_size("foo-id") self.assertEqual(size.id, "foo-id") def test_list_key_pairs(self): keys = self.driver.list_sizes() self.assertTrue(len(keys) > 0) def test_get_key_pair(self): location = self.driver.list_locations()[0] key = self.driver.get_key_pair("mykey", location) self.assertEqual(key.name, "mykey") def test_import_key_pair_from_string(self): location = self.driver.list_locations()[0] key = self.driver.import_key_pair_from_string("mykey", "material", location) self.assertEqual(key.name, "mykey") def test_list_nodes(self): nodes = self.driver.list_nodes() self.assertTrue(len(nodes) > 0) def test_get_node(self): node = self.driver.ex_get_node("foo") self.assertEqual(node.name, "test_vm") def test_create_node(self): location = self.driver.list_locations()[0] image = self.driver.list_sizes(location)[0] size = self.driver.list_sizes(location)[0] node = self.driver.create_node(name="test_vm", image=image, size=size, location=location) self.assertEqual(node.name, "test_vm") def test_resizing_node(self): self.assertTrue(self.driver.NODE_STATE_MAP["RESIZE"]) def test_destroy_node(self): node = self.driver.list_nodes()[0] self.driver.destroy_node(node) def test_list_volumes(self): volumes = self.driver.list_volumes() self.assertTrue(len(volumes) > 0) def test_get_volume(self): volume = self.driver.ex_get_volume("foo") self.assertEqual(volume.name, "testvol") def test_create_volume(self): location = self.driver.list_locations()[0] volume = self.driver.create_volume(size=10, name="testvol", location=location) self.assertEqual(volume.name, "testvol") def test_destroy_volume(self): volume = self.driver.list_volumes()[0] self.driver.destroy_volume(volume) def test_attach_volume(self): node = self.driver.list_nodes()[0] volume = self.driver.ex_get_volume("foo") response = self.driver.attach_volume(node=node, volume=volume) self.assertTrue(response) def test_detach_volume(self): node = self.driver.list_nodes()[0] volume = self.driver.ex_get_volume("foo") response = self.driver.detach_volume(ex_node=node, volume=volume) self.assertTrue(response) def test_ex_list_snapshots(self): self.driver.ex_list_snapshots() def test_ex_get_volume_snapshot(self): self.driver.ex_get_volume_snapshot("foo") def test_list_volume_snapshots(self): volume = self.driver.ex_get_volume("foo") self.driver.list_volume_snapshots(volume) def test_create_volume_snapshot(self): volume = self.driver.ex_get_volume("foo") self.driver.create_volume_snapshot(volume) def test_destroy_volume_snapshot(self): snapshot = self.driver.ex_get_volume_snapshot("foo") result = self.driver.destroy_volume_snapshot(snapshot) self.assertTrue(result) def test_get_pricing(self): self.driver.ex_get_pricing("foo-id")
class OvhTests(unittest.TestCase): def setUp(self): OvhNodeDriver.connectionCls.conn_class = OvhMockHttp OvhMockHttp.type = None self.driver = OvhNodeDriver(*OVH_PARAMS) def test_region_argument(self): driver = OvhNodeDriver(*OVH_PARAMS) self.assertEqual(driver.connection.host, 'api.ovh.com') driver = OvhNodeDriver(*OVH_PARAMS, region=None) self.assertEqual(driver.connection.host, 'api.ovh.com') driver = OvhNodeDriver(*OVH_PARAMS, region='ca') driver = OvhNodeDriver(*OVH_PARAMS, region='eu') self.assertEqual(driver.connection.host, 'eu.api.ovh.com') driver = OvhNodeDriver(*OVH_PARAMS, region='ca') self.assertEqual(driver.connection.host, 'ca.api.ovh.com') def test_list_nodes_invalid_region(self): OvhNodeDriver.connectionCls.conn_class = LibcloudConnection driver = OvhNodeDriver(*OVH_PARAMS, region='invalid') expected_msg = r'invalid region argument was passed.*Used host: invalid.api.ovh.com.*' self.assertRaisesRegex(ValueError, expected_msg, driver.list_nodes) expected_msg = r'invalid region argument was passed.*Used host: invalid.api.ovh.com.*' self.assertRaisesRegex(ValueError, expected_msg, driver.connection.request_consumer_key, '1') def test_invalid_application_key_correct_error(self): OvhMockHttp.type = 'invalid_app_key_error' driver = OvhNodeDriver('appkeyinvalid', 'application_secret', 'project_id', 'consumer_key') expected_msg = r'Invalid application key' self.assertRaisesRegex(BaseHTTPError, expected_msg, driver.list_nodes) def test_list_locations(self): images = self.driver.list_locations() self.assertTrue(len(images) > 0) def test_list_images(self): images = self.driver.list_images() self.assertTrue(len(images) > 0) def test_get_image(self): image = self.driver.get_image('foo-id') self.assertEqual(image.id, 'foo-id') def test_list_sizes(self): sizes = self.driver.list_sizes() self.assertTrue(len(sizes) > 0) def test_get_size(self): size = self.driver.ex_get_size('foo-id') self.assertEqual(size.id, 'foo-id') def test_list_key_pairs(self): keys = self.driver.list_sizes() self.assertTrue(len(keys) > 0) def test_get_key_pair(self): location = self.driver.list_locations()[0] key = self.driver.get_key_pair('mykey', location) self.assertEqual(key.name, 'mykey') def test_import_key_pair_from_string(self): location = self.driver.list_locations()[0] key = self.driver.import_key_pair_from_string('mykey', 'material', location) self.assertEqual(key.name, 'mykey') def test_list_nodes(self): nodes = self.driver.list_nodes() self.assertTrue(len(nodes) > 0) def test_get_node(self): node = self.driver.ex_get_node('foo') self.assertEqual(node.name, 'test_vm') def test_create_node(self): location = self.driver.list_locations()[0] image = self.driver.list_sizes(location)[0] size = self.driver.list_sizes(location)[0] node = self.driver.create_node(name='test_vm', image=image, size=size, location=location) self.assertEqual(node.name, 'test_vm') def test_destroy_node(self): node = self.driver.list_nodes()[0] self.driver.destroy_node(node) def test_list_volumes(self): volumes = self.driver.list_volumes() self.assertTrue(len(volumes) > 0) def test_get_volume(self): volume = self.driver.ex_get_volume('foo') self.assertEqual(volume.name, 'testvol') def test_create_volume(self): location = self.driver.list_locations()[0] volume = self.driver.create_volume(size=10, name='testvol', location=location) self.assertEqual(volume.name, 'testvol') def test_destroy_volume(self): volume = self.driver.list_volumes()[0] self.driver.destroy_volume(volume) def test_attach_volume(self): node = self.driver.list_nodes()[0] volume = self.driver.ex_get_volume('foo') response = self.driver.attach_volume(node=node, volume=volume) self.assertTrue(response) def test_detach_volume(self): node = self.driver.list_nodes()[0] volume = self.driver.ex_get_volume('foo') response = self.driver.detach_volume(ex_node=node, volume=volume) self.assertTrue(response) def test_ex_list_snapshots(self): self.driver.ex_list_snapshots() def test_ex_get_volume_snapshot(self): self.driver.ex_get_volume_snapshot('foo') def test_list_volume_snapshots(self): volume = self.driver.ex_get_volume('foo') self.driver.list_volume_snapshots(volume) def test_create_volume_snapshot(self): volume = self.driver.ex_get_volume('foo') self.driver.create_volume_snapshot(volume) def test_destroy_volume_snapshot(self): snapshot = self.driver.ex_get_volume_snapshot('foo') result = self.driver.destroy_volume_snapshot(snapshot) self.assertTrue(result) def test_get_pricing(self): self.driver.ex_get_pricing('foo-id')
class OvhTests(unittest.TestCase): def setUp(self): OvhNodeDriver.connectionCls.conn_classes = (OvhMockHttp, OvhMockHttp) OvhMockHttp.type = None self.driver = OvhNodeDriver(*OVH_PARAMS) def test_list_locations(self): images = self.driver.list_locations() self.assertTrue(len(images) > 0) def test_list_images(self): images = self.driver.list_images() self.assertTrue(len(images) > 0) def test_get_image(self): image = self.driver.get_image('foo-id') self.assertEqual(image.id, 'foo-id') def test_list_sizes(self): sizes = self.driver.list_sizes() self.assertTrue(len(sizes) > 0) def test_get_size(self): size = self.driver.ex_get_size('foo-id') self.assertEqual(size.id, 'foo-id') def test_list_key_pairs(self): keys = self.driver.list_sizes() self.assertTrue(len(keys) > 0) def test_get_key_pair(self): location = self.driver.list_locations()[0] key = self.driver.get_key_pair('mykey', location) self.assertEqual(key.name, 'mykey') def test_import_key_pair_from_string(self): location = self.driver.list_locations()[0] key = self.driver.import_key_pair_from_string('mykey', 'material', location) self.assertEqual(key.name, 'mykey') def test_list_nodes(self): nodes = self.driver.list_nodes() self.assertTrue(len(nodes) > 0) def test_get_node(self): node = self.driver.ex_get_node('foo') self.assertEqual(node.name, 'test_vm') def test_create_node(self): location = self.driver.list_locations()[0] image = self.driver.list_sizes(location)[0] size = self.driver.list_sizes(location)[0] node = self.driver.create_node(name='test_vm', image=image, size=size, location=location) self.assertEqual(node.name, 'test_vm') def test_destroy_node(self): node = self.driver.list_nodes()[0] self.driver.destroy_node(node) def test_list_volumes(self): volumes = self.driver.list_volumes() self.assertTrue(len(volumes) > 0) def test_get_volume(self): volume = self.driver.ex_get_volume('foo') self.assertEqual(volume.name, 'testvol') def test_create_volume(self): location = self.driver.list_locations()[0] volume = self.driver.create_volume(size=10, name='testvol', location=location) self.assertEqual(volume.name, 'testvol') def test_destroy_volume(self): volume = self.driver.list_volumes()[0] self.driver.destroy_volume(volume) def test_attach_volume(self): node = self.driver.list_nodes()[0] volume = self.driver.ex_get_volume('foo') response = self.driver.attach_volume(node=node, volume=volume) self.assertTrue(response) def test_detach_volume(self): node = self.driver.list_nodes()[0] volume = self.driver.ex_get_volume('foo') response = self.driver.detach_volume(ex_node=node, volume=volume) self.assertTrue(response)
def setUp(self): OvhNodeDriver.connectionCls.conn_class = OvhMockHttp OvhMockHttp.type = None self.driver = OvhNodeDriver(*OVH_PARAMS)
class OvhTests(unittest.TestCase): def setUp(self): OvhNodeDriver.connectionCls.conn_class = OvhMockHttp OvhMockHttp.type = None self.driver = OvhNodeDriver(*OVH_PARAMS) def test_list_locations(self): images = self.driver.list_locations() self.assertTrue(len(images) > 0) def test_list_images(self): images = self.driver.list_images() self.assertTrue(len(images) > 0) def test_get_image(self): image = self.driver.get_image('foo-id') self.assertEqual(image.id, 'foo-id') def test_list_sizes(self): sizes = self.driver.list_sizes() self.assertTrue(len(sizes) > 0) def test_get_size(self): size = self.driver.ex_get_size('foo-id') self.assertEqual(size.id, 'foo-id') def test_list_key_pairs(self): keys = self.driver.list_sizes() self.assertTrue(len(keys) > 0) def test_get_key_pair(self): location = self.driver.list_locations()[0] key = self.driver.get_key_pair('mykey', location) self.assertEqual(key.name, 'mykey') def test_import_key_pair_from_string(self): location = self.driver.list_locations()[0] key = self.driver.import_key_pair_from_string('mykey', 'material', location) self.assertEqual(key.name, 'mykey') def test_list_nodes(self): nodes = self.driver.list_nodes() self.assertTrue(len(nodes) > 0) def test_get_node(self): node = self.driver.ex_get_node('foo') self.assertEqual(node.name, 'test_vm') def test_create_node(self): location = self.driver.list_locations()[0] image = self.driver.list_sizes(location)[0] size = self.driver.list_sizes(location)[0] node = self.driver.create_node(name='test_vm', image=image, size=size, location=location) self.assertEqual(node.name, 'test_vm') def test_destroy_node(self): node = self.driver.list_nodes()[0] self.driver.destroy_node(node) def test_list_volumes(self): volumes = self.driver.list_volumes() self.assertTrue(len(volumes) > 0) def test_get_volume(self): volume = self.driver.ex_get_volume('foo') self.assertEqual(volume.name, 'testvol') def test_create_volume(self): location = self.driver.list_locations()[0] volume = self.driver.create_volume(size=10, name='testvol', location=location) self.assertEqual(volume.name, 'testvol') def test_destroy_volume(self): volume = self.driver.list_volumes()[0] self.driver.destroy_volume(volume) def test_attach_volume(self): node = self.driver.list_nodes()[0] volume = self.driver.ex_get_volume('foo') response = self.driver.attach_volume(node=node, volume=volume) self.assertTrue(response) def test_detach_volume(self): node = self.driver.list_nodes()[0] volume = self.driver.ex_get_volume('foo') response = self.driver.detach_volume(ex_node=node, volume=volume) self.assertTrue(response) def test_ex_list_snapshots(self): self.driver.ex_list_snapshots() def test_ex_get_volume_snapshot(self): self.driver.ex_get_volume_snapshot('foo') def test_list_volume_snapshots(self): volume = self.driver.ex_get_volume('foo') self.driver.list_volume_snapshots(volume) def test_create_volume_snapshot(self): volume = self.driver.ex_get_volume('foo') self.driver.create_volume_snapshot(volume) def test_destroy_volume_snapshot(self): snapshot = self.driver.ex_get_volume_snapshot('foo') result = self.driver.destroy_volume_snapshot(snapshot) self.assertTrue(result)