summaryrefslogtreecommitdiff
path: root/obnam/configTests.py
diff options
context:
space:
mode:
Diffstat (limited to 'obnam/configTests.py')
-rw-r--r--obnam/configTests.py301
1 files changed, 0 insertions, 301 deletions
diff --git a/obnam/configTests.py b/obnam/configTests.py
deleted file mode 100644
index 567b902a..00000000
--- a/obnam/configTests.py
+++ /dev/null
@@ -1,301 +0,0 @@
-# Copyright (C) 2006 Lars Wirzenius <liw@iki.fi>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-
-"""Unit tests for obnam.config."""
-
-
-import os
-import shutil
-import StringIO
-import unittest
-
-
-import obnam
-
-
-class CommandLineParsingTests(unittest.TestCase):
-
- def setUp(self):
- obnam.config.set_default_paths([])
-
- def tearDown(self):
- obnam.config.set_default_paths(None)
-
- def config_as_string(self, config):
- f = StringIO.StringIO()
- config.write(f)
- return f.getvalue()
-
- def testDefaultConfig(self):
- config = obnam.config.default_config()
- self.failUnless(config.has_section("backup"))
- needed = ["block-size", "cache", "store", "target-dir",
- "host-id", "object-cache-size", "log-level", "ssh-key",
- "odirect-read", "log-file", "gpg-home", "gpg-encrypt-to",
- "gpg-sign-with", "no-gpg", "exclude", "odirect-pipe",
- "report-progress", "generation-times"]
- needed.sort()
- actual = config.options("backup")
- actual.sort()
- self.failUnlessEqual(actual, needed)
-
- def testEmpty(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, [])
- self.failUnlessEqual(self.config_as_string(config),
- self.config_as_string(obnam.config.default_config()))
-
- def testHostId(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--host-id=pink"])
- self.failUnlessEqual(config.get("backup", "host-id"), "pink")
-
- def testBlockSize(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--block-size=12765"])
- self.failUnlessEqual(config.getint("backup", "block-size"), 12765)
- obnam.config.parse_options(config, ["--block-size=42"])
- self.failUnlessEqual(config.getint("backup", "block-size"), 42)
-
- def testCacheDir(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--cache=/tmp/foo"])
- self.failUnlessEqual(config.get("backup", "cache"), "/tmp/foo")
-
- def testLocalStore(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--store=/tmp/foo"])
- self.failUnlessEqual(config.get("backup", "store"), "/tmp/foo")
-
- def testTargetDir(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--target=/tmp/foo"])
- self.failUnlessEqual(config.get("backup", "target-dir"), "/tmp/foo")
-
- def testObjectCacheSize(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--object-cache-size=42"])
- self.failUnlessEqual(config.get("backup", "object-cache-size"), "42")
-
- def testOdirectRead(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--odirect-read=x"])
- self.failUnlessEqual(config.get("backup", "odirect-read"), "x")
-
- def testOdirectPipe(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--odirect-pipe=x"])
- self.failUnlessEqual(config.get("backup", "odirect-pipe"), "x")
-
- def testLogFile(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--log-file=x"])
- self.failUnlessEqual(config.get("backup", "log-file"), "x")
-
- def testLogLevel(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--log-level=info"])
- self.failUnlessEqual(config.get("backup", "log-level"), "info")
-
- def testSshKey(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--ssh-key=foo"])
- self.failUnlessEqual(config.get("backup", "ssh-key"), "foo")
-
- def testGpgHome(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--gpg-home=foo"])
- self.failUnlessEqual(config.get("backup", "gpg-home"), "foo")
-
- def testGpgEncryptTo(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--gpg-encrypt-to=foo"])
- self.failUnlessEqual(config.get("backup", "gpg-encrypt-to"), "foo")
-
- def testGpgSignWith(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--gpg-sign-with=foo"])
- self.failUnlessEqual(config.get("backup", "gpg-sign-with"), "foo")
-
- def testNoGpgIsUnset(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, [])
- self.failUnlessEqual(config.get("backup", "no-gpg"), "false")
-
- def testNoGpgIsUnsetButDefaultIsTrue(self):
- config = obnam.config.default_config()
- config.set("backup", "no-gpg", "true")
- obnam.config.parse_options(config, [])
- self.failUnlessEqual(config.get("backup", "no-gpg"), "true")
-
- def testNoGpgIsSet(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--no-gpg"])
- self.failUnlessEqual(config.get("backup", "no-gpg"), "true")
-
- def testGenerationTimes(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--generation-times"])
- self.failUnlessEqual(config.get("backup", "generation-times"), "true")
-
- def testExclude(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--exclude=foo"])
- self.failUnlessEqual(config.get("backup", "exclude"), "foo")
-
- def testReportProgress(self):
- config = obnam.config.default_config()
- self.failIf(config.getboolean("backup", "report-progress"))
- obnam.config.parse_options(config, ["--progress"])
- self.failUnless(config.getboolean("backup", "report-progress"))
-
- def testNoConfigs(self):
- parser = obnam.config.build_parser()
- options, args = parser.parse_args([])
- self.failUnlessEqual(options.no_configs, False)
- options, args = parser.parse_args(["--no-configs"])
- self.failUnlessEqual(options.no_configs, True)
-
- def testConfig(self):
- parser = obnam.config.build_parser()
- options, args = parser.parse_args([])
- self.failUnlessEqual(options.configs, None)
- options, args = parser.parse_args(["--config=pink"])
- self.failUnlessEqual(options.configs, ["pink"])
-
-
-class ConfigReadingOptionsTests(unittest.TestCase):
-
- names = ["tmp.1.conf", "tmp.2.conf", "tmp.3.conf"]
-
- def setUp(self):
- obnam.config.forget_config_file_log()
- for name in self.names:
- f = file(name, "w")
- f.write("[backup]\nblock-size = 1024\n")
- f.close()
- obnam.config.set_default_paths(self.names)
-
- def tearDown(self):
- obnam.config.set_default_paths(None)
- for name in self.names:
- if os.path.exists(name):
- os.remove(name)
-
- def testNoDefaults(self):
- obnam.config.set_default_paths([])
- config = obnam.config.default_config()
- obnam.config.parse_options(config, [])
- self.failUnlessEqual(obnam.config.get_config_file_log(), [])
-
- def testDefaults(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, [])
- self.failUnlessEqual(obnam.config.get_config_file_log(), self.names)
-
- def testNoConfigsOption(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--no-configs"])
- self.failUnlessEqual(obnam.config.get_config_file_log(), [])
-
- def testNoConfigsOptionPlusConfigOption(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--no-configs"] +
- ["--config=%s" % x for x in self.names])
- self.failUnlessEqual(obnam.config.get_config_file_log(), self.names)
-
- def testDefaultsPlusConfigOption(self):
- config = obnam.config.default_config()
- obnam.config.parse_options(config, ["--config=/dev/null"])
- self.failUnlessEqual(obnam.config.get_config_file_log(),
- self.names + ["/dev/null"])
-
-
-class ConfigFileReadingTests(unittest.TestCase):
-
- def setUp(self):
- self.filename = "unittest.conf"
- f = file(self.filename, "w")
- f.write("""\
-[backup]
-store = pink
-cache = pretty
-""")
- f.close()
-
- def tearDown(self):
- os.remove(self.filename)
-
- def testReadConfigFile(self):
- config = obnam.config.default_config()
- obnam.config.read_config_file(config, self.filename)
- self.failUnlessEqual(config.get("backup", "store"), "pink")
- self.failUnlessEqual(config.get("backup", "cache"), "pretty")
-
- def testDefaultConfigsForRoot(self):
- config = obnam.config.default_config()
- obnam.config.set_uid_and_home(0, "/root")
- configs = obnam.config.get_default_paths()
- self.failUnlessEqual(configs,
- ["/usr/share/obnam/obnam.conf",
- "/etc/obnam/obnam.conf"])
-
- def testDefaultConfigsForUser(self):
- config = obnam.config.default_config()
- obnam.config.set_uid_and_home(12765, "/home/pretty")
- configs = obnam.config.get_default_paths()
- self.failUnlessEqual(configs,
- ["/usr/share/obnam/obnam.conf",
- "/home/pretty/.obnam/obnam.conf"])
-
-
-class PrintOptionsTests(unittest.TestCase):
-
- def test(self):
- f = StringIO.StringIO()
- obnam.config.print_option_names(f=f)
- self.failIfEqual(f.getvalue(), "")
-
-
-class WriteDefaultConfigTests(unittest.TestCase):
-
- def test(self):
- config = obnam.config.default_config()
- f = StringIO.StringIO()
- obnam.config.write_defaultconfig(config, output=f)
- s = f.getvalue()
- self.failUnless(s.startswith("import socket"))
- self.failUnless("\nitems =" in s)
-
-
-class GetUidAndHomeTests(unittest.TestCase):
-
- def testGetUid(self):
- obnam.config.set_uid_and_home(None, None)
- self.failIfEqual(obnam.config.get_uid(), None)
-
- def testGetHome(self):
- obnam.config.set_uid_and_home(None, None)
- self.failIfEqual(obnam.config.get_home(), None)
-
- def testGetUidFaked(self):
- obnam.config.set_uid_and_home(42, "pretty")
- self.failUnlessEqual(obnam.config.get_uid(), 42)
-
- def testGetHomeFaked(self):
- obnam.config.set_uid_and_home(42, "pink")
- self.failUnlessEqual(obnam.config.get_home(), "pink")