Mercurial > treepkg
diff test/test_status.py @ 12:f9f15ee39ed7
New Status class that handles several fields
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Fri, 09 Mar 2007 18:23:09 +0100 |
parents | |
children | b1235080e694 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/test_status.py Fri Mar 09 18:23:09 2007 +0100 @@ -0,0 +1,62 @@ +# Copyright (C) 2007 by Intevation GmbH +# Authors: +# Bernhard Herzog <bh@intevation.de> +# +# This program is free software under the GPL (>=v2) +# Read the file COPYING coming with the software for details. + +"""Tests for the Status class""" + +import os +import unittest +from datetime import datetime + +from treepkg.status import Status +from treepkg.util import ensure_directory, writefile + + + +class TestStatus(unittest.TestCase): + + def tempfilename(self): + tempdir = os.path.join(os.path.dirname(__file__), "temp") + ensure_directory(tempdir) + return os.path.join(tempdir, self.id()) + + def setUp(self): + self.filename = self.tempfilename() + if os.path.exists(self.filename): + os.remove(self.filename) + + def test_status(self): + status = Status(self.filename) + status.status = "testing" + + otherstatus = Status(self.filename) + self.assertEquals(otherstatus.status, "testing") + + def test_getting_unknown_fields(self): + status = Status(self.filename) + self.assertRaises(AttributeError, getattr, status, "unknown_field") + + def test_setting_unknown_fields(self): + status = Status(self.filename) + self.assertRaises(AttributeError, + setattr, status, "unknown_field", "some value") + + def test_default_value(self): + status = Status(self.filename) + self.assertEquals(status.start, None) + + def test_date(self): + timestamp = datetime(2007, 3, 9, 17, 32, 55) + status = Status(self.filename) + status.start = timestamp + + otherstatus = Status(self.filename) + self.assertEquals(otherstatus.start, timestamp) + + def test_magic(self): + writefile(self.filename, + "Some other magic\nstart: 2007-03-09 17:32:55\n") + self.assertRaises(ValueError, Status, self.filename)