diff --git a/test_spawn.py b/test_spawn.py new file mode 100644 index 0000000..89e8dde --- /dev/null +++ b/test_spawn.py @@ -0,0 +1,41 @@ +import unittest +import requests +import json +import time + +from boto import ec2 +from ec2driver_config import * + + +class TestSpawn(unittest.TestCase): + + def setUp(self): + print "Establishing connection with AWS" + self.ec2_conn = ec2.connect_to_region(aws_region, aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key) + + def test_spawn(self): + reservation = self.ec2_conn.run_instances(aws_ami, instance_type=instance_type) + self.instance = reservation.instances[0] + print self.instance + self.assertTrue(len(reservation.instances) >= 1) + + def tearDown(self): + print "Cleanup: Destroying the instance used for testing" + time.sleep(60) + self.ec2_conn.terminate_instances(instance_ids=[self.instance.id]) + +class TestDestroy(unittest.TestCase): + def setUp(self): + print "Establishing connection with AWS" + self.ec2_conn = ec2.connect_to_region(aws_region, aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key) + + def test_destroy(self): + reservation = self.ec2_conn.run_instances(aws_ami, instance_type=instance_type) + print "Waiting for 120 seconds for the instance to change to running state" + time.sleep(60) + instance_count = len(reservation.instances) + terminated_instances = self.ec2_conn.terminate_instances(instance_ids=[reservation.instances[0].id]) + self.assertTrue(len(terminated_instances) == 1) + +if __name__ == '__main__': + unittest.main() \ No newline at end of file