diff options
Diffstat (limited to 'tests/disabled_utils.py')
-rw-r--r-- | tests/disabled_utils.py | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/disabled_utils.py b/tests/disabled_utils.py new file mode 100644 index 0000000..4965c03 --- /dev/null +++ b/tests/disabled_utils.py @@ -0,0 +1,73 @@ +#!/usr/bin/python2 +# +# Copyright 2014 Rackspace Australia +# +# 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 fixtures +import logging +import os +import testtools + +from turbo_hipster.lib import utils + + +class TestExecuteToLog(testtools.TestCase): + def test_makes_dir(self): + tempdir = self.useFixture(fixtures.TempDir()).path + self.assertFalse(os.path.exists(os.path.join(tempdir, 'foo'))) + utils.execute_to_log('echo yay', + os.path.join(tempdir, 'foo', 'banana.log'), + watch_logs=[]) + self.assertTrue(os.path.exists(os.path.join(tempdir, 'foo'))) + + def test_logging_works(self): + # Setup python logging to do what we need + logging.basicConfig(format='%(asctime)s %(name)s %(message)s', + level=logging.DEBUG) + + tempdir = self.useFixture(fixtures.TempDir()).path + log_path = os.path.join(tempdir, 'banana.log') + + utils.execute_to_log('echo yay', log_path, watch_logs=[]) + self.assertTrue(os.path.exists(log_path)) + + with open(log_path) as f: + d = f.read() + print d + + self.assertNotEqual('', d) + self.assertEqual(4, len(d.split('\n'))) + self.assertNotEqual(-1, d.find('yay')) + self.assertNotEqual(-1, d.find('[script exit code = 0]')) + + def test_timeout(self): + # Setup python logging to do what we need + logging.basicConfig(format='%(asctime)s %(name)s %(message)s', + level=logging.DEBUG) + + tempdir = self.useFixture(fixtures.TempDir()).path + log_path = os.path.join(tempdir, 'banana.log') + + utils.execute_to_log('/bin/sleep 30', log_path, watch_logs=[], + timeout=0.1) + self.assertTrue(os.path.exists(log_path)) + + with open(log_path) as f: + d = f.read() + print d + + self.assertNotEqual('', d) + self.assertNotEqual(-1, d.find('[timeout]')) + self.assertNotEqual(-1, d.find('[script exit code = -9]')) |