Example #1
0
def test_diary_file_idempotence(mode):
    reset_tmp()
    if mode == 'ref':
        return None
    else:
        galerie.main('--idem . --dest tmp')
        return file_compare('index.md', 'tmp/index.md')
Example #2
0
def test_sourcedir_not_found(mode):
    # test image source not found
    try:
        galerie.main('--gallery tmp --source foobar')
        return False
    except SystemExit as exception:
        return exception.args[0] == galerie.errorcode('Directory not found')
Example #3
0
def test_idempotence_no_md_file(mode):
    reset_tmp()
    try:
        galerie.main('--idem tmp')
        return False
    except SystemExit as exception:
        return exception.args[0] == galerie.errorcode('File not found')
Example #4
0
def test_purge_thumb_1(mode):
    # test thumbnail purge below threshold
    reset_tmp()
    galerie.main('--gallery tmp --source . --bydate true --dates source')
    return generic_test(
        mode, True, 'test_purge_thumb_1',
        '--gallery tmp --source . --bydate true --dates 20000101-20000107')
Example #5
0
def generic_test(mode, keeptmp, refdir, *options):
    refdir = f'reference/{refdir}'
    if not keeptmp:
        if os.path.isdir('tmp'):
            shutil.rmtree('tmp')
        os.makedirs('tmp')

    for option in options:
        galerie.main(option)

    thumbdir = '.thumbnails' if os.path.isdir(
        'tmp/.thumbnails') else 'thumbnails'
    with open('tmp/files.txt', 'wt') as f:
        for fn in sorted(glob.glob('tmp/*.htm*')):
            print(os.path.basename(fn), file=f)
        for fn in sorted(glob.glob(f'tmp/{thumbdir}/*.jpg')):
            print(os.path.basename(fn), file=f)
        for fn in sorted(glob.glob(f'tmp/{thumbdir}/*.info')):
            print(os.path.basename(fn), file=f)

    if mode == 'ref':
        if os.path.isdir(refdir):
            shutil.rmtree(refdir)
        os.makedirs(refdir)
        shutil.copy('tmp/files.txt', refdir)
        for fn in glob.glob('tmp/*.htm*'):
            shutil.copy(fn, refdir)
    else:
        for fn in glob.glob(os.path.join(refdir, '*.*')):
            if file_compare(fn, os.path.join('tmp',
                                             os.path.basename(fn))) is False:
                return False
        else:
            return True
Example #6
0
def test_07_gallery(mode):
    # test diary file not found
    reset_tmp()
    try:
        galerie.main('--gallery tmp --diary true')
        return False
    except SystemExit as exception:
        return exception.args[0] == galerie.errorcode('File not found')
Example #7
0
def test_update_incorrect_parameter(mode):
    # test --update with incorrect parameter
    reset_tmp()
    try:
        galerie.main('--update tmp --bydir true')
        return False
    except SystemExit as exception:
        return exception.args[0] == galerie.errorcode('Incorrect parameters:')
Example #8
0
def test_16_gallery(mode):
    # test --update
    reset_tmp()
    galerie.main('--gallery tmp --source . --bydir true --bydate true')
    os.rename('OCT_20000101_000000.jpg', 'TOC_20000101_000000.jpg')
    try:
        return generic_test(mode, True, 'test_16_gallery', '--update tmp')
    finally:
        os.rename('TOC_20000101_000000.jpg', 'OCT_20000101_000000.jpg')
Example #9
0
def test_create(mode):
    # test diary file creation
    reset_tmp()
    galerie.main('--create tmp --source . ')
    if mode == 'ref':
        return shutil.copyfile('tmp/index.md',
                               'reference/index-create-base.md')
    else:
        return file_compare('reference/index-create-base.md', 'tmp/index.md')
Example #10
0
def test_create_date(mode):
    # test diary file creation with date range
    reset_tmp()
    galerie.main('--create tmp --source . --dates 20000101-20000110')
    if mode == 'ref':
        return shutil.copyfile('tmp/index.md',
                               'reference/index-create-dates.md')
    else:
        return file_compare('reference/index-create-dates.md', 'tmp/index.md')
