Beispiel #1
0
def test_diet_complains_if_passed_filename_is_not_file():
    filename = TEST_FILES_DIR

    try:
        diet.diet(filename, {'parsed': True})
    except diet.NotFileDietException:
        pass
Beispiel #2
0
def test_diet_complains_if_passed_filename_is_not_file():
    filename = TEST_FILES_DIR

    try:
        diet.diet(filename, {'parsed': True})
    except diet.NotFileDietException:
        pass
Beispiel #3
0
def test_diet_creates_a_backup_file_if_backup_is_enabled(config_copy):
    add_fake_pipeline_to_config(BALLOON_CMD, config_copy)
    filename = join(TEST_FILES_DIR, 'config.yaml')
    backup_filename = ".".join([filename, 'back'])
    config_copy['backup'] = 'back'

    diet.diet(filename, config_copy)

    assert exists(backup_filename)
    os.remove(backup_filename)
Beispiel #4
0
def test_diet_removes_all_backup_files_if_backup_is_disabled(config_copy):
    add_fake_pipeline_to_config(BALLOON_CMD, config_copy)
    filename = join(TEST_FILES_DIR, 'config.yaml')
    backup_filename = ".".join([filename, 'back'])
    internal_filename = ".".join([filename, 'diet_internal'])

    diet.diet(filename, config_copy)

    assert not exists(backup_filename)
    assert not exists(internal_filename)
Beispiel #5
0
def test_diet_removes_all_backup_files_if_backup_is_disabled(config_copy):
    add_fake_pipeline_to_config(BALLOON_CMD, config_copy)
    filename = join(TEST_FILES_DIR, 'config.yaml')
    backup_filename = ".".join([filename, 'back'])
    internal_filename = ".".join([filename, 'diet_internal'])

    diet.diet(filename, config_copy)

    assert not exists(backup_filename)
    assert not exists(internal_filename)
Beispiel #6
0
def test_diet_creates_a_backup_file_if_backup_is_enabled(config_copy):
    add_fake_pipeline_to_config(BALLOON_CMD, config_copy)
    filename = join(TEST_FILES_DIR, 'config.yaml')
    backup_filename = ".".join([filename, 'back'])
    config_copy['backup'] = 'back'

    diet.diet(filename, config_copy)

    assert exists(backup_filename)
    os.remove(backup_filename)
Beispiel #7
0
def test_diet_keeps_processed_file_if_keep_processed_is_enabled(config_copy):
    add_fake_pipeline_to_config(BALLOON_CMD, config_copy)
    config_copy['keep_processed'] = True
    orig_filename = join(TEST_FILES_DIR, 'config.yaml')
    diet.backup_file(orig_filename, 'test')
    filename = ".".join([orig_filename, "test"])

    old_size = os.stat(filename).st_size

    diet.diet(filename, config_copy)
    assert os.stat(filename).st_size > old_size

    os.remove(filename)
Beispiel #8
0
def test_diet_keeps_processed_file_if_keep_processed_is_enabled(config_copy):
    add_fake_pipeline_to_config(BALLOON_CMD, config_copy)
    config_copy['keep_processed'] = True
    orig_filename = join(TEST_FILES_DIR, 'config.yaml')
    diet.backup_file(orig_filename, 'test')
    filename = ".".join([orig_filename, "test"])

    old_size = os.stat(filename).st_size

    diet.diet(filename, config_copy)
    assert os.stat(filename).st_size > old_size

    os.remove(filename)
Beispiel #9
0
def test_compression(filename, config):
    st = None

    # Pre state
    statinfo = os.stat(filename)
    orig_size = statinfo.st_size
    start_time = time.time()

    # Compress
    changed = process.diet(filename, config)

    # Post state
    if changed:
        end_time = time.time()
        statinfo = os.stat(filename)
        new_size = statinfo.st_size

        st = Stats(
            filename,
            orig_size,
            round(end_time-start_time, 1),
            new_size,
            calc_effectiveness(orig_size, new_size)
        )

    return st
Beispiel #10
0
def test_diet_doesnt_change_files_without_pipeline(config_copy):
    filename = join(TEST_FILES_DIR, 'config.yaml')

    statinfo = os.stat(filename)

    changed = diet.diet(filename, config_copy)
    assert os.stat(filename) == statinfo
    assert not changed
Beispiel #11
0
def test_diet_doesnt_change_files_without_pipeline(config_copy):
    filename = join(TEST_FILES_DIR, 'config.yaml')

    statinfo = os.stat(filename)

    changed = diet.diet(filename, config_copy)
    assert os.stat(filename) == statinfo
    assert not changed
