def setUp(self): # set dummy credentials os.environ['AWS_ACCESS_KEY_ID'] = "THISISTESTKEY" os.environ['AWS_SECRET_ACCESS_KEY'] = "THISISTESTSECRET" self.aws_key = Credential() # set for resource self.vpc_resource = VPCResource() self.maxDiff = None
class CloudFormationTest(unittest.TestCase): def setUp(self): # set dummy credentials os.environ['AWS_ACCESS_KEY_ID'] = "THISISTESTKEY" os.environ['AWS_SECRET_ACCESS_KEY'] = "THISISTESTSECRET" self.aws_key = Credential() # set for resource self.vpc_resource = VPCResource() self.maxDiff = None def _get_template_body(self): template = {"Resources": {"VPC": {"Type": "AWS::EC2::VPC", "Properties": { "CidrBlock": "10.0.0.0/16", "Tags": [{"Key": "Application", "Value": {"Ref": "AWS::StackId"}}] }}}} return json.dumps(template) @mock_cloudformation def test_create_stack(self): # init cloudformation cloudformation = CloudFormation('us-east-1', self.aws_key.aws_access_key_id, self.aws_key.aws_secret_access_key) cloudformation.create_stack("test", self._get_template_body(), "") self.assertEqual(1, len(cloudformation.describe_stacks())) def test_update_stack(self): pass @mock_cloudformation def test_delete_stack(self): # init cloudformation cloudformation = CloudFormation('us-east-1', self.aws_key.aws_access_key_id, self.aws_key.aws_secret_access_key) cloudformation.create_stack("test", self._get_template_body(), "") self.assertEqual(1, len(cloudformation.describe_stacks())) cloudformation.delete_stack("test") self.assertEqual(0, len(cloudformation.describe_stacks())) # # cloudformation resource # def _template_to_dict(self, template): return yaml.load(template.to_json()) def _is_equal(self, dict1, dict2): print dict1 print dict2 return 0 == cmp(dict1, dict2) """ ## The describe_stack_resource action has not been implemented @mock_cloudformation def test_describe_stack_resource(self): cloudformation = CloudFormation('us-east-1', self.aws_key.aws_access_key_id, self.aws_key.aws_secret_access_key) cloudformation.create_stack("test", self._get_template_body(), "") cloudformation.describe_stack_resource("test", "VPC1") self.assertEqual(1, len(cloudformation.describe_stacks())) """ def test_add_vpc_resource(self): self.vpc_resource.add_vpc("10.2.0.0/16") self.assertSetEqual(set(self._template_to_dict(self.vpc_resource.get_template())), set(expected_vpc)) self.assertDictEqual(expected_vpc, yaml.load(self.vpc_resource.get_template().to_json())) def test_add_subnet(self): pass def test_add_internet_gateway(self): pass def test_add_route_table(self): pass def test_route_to_gateway(self): pass