diff --git a/drivers/aws_shell/src/driver.py b/drivers/aws_shell/src/driver.py index 254b53a9..7c004f7f 100644 --- a/drivers/aws_shell/src/driver.py +++ b/drivers/aws_shell/src/driver.py @@ -36,7 +36,9 @@ def destroy_vm_only(self, context, ports): return self.aws_shell.delete_ami(context) def ApplyConnectivityChanges(self, context, request): - pass + raise DeprecationWarning('AWS EC2 Apps don\'t support this type of connectivity. ' + 'All AWS EC2 Apps in the same Sandbox are on the same isolated subnet ' + 'and can interact with each other') def PrepareConnectivity(self, context, request): return self.aws_shell.prepare_connectivity(context, request) diff --git a/package/tests/test_aws_shell.py b/package/tests/test_aws_shell.py index 69f7d6be..63d8123f 100644 --- a/package/tests/test_aws_shell.py +++ b/package/tests/test_aws_shell.py @@ -82,6 +82,18 @@ def test_deploying_ami_returns_deploy_result(self): self.assertEqual(decoded_res['autoload'], deploymock.autoload) self.assertEqual(decoded_res['cloud_provider_resource_name'], deploymock.cloud_provider_resource) + def test_cleanup_connectivity(self): + self.aws_shell_api.clean_up_operation.cleanup = Mock(return_value=True) + + self.aws_shell_api.cleanup_connectivity(self.command_context) + + self.assertTrue(self.aws_shell_api.clean_up_operation.cleanup.called_with( + self.aws_shell_api.aws_session_manager.get_ec2_session(), + self.aws_shell_api.aws_session_manager.get_s3_session(), + self.aws_shell_api.model_parser.convert_to_aws_resource_model().key_pairs_location, + self.command_context.reservation.reservation_id + )) + def test_prepare_connectivity(self): req = '{"driverRequest": {"actions": [{"actionId": "ba7d54a5-79c3-4b55-84c2-d7d9bdc19356","actionTarget": null,"customActionAttributes": [{"attributeName": "Network","attributeValue": "10.0.0.0/24","type": "customAttribute"}],"type": "prepareNetwork"}]}}' self.aws_shell_api.prepare_connectivity_operation.prepare_connectivity = Mock(return_value=True) diff --git a/package/tests/test_domain_services/test_vpc.py b/package/tests/test_domain_services/test_vpc.py index 845f6cc8..c5dc5a95 100644 --- a/package/tests/test_domain_services/test_vpc.py +++ b/package/tests/test_domain_services/test_vpc.py @@ -29,6 +29,36 @@ def setUp(self): vpc_peering_waiter=self.vpc_peering_waiter, sg_service=self.sg_service) + def test_get_all_internet_gateways(self): + internet_gate = Mock() + self.vpc.internet_gateways = Mock() + self.vpc.internet_gateways.all = Mock(return_value=[internet_gate]) + res = self.vpc_service.get_all_internet_gateways(self.vpc) + + self.assertEqual(res, [internet_gate]) + + def test_remove_all_internet_gateways(self): + internet_gate = Mock() + self.vpc.internet_gateways = Mock() + self.vpc.internet_gateways.all = Mock(return_value=[internet_gate]) + self.vpc_service.remove_all_internet_gateways(self.vpc) + + self.assertTrue(internet_gate.detach_from_vpc.called_with(VpcId=self.vpc.id)) + self.assertTrue(internet_gate.delete.called) + + def test_create_and_attach_internet_gateway(self): + self.vpc_service.create_and_attach_internet_gateway(self.ec2_session, self.vpc, self.reservation) + + self.assertTrue(self.ec2_session.create_internet_gateway.called) + ig = self.ec2_session.create_internet_gateway() + self.assertTrue(ig.reload.called) + self.assertTrue(self.tag_service.get_default_tags.called_with( + "IGW {0}".format(self.reservation.reservation_id), + self.reservation)) + self.assertTrue(self.tag_service.set_ec2_resource_tags( + resource=ig, + tags=self.tag_service.get_default_tags())) + def test_create_vpc_for_reservation(self): vpc = self.vpc_service.create_vpc_for_reservation(self.ec2_session, self.reservation, self.cidr)