Beispiel #12
0
def test_diet_uses_default_configuration_values():
    filename = join(TEST_FILES_DIR, 'nature.png')
    backup = diet.backup_file(filename, 'back')

    pipeline_config = {'pipelines': {'png': 'optipng'}, 'parsed': True}

    changed = diet.diet(backup, pipeline_config)
    assert changed

    os.remove(backup)
Beispiel #13
0
def test_diet_keeps_smaller_file_by_default(config_copy):
    add_fake_pipeline_to_config(BALLOON_CMD, config_copy)
    orig_filename = join(TEST_FILES_DIR, 'config.yaml')
    diet.backup_file(orig_filename, 'test')
    filename = ".".join([orig_filename, "test"])

    old_size = os.stat(filename).st_size

    changed = diet.diet(filename, config_copy)
    assert os.stat(filename).st_size == old_size
    assert changed

    os.remove(filename)
Beispiel #14
0
def test_diet_keeps_smaller_file_by_default(config_copy):
    add_fake_pipeline_to_config(BALLOON_CMD, config_copy)
    orig_filename = join(TEST_FILES_DIR, 'config.yaml')
    diet.backup_file(orig_filename, 'test')
    filename = ".".join([orig_filename, "test"])

    old_size = os.stat(filename).st_size

    changed = diet.diet(filename, config_copy)
    assert os.stat(filename).st_size == old_size
    assert changed

    os.remove(filename)
Beispiel #15
0
def test_diet_uses_default_configuration_values():
    filename = join(TEST_FILES_DIR, 'nature.png')
    backup = diet.backup_file(filename, 'back')

    pipeline_config = {
        'pipelines': {
            'png': 'optipng'
        },
        'parsed': True
    }

    changed = diet.diet(backup, pipeline_config)
    assert changed

    os.remove(backup)
Beispiel #16
0
def test_diet_works_with_already_parsed_configuration(config_copy):
    add_fake_pipeline_to_config(BALLOON_CMD, config_copy)
    config = diet.parse_configuration(config_copy)

    assert config['parsed']

    orig_filename = join(TEST_FILES_DIR, 'config.yaml')
    diet.backup_file(orig_filename, 'test')
    filename = ".".join([orig_filename, "test"])

    old_size = os.stat(filename).st_size

    changed = diet.diet(filename, config)
    assert os.stat(filename).st_size == old_size
    assert changed

    os.remove(filename)
Beispiel #17
0
def test_diet_works_with_already_parsed_configuration(config_copy):
    add_fake_pipeline_to_config(BALLOON_CMD, config_copy)
    config = diet.parse_configuration(config_copy)

    assert config['parsed']

    orig_filename = join(TEST_FILES_DIR, 'config.yaml')
    diet.backup_file(orig_filename, 'test')
    filename = ".".join([orig_filename, "test"])

    old_size = os.stat(filename).st_size

    changed = diet.diet(filename, config)
    assert os.stat(filename).st_size == old_size
    assert changed

    os.remove(filename)
Beispiel #18
0
def diet(file, configuration, check):
    """Simple program that either print config customisations for your
    environment or compresses file FILE."""
    config = process.read_yaml_configuration(configuration)
    process.diet(file, config)
Beispiel #19
0
def test_diet_reads_default_configuration():
    filename = join(TEST_FILES_DIR, 'config.yaml')
    diet.diet(filename, {'parsed': True})
Beispiel #20
0
def test_diet_deletes_internal_backup_when_backup_is_disabled(config_copy):
    filename = join(TEST_FILES_DIR, 'config.yaml')
    backup_filename = ".".join([filename, 'diet_internal'])

    diet.diet(filename, config_copy)
    assert not exists(backup_filename)
Beispiel #21
0
def test_diet_reads_default_configuration():
    filename = join(TEST_FILES_DIR, 'config.yaml')
    diet.diet(filename, {'parsed': True})
Beispiel #22
0
def test_diet_deletes_internal_backup_when_backup_is_disabled(config_copy):
    filename = join(TEST_FILES_DIR, 'config.yaml')
    backup_filename = ".".join([filename, 'diet_internal'])

    diet.diet(filename, config_copy)
    assert not exists(backup_filename)
Beispiel #23
0
def diet(file, configuration, check):
    """Simple program that either print config customisations for your
    environment or compresses file FILE."""
    config = process.read_yaml_configuration(configuration)
    process.diet(file, config)