From fd60517cb8ed3697b239a6550ae8e9361addbe76 Mon Sep 17 00:00:00 2001 From: Clint Byrum Date: Thu, 27 Mar 2014 16:55:00 -0700 Subject: [PATCH] Add basic unit tests There were none before this. Adding this test exposed a coding error in the main method (returned None instead of 0) Change-Id: Ibf6bf8276a96fceebd9f71773209452f786d0ef7 --- os_refresh_config/os_refresh_config.py | 1 + os_refresh_config/tests/__init__.py | 0 os_refresh_config/tests/test_main.py | 42 ++++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 os_refresh_config/tests/__init__.py create mode 100644 os_refresh_config/tests/test_main.py diff --git a/os_refresh_config/os_refresh_config.py b/os_refresh_config/os_refresh_config.py index c29bd60..642eae2 100755 --- a/os_refresh_config/os_refresh_config.py +++ b/os_refresh_config/os_refresh_config.py @@ -98,6 +98,7 @@ def main(argv=sys.argv): lock.truncate(0) lock.close() + return 0 if __name__ == '__main__': diff --git a/os_refresh_config/tests/__init__.py b/os_refresh_config/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/os_refresh_config/tests/test_main.py b/os_refresh_config/tests/test_main.py new file mode 100644 index 0000000..a4a4b09 --- /dev/null +++ b/os_refresh_config/tests/test_main.py @@ -0,0 +1,42 @@ +# Copyright 2014 Hewlett-Packard Development Company, L.P. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +import os + +import fixtures +import testtools + +from os_refresh_config import os_refresh_config + + +class TestMain(testtools.TestCase): + def setUp(self): + super(TestMain, self).setUp() + self.useFixture(fixtures.NestedTempfile()) + td = self.useFixture(fixtures.TempDir()) + self.useFixture( + fixtures.EnvironmentVariable( + "OS_REFRESH_CONFIG_BASE_DIR", + td.path)) + + def _run_main(self, args=[]): + self.lockdir = self.useFixture(fixtures.TempDir()) + self.lockfile = os.path.join(self.lockdir.path, 'lock') + return os_refresh_config.main(argv=['os-refresh-config', + '--lockfile', self.lockfile]) + + def test_main(self): + self.assertEqual(0, self._run_main()) + self.assertTrue(os.path.exists(self.lockfile)) + self.assertEqual(0, len(open(self.lockfile).read()))