示例#1
0
 def test_get_filename_without_extension(self):
     self.assertEqual('', fileoperations.get_filename_without_extension(''))
     self.assertEqual(
         'file', fileoperations.get_filename_without_extension('file.zip'))
     self.assertEqual(
         'file',
         fileoperations.get_filename_without_extension('src/file.zip'))
     self.assertEqual(
         'file',
         fileoperations.get_filename_without_extension('src/file.zip.app'))
示例#2
0
    def test_get_filename_without_extension_with_path(self):
        filepath = '{1}tmp{1}dir{1}test{1}{0}'.format('foo.txt', os.path.sep)

        actual_file = fileoperations.get_filename_without_extension(filepath)
        self.assertEqual(
            'foo', actual_file,
            "Expected {0} but got: {1}".format('foo', actual_file))
示例#3
0
    def put(self):
        app_name = self.get_app_name()
        name = self._get_cfg_name('put')
        platform = solution_stack_ops.get_default_solution_stack()

        if not PlatformVersion.is_valid_arn(platform):
            platform = platformops.get_platform_for_platform_string(platform)
            platform = platform.name

        saved_configs.update_config(app_name, name)
        filename = fileoperations.get_filename_without_extension(name)
        saved_configs.validate_config_file(app_name, filename, platform)
def update_config(app_name, cfg_name):
    config_location = resolve_config_location(cfg_name)
    if config_location is None:
        raise NotFoundError('No local version of ' + cfg_name + ' found.')

    fileoperations.write_config_setting(
        'EnvironmentConfigurationMetadata',
        'DateModified', (('%f' % (time.time() * 1000)).split('.')[0]),
        file=config_location)

    filename = fileoperations.get_filename_without_extension(config_location)

    upload_config_file(app_name, filename, config_location)
示例#5
0
def resolve_config_name(app_name, cfg_name):
    """  Resolve the name of the s3 template.
    If cfg_name is a file, we need to first upload the file.

    if the cfg_name is not a file, we can assume it is a correct s3 name.
    We will get an error later if it is invalid.
    """
    config_location = resolve_config_location(cfg_name)
    if config_location is None:
        return cfg_name
    else:
        name = fileoperations.get_filename_without_extension(config_location)
        upload_config_file(app_name, name, config_location)
        return cfg_name
示例#6
0
def resolve_config_name(app_name, cfg_name):
    """  Resolve the name of the s3 template.
    If cfg_name is a file, we need to first upload the file.

    if the cfg_name is not a file, we can assume it is a correct s3 name.
    We will get an error later if it is invalid.
    """
    config_location = resolve_config_location(cfg_name)
    if config_location is None:
        return cfg_name
    else:
        name = fileoperations.get_filename_without_extension(config_location)
        upload_config_file(app_name, name, config_location)
        return cfg_name
示例#7
0
def update_config(app_name, cfg_name):
    config_location = resolve_config_location(cfg_name)
    if config_location is None:
        raise NotFoundError('No local version of ' + cfg_name + ' found.')

    # Update modified date
    fileoperations.write_config_setting('EnvironmentConfigurationMetadata',
                                        'DateModified',
                                        (('%f' % (time.time() * 1000)).split('.')[0]),
                                        file=config_location)

    # Get just the name of the file
    filename = fileoperations.get_filename_without_extension(config_location)

    upload_config_file(app_name, filename, config_location)
def validate_config_file(app_name, cfg_name, platform):
    filename = fileoperations.get_filename_without_extension(cfg_name)
    try:
        result = elasticbeanstalk.validate_template(app_name, filename)
    except InvalidParameterValueError as e:
        if e.message == responses['create.noplatform']:
            result = elasticbeanstalk.validate_template(app_name,
                                                        cfg_name,
                                                        platform=platform)
        else:
            raise

    for m in result['Messages']:
        severity = m['Severity']
        message = m['Message']
        if severity == 'error':
            io.log_error(message)
        elif severity == 'warning':
            pass
示例#9
0
def validate_config_file(app_name, cfg_name, platform):
    # Get just the name of the file
    filename = fileoperations.get_filename_without_extension(cfg_name)
    try:
        result = elasticbeanstalk.validate_template(app_name, filename)
    except InvalidParameterValueError as e:
        # Platform not in Saved config. Try again with default platform
        if e.message == responses['create.noplatform']:
           result = elasticbeanstalk.validate_template(app_name, cfg_name,
                                                       platform=platform)
        else:
            raise

    for m in result['Messages']:
        severity = m['Severity']
        message = m['Message']
        if severity == 'error':
            io.log_error(message)
        elif severity == 'warning':
            # Ignore warnings. They are common on partial configurations
            # and almost always completely irrelevant.
            # io.log_warning(message)
            pass
示例#10
0
def validate_config_file(app_name, cfg_name, platform):
    # Get just the name of the file
    filename = fileoperations.get_filename_without_extension(cfg_name)
    try:
        result = elasticbeanstalk.validate_template(app_name, filename)
    except InvalidParameterValueError as e:
        # Platform not in Saved config. Try again with default platform
        if e.message == responses['create.noplatform']:
           result = elasticbeanstalk.validate_template(app_name, cfg_name,
                                                       platform=platform)
        else:
            raise

    for m in result['Messages']:
        severity = m['Severity']
        message = m['Message']
        if severity == 'error':
            io.log_error(message)
        elif severity == 'warning':
            # Ignore warnings. They are common on partial configurations
            # and almost always completely irrelevant.
            # io.log_warning(message)
            pass
示例#11
0
 def test_get_filename_without_extension_with_file(self):
     actual_file = fileoperations.get_filename_without_extension('foo.txt')
     self.assertEqual(
         'foo', actual_file,
         "Expected {0} but got: {1}".format('foo', actual_file))