def test_constructor_tags(self): c = self.botoSetup() amis = c.get_all_images() tags = {'foo': 'bar'} bs = ec2.EC2LatentBuildSlave('bot1', 'sekrit', 'm1.large', identifier='publickey', secret_identifier='privatekey', tags=tags, ami=amis[0].id ) self.assertEqual(bs.tags, tags)
def test_constructor_minimal(self): c = self.botoSetup() amis = c.get_all_images() bs = ec2.EC2LatentBuildSlave('bot1', 'sekrit', 'm1.large', identifier='publickey', secret_identifier='privatekey', ami=amis[0].id ) self.assertEqual(bs.slavename, 'bot1') self.assertEqual(bs.password, 'sekrit') self.assertEqual(bs.instance_type, 'm1.large') self.assertEqual(bs.ami, amis[0].id)
def test_start_instance_tags(self): c = self.botoSetup() amis = c.get_all_images() tags = {'foo': 'bar'} bs = ec2.EC2LatentBuildSlave('bot1', 'sekrit', 'm1.large', identifier='publickey', secret_identifier='privatekey', tags=tags, ami=amis[0].id ) id, _, _ = bs._start_instance() instances = [i for i in c.get_only_instances() if i.state != "terminated"] self.assertEqual(len(instances), 1) self.assertEqual(instances[0].id, id) self.assertEqual(instances[0].tags, tags)
def test_start_instance(self): c = self.botoSetup() amis = c.get_all_images() bs = ec2.EC2LatentBuildSlave('bot1', 'sekrit', 'm1.large', identifier='publickey', secret_identifier='privatekey', ami=amis[0].id ) instance_id, image_id, start_time = bs._start_instance() self.assertTrue(instance_id.startswith('i-')) self.assertTrue(image_id.startswith('r-')) self.assertTrue(start_time > 0) instances = [i for i in c.get_only_instances() if i.state != "terminated"] self.assertEqual(len(instances), 1) self.assertEqual(instances[0].id, instance_id) self.assertEqual(instances[0].tags, {})
def test_start_spot_instance_retry(self): c = self.botoSetup() amis = c.get_all_images() product_description = 'Linux/Unix' retry = 3 bs = ec2.EC2LatentBuildSlave('bot1', 'sekrit', 'm1.large', identifier='publickey', secret_identifier='privatekey', ami=amis[0].id, retry=retry, spot_instance=True, max_spot_price=1.5, product_description=product_description ) id, _, _ = bs._start_instance() instances = [i for i in c.get_only_instances() if i.state != "terminated"] self.assertTrue(bs.spot_instance) self.assertEqual(bs.retry, 3) self.assertEqual(bs.attempt, 1) self.assertEqual(len(instances), 1) self.assertEqual(instances[0].id, id)