1. Henrik Stuart
  2. repoman

Source

repoman / tests / output / version.py

import os
import os.path
import repoman
import mercurial.util
from tests.pytest import run, Quiet

def jsontest(desc, content):
    fn = 'parsetest%s.json' % desc
    try:
        with open(fn, 'w') as f:
            f.write(content)
        run('--config "repo-ui.version_url=%s" version --check' % fn)
    finally:
        if os.path.exists(fn): os.remove(fn)

mercurial.util.version = lambda: '1.5.1 test'
repoman.util.version = lambda: '1.2 test'
repoman.commands.thgversion = lambda: '1.0.1 test'

versioninfo = '''{
"products":
    {"repoman":"1.2 test"},
"download_url": "http://repo.edlund.dk/install/RepoMan-1.2.exe",
"message": "some message"
}'''

run('version')
vfn = 'version.json'
try:
    with open(vfn, 'w') as f:
        f.write(versioninfo)
    run('--config "repo-ui.version_url=%s" version --check' % vfn)
    repoman.util.version = lambda: '1.0'
    run('--config "repo-ui.version_url=%s" version --check' % vfn)
finally:
    if os.path.exists(vfn): os.remove(vfn)

print '\nFailures'
run('version --check')
jsontest('empty', '{}')
jsontest('nodownload', '{"products": {"repoman":"1.2 test"}}')