c983708637
Added Apache 2.0 License for missed files Change-Id: I72217d3cf0089434a9bbe1e5dfd57224a803704e Signed-off-by: Jui Chandwaskar <jchandwaskar@op5.com>
73 lines
2.4 KiB
Python
73 lines
2.4 KiB
Python
# 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 sys
|
|
import os
|
|
import logging
|
|
import unittest
|
|
|
|
from collector import modules
|
|
|
|
|
|
log = logging.getLogger('datadog.test')
|
|
|
|
default_target = 'DEFAULT'
|
|
specified_target = 'SPECIFIED'
|
|
has_been_mutated = False
|
|
|
|
|
|
class TestModuleLoad(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
sys.modules[__name__].has_been_mutated = True
|
|
if 'tests.target_module' in sys.modules:
|
|
del sys.modules['tests.target_module']
|
|
|
|
def tearDown(self):
|
|
sys.modules[__name__].has_been_mutated = False
|
|
|
|
def test_cached_module(self):
|
|
"""Modules already in the cache should be reused"""
|
|
self.assertTrue(modules.load('%s:has_been_mutated' % __name__))
|
|
|
|
def test_cache_population(self):
|
|
"""Python module cache should be populated"""
|
|
self.assertTrue('tests.target_module' not in sys.modules)
|
|
modules.load('tests.target_module')
|
|
self.assertTrue('tests.target_module' in sys.modules)
|
|
|
|
def test_modname_load_default(self):
|
|
"""When the specifier contains no module name, any provided default
|
|
should be used"""
|
|
self.assertEqual(
|
|
modules.load(
|
|
'tests.target_module',
|
|
'default_target'),
|
|
'DEFAULT'
|
|
)
|
|
|
|
def test_modname_load_specified(self):
|
|
"""When the specifier contains a module name, any provided default
|
|
should be overridden"""
|
|
self.assertEqual(
|
|
modules.load(
|
|
'tests.target_module:specified_target',
|
|
'default_target'),
|
|
'SPECIFIED'
|
|
)
|
|
|
|
def test_pathname_load_finds_package(self):
|
|
""""Loading modules by absolute path should correctly set the name of
|
|
the loaded module to include any package containing it."""
|
|
m = modules.load(os.getcwd() + '/tests/target_module.py')
|
|
self.assertEqual(m.__name__, 'tests.target_module')
|