class VultrTests(LibcloudTestCase): def setUp(self): VultrNodeDriver.connectionCls.conn_class = VultrMockHttp VultrMockHttp.type = None self.driver = VultrNodeDriver(*VULTR_PARAMS) def test_list_images_dont_require_api_key(self): self.driver.list_images() self.assertFalse(self.driver.connection.require_api_key()) def test_list_images_success(self): images = self.driver.list_images() self.assertTrue(len(images) >= 1) image = images[0] self.assertTrue(image.id is not None) self.assertTrue(image.name is not None) def test_list_sizes_success(self): sizes = self.driver.list_sizes() self.assertTrue(len(sizes) == 17) size = sizes[0] self.assertTrue(size.id is not None) self.assertEqual(size.name, '8192 MB RAM,110 GB SSD,10.00 TB BW') self.assertEqual(size.ram, 8192) size = sizes[16] self.assertTrue(size.id is not None) self.assertEqual(size.name, '4096 MB RAM,1000 GB SATA,5.00 TB BW') self.assertEqual(size.ram, 4096) def test_list_locations_success(self): locations = self.driver.list_locations() self.assertTrue(len(locations) >= 1) location = locations[0] self.assertEqual(location.id, '1') self.assertEqual(location.name, 'New Jersey') def test_list_nodes_require_api_key(self): self.driver.list_nodes() self.assertTrue(self.driver.connection.require_api_key()) def test_list_nodes_success(self): nodes = self.driver.list_nodes() self.assertEqual(len(nodes), 2) self.assertEqual(nodes[0].id, '1') self.assertEqual(nodes[0].public_ips, ['108.61.206.153']) def test_reboot_node_success(self): node = self.driver.list_nodes()[0] result = self.driver.reboot_node(node) self.assertTrue(result) def test_create_node_success(self): test_size = self.driver.list_sizes()[0] test_image = self.driver.list_images()[0] test_location = self.driver.list_locations()[0] created_node = self.driver.create_node('test-node', test_size, test_image, test_location) self.assertEqual(created_node.id, "1") def test_destroy_node_success(self): node = self.driver.list_nodes()[0] result = self.driver.destroy_node(node) self.assertTrue(result) def test_list_key_pairs_success(self): key_pairs = self.driver.list_key_pairs() self.assertEqual(len(key_pairs), 1) key_pair = key_pairs[0] self.assertEqual(key_pair.id, '5806a8ef2a0c6') self.assertEqual(key_pair.name, 'test-key-pair') def test_create_key_pair_success(self): res = self.driver.create_key_pair('test-key-pair') self.assertTrue(res) def test_delete_key_pair_success(self): key_pairs = self.driver.list_key_pairs() key_pair = key_pairs[0] res = self.driver.delete_key_pair(key_pair) self.assertTrue(res) def test_rate_limit(self): VultrMockHttp.type = 'SERVICE_UNAVAILABLE' self.assertRaises(ServiceUnavailableError, self.driver.list_nodes)
class VultrTests(LibcloudTestCase): def setUp(self): VultrNodeDriver.connectionCls.conn_class = VultrMockHttp VultrMockHttp.type = None self.driver = VultrNodeDriver(*VULTR_PARAMS) def test_list_images_success(self): images = self.driver.list_images() self.assertTrue(len(images) >= 1) image = images[0] self.assertTrue(image.id is not None) self.assertTrue(image.name is not None) def test_list_sizes_success(self): sizes = self.driver.list_sizes() self.assertTrue(len(sizes) == 22) size = sizes[0] self.assertTrue(size.id is not None) self.assertEqual(size.name, '512 MB RAM,160 GB SATA,1.00 TB BW') self.assertEqual(size.ram, 512) size = sizes[21] self.assertTrue(size.id is not None) self.assertEqual(size.name, '65536 MB RAM,800 GB SSD,9.00 TB BW') self.assertEqual(size.ram, 65536) def test_list_locations_success(self): locations = self.driver.list_locations() self.assertTrue(len(locations) >= 1) location = locations[0] self.assertEqual(location.id, '1') self.assertEqual(location.name, 'New Jersey') def test_list_nodes_success(self): nodes = self.driver.list_nodes() self.assertEqual(len(nodes), 2) self.assertEqual(nodes[0].id, '1') self.assertEqual(nodes[0].public_ips, ['108.61.206.153']) def test_reboot_node_success(self): node = self.driver.list_nodes()[0] result = self.driver.reboot_node(node) self.assertTrue(result) def test_create_node_success(self): test_size = self.driver.list_sizes()[0] test_image = self.driver.list_images()[0] test_location = self.driver.list_locations()[0] created_node = self.driver.create_node('test-node', test_size, test_image, test_location) self.assertEqual(created_node.id, "1") def test_destroy_node_success(self): node = self.driver.list_nodes()[0] result = self.driver.destroy_node(node) self.assertTrue(result) def test_list_key_pairs_success(self): key_pairs = self.driver.list_key_pairs() self.assertEqual(len(key_pairs), 1) key_pair = key_pairs[0] self.assertEqual(key_pair.id, '5806a8ef2a0c6') self.assertEqual(key_pair.name, 'test-key-pair') def test_create_key_pair_success(self): res = self.driver.create_key_pair('test-key-pair') self.assertTrue(res) def test_delete_key_pair_success(self): key_pairs = self.driver.list_key_pairs() key_pair = key_pairs[0] res = self.driver.delete_key_pair(key_pair) self.assertTrue(res)
class VultrTests(LibcloudTestCase): def setUp(self): VultrNodeDriver.connectionCls.conn_class = VultrMockHttp VultrMockHttp.type = None self.driver = VultrNodeDriver(*VULTR_PARAMS) def test_list_images_dont_require_api_key(self): self.driver.list_images() self.assertFalse(self.driver.connection.require_api_key()) def test_list_images_success(self): images = self.driver.list_images() self.assertTrue(len(images) >= 1) image = images[0] self.assertTrue(image.id is not None) self.assertTrue(image.name is not None) def test_list_sizes_dont_require_api_key(self): self.driver.list_sizes() self.assertFalse(self.driver.connection.require_api_key()) def test_list_sizes_success(self): """count of current plans""" sizes = self.driver.list_sizes() self.assertTrue(len(sizes) == 19) size = sizes[0] self.assertTrue(size.id.isdigit()) self.assertEqual(size.name, '8192 MB RAM,110 GB SSD,10.00 TB BW') self.assertEqual(size.ram, 8192) size = sizes[16] self.assertTrue(size.id.isdigit()) self.assertEqual(size.name, '16384 MB RAM,384 GB SSD,5.00 TB BW') self.assertEqual(size.ram, 16384) def test_list_locations_dont_require_api_key(self): self.driver.list_locations() self.assertFalse(self.driver.connection.require_api_key()) def test_list_locations_success(self): locations = self.driver.list_locations() self.assertTrue(len(locations) >= 1) location = locations[0] self.assertEqual(location.id, '1') self.assertEqual(location.name, 'New Jersey') self.assertEqual(location.extra['continent'], 'North America') def test_list_locations_extra_success(self): locations = self.driver.list_locations() self.assertTrue(len(locations) >= 1) extra_keys = [ 'continent', 'state', 'ddos_protection', 'block_storage', 'regioncode' ] for location in locations: self.assertTrue(len(location.extra.keys()) >= 5) self.assertTrue( all(item in location.extra.keys() for item in extra_keys)) def test_list_nodes_require_api_key(self): self.driver.list_nodes() self.assertTrue(self.driver.connection.require_api_key()) def test_list_nodes_success(self): nodes = self.driver.list_nodes() self.assertEqual(len(nodes), 3) self.assertTrue(nodes[0].id.isdigit()) self.assertEqual(nodes[0].id, '41306569') self.assertEqual(nodes[0].public_ips, ['45.76.43.87']) self.assertEqual(nodes[0].private_ips, ['10.7.96.85']) self.assertEqual(nodes[2].private_ips, []) def test_list_nodes_image_success(self): nodes = self.driver.list_nodes() node = nodes[0] self.assertTrue(isinstance(node.image, NodeImage)) def test_list_nodes_size_success(self): nodes = self.driver.list_nodes() node = nodes[0] self.assertTrue(isinstance(node.size, NodeSize)) def test_list_nodes_success_extra(self): extra_keys = [ "default_password", "pending_charges", "cost_per_month", ] nodes = self.driver.list_nodes() for node in nodes: self.assertTrue(len(node.extra.keys()) > 5) self.assertTrue( all(item in node.extra.keys() for item in extra_keys)) def test_reboot_node_success(self): node = self.driver.list_nodes()[0] result = self.driver.reboot_node(node) self.assertTrue(result) def test_create_node_success(self): test_size = self.driver.list_sizes()[0] test_image = self.driver.list_images()[0] test_location = self.driver.list_locations()[0] created_node = self.driver.create_node('test-node', test_size, test_image, test_location) self.assertEqual(created_node.id, "41326859") def test_destroy_node_success(self): node = self.driver.list_nodes()[0] result = self.driver.destroy_node(node) self.assertTrue(result) def test_list_key_pairs_success(self): key_pairs = self.driver.list_key_pairs() self.assertEqual(len(key_pairs), 1) key_pair = key_pairs[0] self.assertEqual(key_pair.id, '5806a8ef2a0c6') self.assertEqual(key_pair.name, 'test-key-pair') def test_create_key_pair_success(self): res = self.driver.create_key_pair('test-key-pair') self.assertTrue(res) def test_delete_key_pair_success(self): key_pairs = self.driver.list_key_pairs() key_pair = key_pairs[0] res = self.driver.delete_key_pair(key_pair) self.assertTrue(res) def test_rate_limit(self): VultrMockHttp.type = 'SERVICE_UNAVAILABLE' self.assertRaises(ServiceUnavailableError, self.driver.list_nodes)