Repository: libcloud Updated Branches: refs/heads/trunk 622e2597a -> 875d0e3bc
Add tests for libcloud initialization and debug mode. Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/875d0e3b Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/875d0e3b Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/875d0e3b Branch: refs/heads/trunk Commit: 875d0e3bcdc7bc1fae2e11e702f94315a1f4f8db Parents: 622e259 Author: Tomaz Muraus <[email protected]> Authored: Fri Nov 6 19:48:02 2015 +0100 Committer: Tomaz Muraus <[email protected]> Committed: Fri Nov 6 19:48:02 2015 +0100 ---------------------------------------------------------------------- libcloud/test/test_init.py | 61 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/875d0e3b/libcloud/test/test_init.py ---------------------------------------------------------------------- diff --git a/libcloud/test/test_init.py b/libcloud/test/test_init.py new file mode 100644 index 0000000..ad709d7 --- /dev/null +++ b/libcloud/test/test_init.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +# Licensed to the Apache Software Foundation (ASF) under one or more§ +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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 sys +import logging + +try: + import paramiko + have_paramiko = True +except ImportError: + have_paramiko = False + +from libcloud import _init_once +from libcloud.common.base import LoggingHTTPConnection +from libcloud.common.base import LoggingHTTPSConnection + +from libcloud.test import unittest + + +class TestUtils(unittest.TestCase): + def test_init_once_and_debug_mode(self): + # Debug mode is disabled + _init_once() + + self.assertEqual(LoggingHTTPConnection.log, None) + self.assertEqual(LoggingHTTPSConnection.log, None) + + if have_paramiko: + logger = paramiko.util.logging.getLogger() + paramiko_log_level = logger.getEffectiveLevel() + self.assertEqual(paramiko_log_level, logging.WARNING) + + # Enable debug mode + os.environ['LIBCLOUD_DEBUG'] = '/dev/null' + _init_once() + + self.assertTrue(LoggingHTTPConnection.log is not None) + self.assertTrue(LoggingHTTPSConnection.log is not None) + + if have_paramiko: + logger = paramiko.util.logging.getLogger() + paramiko_log_level = logger.getEffectiveLevel() + self.assertEqual(paramiko_log_level, logging.DEBUG) + + +if __name__ == '__main__': + sys.exit(unittest.main())
