def test_add_services_setting_with_no_services(self):

        del self.event['ResourceProperties']['Services']

        props = properties.load(
            self.event, LambdaConfigurationResourceHandler.PROPERTIES_SCHEMA)
        settings = props.Settings.__dict__
        services = props.Services
        stack = mock.MagicMock('stack')

        actual_permittd_arns = LambdaConfigurationResourceHandler._add_services_settings(
            settings, services, stack)

        self.assertEquals(actual_permittd_arns, [])
    def test_add_services_settings(self, mock_ServiceDirectory,
                                   mock_add_service_settings):

        props = properties.load(
            self.event, LambdaConfigurationResourceHandler.PROPERTIES_SCHEMA)

        settings = props.Settings.__dict__
        services = props.Services

        stack = mock.MagicMock(name='stack')

        actual_permitted_arns = LambdaConfigurationResourceHandler._add_services_settings(
            stack, settings, services)

        self.assertEquals(actual_permitted_arns, [])

        mock_ServiceDirectory.assert_called_once_with(
            stack.project.configuration_bucket)

        mock_add_service_settings.assert_has_calls([
            mock.call(stack, mock_ServiceDirectory.return_value, service,
                      settings['Services'], actual_permitted_arns)
            for service in services
        ])