1 from wizard.deploy import *
2 from distutils.version import LooseVersion as Version
3 from datetime import datetime
4 from dateutil.tz import tzoffset
8 return os.path.realpath(os.path.join(__file__, "..", file))
10 def test_deployment_parse():
11 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")
12 assert result.location == "/afs/athena.mit.edu/user/e/z/ezyang/web_scripts/test-wiki"
13 assert result.getVersion() == Version("1.11.0")
14 assert result.getApplication().name == "mediawiki"
16 def test_deployment_parse_parseerror():
18 Deployment.parse("foo")
20 except DeploymentParseError:
23 def test_deployment_parse_nosuchapplication():
25 Deployment.parse("a:/foo/obviouslybogus-1.11.0\n")
27 except NoSuchApplication:
30 def test_deployment_from_dir():
33 def test_deploy_log_load():
34 # this also is test_deploy_source_parse() and test_application_version_parse()
35 log = DeployLog.load(getTestFile("deploy-log"))
37 assert log[0].datetime == datetime(2006, 3, 23, 10, 7, 40, tzinfo=tzoffset(None, -5 * 60 * 60))
38 assert log[0].user == "unknown"
39 assert isinstance(log[0].source, TarballInstall)
40 assert log[0].source.location == "/afs/athena.mit.edu/contrib/scripts/deploy/mediawiki.tar.gz"
41 assert log[0].source.isDev == False
42 assert log[0].version == applications["mediawiki"].getVersion('1.5.6')
44 assert log[1].datetime == datetime(2007, 10, 17, 3, 38, 2, tzinfo=tzoffset(None, -4 * 60 * 60))
45 assert log[1].user == "quentin@QUICHE-LORRAINE.MIT.EDU"
46 assert isinstance(log[1].source, OldUpdate)
47 assert log[1].source.isDev == True
48 assert log[1].version == applications["mediawiki"].getVersion('1.5.6')
50 assert log[2].datetime == datetime(2009, 6, 13, 21, 33, 0, tzinfo=tzoffset(None, -4 * 60 * 60))
51 assert log[2].user == "ezyang@mit.edu"
52 assert isinstance(log[2].source, WizardUpdate)
53 assert log[2].version == applications["mediawiki"].getVersion('1.14.0-scripts')