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') |
+ |