OLD | NEW |
(Empty) | |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. |
| 4 |
| 5 import os |
| 6 import unittest |
| 7 |
| 8 from telemetry.core import exceptions |
| 9 from telemetry.internal.util import binary_manager |
| 10 from telemetry.third_party import mock |
| 11 |
| 12 |
| 13 class BinaryManagerTest(unittest.TestCase): |
| 14 def setUp(self): |
| 15 self._old_bin_manager = binary_manager._dependency_manager |
| 16 binary_manager._dependency_manager = None |
| 17 |
| 18 def tearDown(self): |
| 19 binary_manager._dependency_manager = self._old_bin_manager |
| 20 |
| 21 def testInitializationNoEnvironmentConfig(self): |
| 22 manager = mock.MagicMock() |
| 23 binary_manager.dependency_manager = manager.dependency_manager |
| 24 expected = [mock.call.dependency_manager.DependencyManager( |
| 25 [binary_manager.TELEMETRY_PROJECT_CONFIG])] |
| 26 binary_manager.InitDependencyManager(None) |
| 27 self.assertEqual(manager.mock_calls, expected) |
| 28 |
| 29 def testInitializationWithEnvironmentConfig(self): |
| 30 environment_config = os.path.join('some', 'config', 'path') |
| 31 manager = mock.MagicMock() |
| 32 binary_manager.dependency_manager = manager.dependency_manager |
| 33 expected = [mock.call.dependency_manager.DependencyManager( |
| 34 [binary_manager.TELEMETRY_PROJECT_CONFIG, environment_config])] |
| 35 binary_manager.InitDependencyManager(environment_config) |
| 36 self.assertEqual(manager.mock_calls, expected) |
| 37 |
| 38 def testReinitialization(self): |
| 39 manager = mock.MagicMock() |
| 40 binary_manager.dependency_manager = manager.dependency_manager |
| 41 binary_manager.InitDependencyManager(None) |
| 42 self.assertRaises(exceptions.InitializationError, |
| 43 binary_manager.InitDependencyManager, None) |
| 44 |
| 45 def testFetchPathInitialized(self): |
| 46 manager = mock.MagicMock() |
| 47 binary_manager.dependency_manager = manager.dependency_manager |
| 48 binary_manager.support_binaries = manager.support_binaries |
| 49 expected = [mock.call.dependency_manager.DependencyManager( |
| 50 [binary_manager.TELEMETRY_PROJECT_CONFIG]), |
| 51 mock.call.support_binaries.FindPath('dep', 'plat', 'arch')] |
| 52 binary_manager.InitDependencyManager(None) |
| 53 binary_manager.FetchPath('dep', 'plat', 'arch') |
| 54 self.assertEqual(manager.mock_calls, expected) |
| 55 #TODO(aiolos): We should be switching over to using the dependency_manager |
| 56 #insead of the support binaries, and update the tests at that time. |
| 57 |
| 58 def testFetchPathUninitialized(self): |
| 59 manager = mock.MagicMock() |
| 60 binary_manager.dependency_manager = manager.dependency_manager |
| 61 binary_manager.support_binaries = manager.support_binaries |
| 62 self.assertRaises(exceptions.InitializationError, |
| 63 binary_manager.FetchPath, 'dep', 'plat', 'arch') |
| 64 |
| 65 def testLocalPathInitialized(self): |
| 66 manager = mock.MagicMock() |
| 67 binary_manager.dependency_manager = manager.dependency_manager |
| 68 binary_manager.support_binaries = manager.support_binaries |
| 69 expected = [mock.call.dependency_manager.DependencyManager( |
| 70 [binary_manager.TELEMETRY_PROJECT_CONFIG]), |
| 71 mock.call.support_binaries.FindLocallyBuiltPath('dep')] |
| 72 binary_manager.InitDependencyManager(None) |
| 73 binary_manager.LocalPath('dep', 'plat', 'arch') |
| 74 self.assertEqual(manager.mock_calls, expected) |
| 75 #TODO(aiolos): We should be switching over to using the dependency_manager |
| 76 #insead of the support binaries, and update the tests at that time. |
| 77 |
| 78 def testLocalPathUninitialized(self): |
| 79 manager = mock.MagicMock() |
| 80 binary_manager.dependency_manager = manager.dependency_manager |
| 81 binary_manager.support_binaries = manager.support_binaries |
| 82 self.assertRaises(exceptions.InitializationError, |
| 83 binary_manager.LocalPath, 'dep', 'plat', 'arch') |
| 84 |
OLD | NEW |