Skip to content

Commit

Permalink
INFRASYS-6117 - Updated unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
adamjkeller committed Oct 17, 2015
1 parent d697b26 commit 7c47859
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 3 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
*.pyc
*.egg-info
*.eggs
*.swp
*.coverage
*htmlcov
.DS_Store
.localized
4 changes: 2 additions & 2 deletions License2Deploy/rolling_deploy.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ def confirm_lb_has_only_new_instances(self, wait_time=60):
logging.info("Deployed instances {0} to ELB: {1}".format(instance_ids, lb))
return instance_ids

def tag_ami(self, ami_id, env): # pragma: no cover
def tag_ami(self, ami_id, env):
''' Tagging AMI with DEPLOYED tag '''
try:
current_tag = self.conn_ec2.get_all_images(image_ids=ami_id)[0].tags.get('deployed')
Expand All @@ -191,7 +191,7 @@ def tag_ami(self, ami_id, env): # pragma: no cover
logging.info("DEPLOY tags currently exist: {0}, new tag is {1}".format(current_tag, new_tag))
self.conn_ec2.create_tags([self.ami_id], {"deployed": new_tag})
else:
logging.info("No tagging necessary")
logging.info("No tagging necessary, already tagged with env: {0}".format(env))
except Exception as e:
logging.error("Unable to tag ID, please investigate: {0}".format(e))
exit(self.exit_error_code)
Expand Down
17 changes: 16 additions & 1 deletion tests/rolling_deploy_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,20 @@ def setUpEC2(self):

return [conn, instance_id_list]

@mock_ec2
def test_tag_ami(self):
conn = self.setUpEC2()[0]
reservation = conn.run_instances('ami-1234xyz1', min_count=1)
instance_ids = reservation.instances
conn.create_image(instance_ids[0].id, "test-ami", "this is a test ami")
_ami_ids = conn.get_all_images()
_ami_id = _ami_ids[0].id
self.rolling_deploy = RollingDeploy('stg', 'server-gms-extender', '0', _ami_id, None, './regions.yml')
self.rolling_deploy.tag_ami(str(_ami_id), 'stg')
self.rolling_deploy.tag_ami(str(_ami_id), 'qa')
self.rolling_deploy.tag_ami(str(_ami_id), 'qa')
self.assertRaises(SystemExit, lambda: self.rolling_deploy.tag_ami('blargness', 'qa'))

@mock_ec2
def test_load_config(self):
self.assertEqual(AWSConn.load_config('regions.yml').get('qa'), 'us-west-1')
Expand All @@ -86,7 +100,7 @@ def test_load_config(self):
self.assertEqual(AWSConn.determine_region('get-shwifty'), 'us-west-1')

@mock_ec2
def test_wait_ami_availability(self): #NEED TO FINISH
def test_wait_ami_availability(self):
conn = self.setUpEC2()[0]
inst_ids = self.setUpEC2()[1]
conn.create_image(inst_ids[0], "test-ami", "this is a test ami")
Expand All @@ -95,6 +109,7 @@ def test_wait_ami_availability(self): #NEED TO FINISH
self.assertEqual(str(ami_id), str(self.rolling_deploy.get_ami_id_state(ami_id.id)))
self.assertTrue(self.rolling_deploy.wait_ami_availability(ami_id.id))
self.assertRaises(SystemExit, lambda: self.rolling_deploy.wait_ami_availability('bad-id')) #Will raise exception because ami can't be found
self.assertRaises(SystemExit, lambda: self.rolling_deploy.wait_ami_availability(ami_id.id, -1)) #Will raise exception due to timeout occuring

@mock_ec2
@mock_elb
Expand Down

0 comments on commit 7c47859

Please sign in to comment.