from wizard.deploy import * from distutils.version import LooseVersion as Version from datetime import datetime from dateutil.tz import tzoffset import os.path def getTestFile(file): return os.path.realpath(os.path.join(__file__, "..", file)) def test_deployment_parse(): result = Deployment.parse("/afs/athena.mit.edu/user/e/z/ezyang/web_scripts/test-wiki:/afs/athena.mit.edu/contrib/scripts/deploy/mediawiki-1.11.0\n") assert result.location == "/afs/athena.mit.edu/user/e/z/ezyang/web_scripts/test-wiki" assert result.getVersion() == Version("1.11.0") assert result.getApplication().name == "mediawiki" def test_deployment_parse_nosuchapplication(): try: Deployment.parse("a:/foo/obviouslybogus-1.11.0\n") assert False except NoSuchApplication: pass def test_deployment_from_dir(): pass # XXX def test_deploy_log_load(): # this also is test_deploy_source_parse() and test_application_version_parse() log = DeployLog.load(getTestFile("deploy-log")) assert log[0].datetime == datetime(2006, 3, 23, 10, 7, 40, tzinfo=tzoffset(None, -5 * 60 * 60)) assert log[0].user == "unknown" assert isinstance(log[0].source, TarballInstall) assert log[0].source.location == "/afs/athena.mit.edu/contrib/scripts/deploy/mediawiki.tar.gz" assert log[0].source.isDev == False assert log[0].version == applications["mediawiki"].getVersion('1.5.6') assert log[1].datetime == datetime(2007, 10, 17, 3, 38, 2, tzinfo=tzoffset(None, -4 * 60 * 60)) assert log[1].user == "quentin@QUICHE-LORRAINE.MIT.EDU" assert isinstance(log[1].source, OldUpdate) assert log[1].source.isDev == True assert log[1].version == applications["mediawiki"].getVersion('1.5.6') assert log[2].datetime == datetime(2009, 6, 13, 21, 33, 0, tzinfo=tzoffset(None, -4 * 60 * 60)) assert log[2].user == "ezyang@mit.edu" assert isinstance(log[2].source, WizardUpdate) assert log[2].version == applications["mediawiki"].getVersion('1.14.0-scripts')