Example #11
0
def test_purge_html(mode):
    # test html purge (accept thumb purge and html purge above thresholds)
    reset_tmp()
    galerie.main('--gallery tmp --source . --bydir true')
    try:
        stdin = sys.stdin
        sys.stdin = io.StringIO('x\ny\ny')
        return generic_test(mode, True, 'test_purge_html',
                            '--gallery tmp --source . --bydir false')
    finally:
        sys.stdin = stdin
Example #12
0
def test_purge_thumb_3(mode):
    # test thumbnail purge above threshold and deny removing
    reset_tmp()
    galerie.main('--gallery tmp --source . --bydate true --dates source')
    try:
        stdin = sys.stdin
        sys.stdin = io.StringIO('x\nx\nn')
        return generic_test(
            mode, True, 'test_purge_thumb_3',
            '--gallery tmp --source . --bydate true --dates 20000101-20000102')
    finally:
        sys.stdin = stdin
Example #13
0
def test_15_gallery(mode):
    if mode == 'ref':
        return None
    else:
        populate_tmp()
        galerie.createconfig('tmp/.config.ini')
        galerie.setconfig('tmp/.config.ini', 'photobox', 'time', 'abc')
        try:
            galerie.main('--gallery tmp --source subdir/deeper1 --bydir true')
            return False
        except SystemExit as exception:
            return exception.args[0] == galerie.errorcode(
                'Missing or incorrect config value:')
Example #14
0
def test_blogger(mode):
    reset_tmp()
    if mode == 'ref':
        galerie.main(
            '--blogger . --url blogger-medias.htm --check --dest reference/blogger-output.htm'
        )
        return None
    else:
        galerie.main(
            '--blogger . --url blogger-medias.htm --check --dest tmp/blogger-output.htm'
        )
        return file_compare('reference/blogger-output.htm',
                            'tmp/blogger-output.htm')
Example #15
0
def test_diary_date_missing(mode):
    # test for date missing in diary
    reset_tmp()
    diary = '''\

______
    '''
    with open('tmp/index.md', 'wt') as f:
        f.write(diary)

    try:
        galerie.main('--gallery tmp --diary true')
        return False
    except SystemExit as exception:
        return exception.args[0] == galerie.errorcode('No date in post')
Example #16
0
def test_diary_date_incorrect(mode):
    # test for incorrect date in diary
    reset_tmp()
    diary = '''\
[2020/02/30]
______
    '''
    with open('tmp/index.md', 'wt') as f:
        f.write(diary)

    try:
        galerie.main('--gallery tmp --diary true')
        return False
    except SystemExit as exception:
        return exception.args[0] == galerie.errorcode('Incorrect date value:')
Example #17
0
def test_diary_dates_not_ordered(mode):
    # test for post not ordered by dates in diary
    reset_tmp()
    diary = '''\
[2020/01/02]
______
[2020/01/01]
______
    '''
    with open('tmp/index.md', 'wt') as f:
        f.write(diary)

    try:
        galerie.main('--gallery tmp --diary true')
        return False
    except SystemExit as exception:
        return exception.args[0] == galerie.errorcode('Posts are not ordered')
Example #18
0
def test_blogger_url_not_read(mode):
    try:
        galerie.main('--blogger . --url foobar')
        return False
    except SystemExit as exception:
        return exception.args[0] == galerie.errorcode('Unable to read url')
Example #19
0
def test_blogger_url_not_given(mode):
    try:
        galerie.main('--blogger .')
        return False
    except SystemExit as exception:
        return exception.args[0] == galerie.errorcode('No blogger url (--url)')
Example #20
0
def test_dates_3(mode):
    try:
        galerie.main('--create tmp --dates diary')
        return False
    except SystemExit as exception:
        return exception.args[0] == galerie.errorcode('Incorrect date format')
Example #21
0
def test_dates_2(mode):
    try:
        galerie.main('--gallery tmp --source . --dates foobar')
        return False
    except SystemExit as exception:
        return exception.args[0] == galerie.errorcode('Incorrect date format')