Chromium Code Reviews| Index: tools/telemetry/telemetry/internal/util/binary_manager_unittest.py |
| diff --git a/tools/telemetry/telemetry/internal/util/binary_manager_unittest.py b/tools/telemetry/telemetry/internal/util/binary_manager_unittest.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..7d94c5af11028ad7f7ac89a3569bdd2809a5bc6f |
| --- /dev/null |
| +++ b/tools/telemetry/telemetry/internal/util/binary_manager_unittest.py |
| @@ -0,0 +1,75 @@ |
| +import os |
| +import unittest |
| + |
| +from telemetry.core import util |
| +from telemetry.internal.util import binary_manager |
| + |
| +util.AddDirToPythonPath(util.GetTelemetryDir(), 'third_party', 'mock') |
|
eakuefner
2015/08/10 19:57:23
Note: as crrev.com/1276173004 has landed, this is
aiolos (Not reviewing)
2015/08/10 20:37:27
Done.
|
| +import mock |
| + |
| +class BinaryManagerTest(unittest.TestCase): |
| + |
| + def testInitializationNoEnvironmentConfig(self): |
| + manager = mock.MagicMock() |
| + binary_manager.dependency_manager = manager.dependency_manager |
| + expected = [mock.call.dependency_manager.DependencyManager( |
| + [binary_manager.TELEMETRY_PROJECT_CONFIG])] |
| + binary_manager.InitDependencyManager(None) |
| + self.assertEqual(manager.mock_calls, expected) |
| + |
| + def testInitializationWithEnvironmentConfig(self): |
| + environment_config = os.path.join('some', 'config', 'path') |
| + manager = mock.MagicMock() |
| + binary_manager.dependency_manager = manager.dependency_manager |
| + expected = [mock.call.dependency_manager.DependencyManager( |
| + [binary_manager.TELEMETRY_PROJECT_CONFIG, environment_config])] |
| + binary_manager.InitDependencyManager(environment_config) |
| + self.assertEqual(manager.mock_calls, expected) |
| + |
| + def testReinitialization(self): |
| + manager = mock.MagicMock() |
| + binary_manager.dependency_manager = manager.dependency_manager |
| + binary_manager.InitDependencyManager(None) |
| + self.assertRaises(binary_manager.InitializationError, |
| + binary_manager.InitDependencyManager, None) |
| + |
| + def testFetchPathInitialized(self): |
| + manager = mock.MagicMock() |
| + binary_manager.dependency_manager = manager.dependency_manager |
| + binary_manager.support_binaries = manager.support_binaries |
| + expected = [mock.call.dependency_manager.DependencyManager( |
| + [binary_manager.TELEMETRY_PROJECT_CONFIG]), |
| + mock.call.support_binaries.FindPath('dep', 'plat', 'arch')] |
| + binary_manager.InitDependencyManager(None) |
| + binary_manager.FetchPath('dep', 'plat', 'arch') |
| + self.assertEqual(manager.mock_calls, expected) |
| + #TODO(aiolos): We should be switching over to using the dependency_manager |
| + #insead of the support binaries, and update the tests at that time. |
| + |
| + def testFetchPathUninitialized(self): |
| + manager = mock.MagicMock() |
| + binary_manager.dependency_manager = manager.dependency_manager |
| + binary_manager.support_binaries = manager.support_binaries |
| + self.assertRaises(binary_manager.InitializationError, |
| + binary_manager.FetchPath, 'dep', 'plat', 'arch') |
| + |
| + def testLocalPathInitialized(self): |
| + manager = mock.MagicMock() |
| + binary_manager.dependency_manager = manager.dependency_manager |
| + binary_manager.support_binaries = manager.support_binaries |
| + expected = [mock.call.dependency_manager.DependencyManager( |
| + [binary_manager.TELEMETRY_PROJECT_CONFIG]), |
| + mock.call.support_binaries.FindLocallyBuiltPath('dep')] |
| + binary_manager.InitDependencyManager(None) |
| + binary_manager.LocalPath('dep', 'plat', 'arch') |
| + self.assertEqual(manager.mock_calls, expected) |
| + #TODO(aiolos): We should be switching over to using the dependency_manager |
| + #insead of the support binaries, and update the tests at that time. |
| + |
| + def testLocalPathUninitialized(self): |
| + manager = mock.MagicMock() |
| + binary_manager.dependency_manager = manager.dependency_manager |
| + binary_manager.support_binaries = manager.support_binaries |
| + self.assertRaises(binary_manager.InitializationError, |
| + binary_manager.LocalPath, 'dep', 'plat', 'arch') |
| + |