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"}}')
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.