diff options
author | Max R <mxr@users.noreply.github.com> | 2021-10-17 22:13:11 -0400 |
---|---|---|
committer | Max R <mxr@users.noreply.github.com> | 2021-10-17 22:13:11 -0400 |
commit | dd6d61c9a6b1001b1ffa5c6c3bc04fbfc35d6e03 (patch) | |
tree | 5723bb1cf56ccb9c8b4e06cdd97f647a65dc8a5c | |
parent | d58af9f6aeb454e998ad87926c75ef85618bae5d (diff) | |
download | flake8-dd6d61c9a6b1001b1ffa5c6c3bc04fbfc35d6e03.tar.gz |
Fix tests
-rw-r--r-- | tests/unit/test_plugin_type_manager.py | 69 |
1 files changed, 18 insertions, 51 deletions
diff --git a/tests/unit/test_plugin_type_manager.py b/tests/unit/test_plugin_type_manager.py index 1b823af..ed4fa8c 100644 --- a/tests/unit/test_plugin_type_manager.py +++ b/tests/unit/test_plugin_type_manager.py @@ -24,13 +24,15 @@ def create_mapping_manager_mock(plugins): """Create a mock for the PluginManager.""" # Have a function that will actually call the method underneath def fake_map(func): - for plugin in plugins: + for plugin in plugins.values(): yield func(plugin) # Mock out the PluginManager instance manager_mock = mock.Mock(spec=["map"]) # Replace the map method manager_mock.map = fake_map + # Store the plugins + manager_mock.plugins = plugins return manager_mock @@ -83,24 +85,15 @@ def test_generate_call_function(): def test_load_plugins(PluginManager): # noqa: N803 """Verify load plugins loads *every* plugin.""" # Create a bunch of fake plugins - plugins = [ - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - ] + plugins = {"T10%i" % i: create_plugin_mock() for i in range(8)} # Return our PluginManager mock - PluginManager.return_value = create_mapping_manager_mock(plugins) + PluginManager.return_value.plugins = plugins type_mgr = FakeTestType() - # Load the tests (do what we're actually testing) - assert len(type_mgr.load_plugins()) == 8 + # Load the plugins (do what we're actually testing) + type_mgr.load_plugins() # Assert that our closure does what we think it does - for plugin in plugins: + for plugin in plugins.values(): plugin.load_plugin.assert_called_once_with() assert type_mgr.plugins_loaded is True @@ -108,18 +101,10 @@ def test_load_plugins(PluginManager): # noqa: N803 @mock.patch("flake8.plugins.manager.PluginManager") def test_load_plugins_fails(PluginManager): # noqa: N803 """Verify load plugins bubbles up exceptions.""" - plugins = [ - create_plugin_mock(), - create_plugin_mock(True), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - ] + plugins_list = [create_plugin_mock(i == 1) for i in range(8)] + plugins = {"T10%i" % i: plugin for i, plugin in enumerate(plugins_list)} # Return our PluginManager mock - PluginManager.return_value = create_mapping_manager_mock(plugins) + PluginManager.return_value.plugins = plugins type_mgr = FakeTestType() with pytest.raises(exceptions.FailedToLoadPlugin): @@ -128,26 +113,17 @@ def test_load_plugins_fails(PluginManager): # noqa: N803 # Assert we didn't finish loading plugins assert type_mgr.plugins_loaded is False # Assert the first two plugins had their load_plugin method called - plugins[0].load_plugin.assert_called_once_with() - plugins[1].load_plugin.assert_called_once_with() + plugins_list[0].load_plugin.assert_called_once_with() + plugins_list[1].load_plugin.assert_called_once_with() # Assert the rest of the plugins were not loaded - for plugin in plugins[2:]: + for plugin in plugins_list[2:]: assert plugin.load_plugin.called is False @mock.patch("flake8.plugins.manager.PluginManager") def test_register_options(PluginManager): # noqa: N803 """Test that we map over every plugin to register options.""" - plugins = [ - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - ] + plugins = {"T10%i" % i: create_plugin_mock() for i in range(8)} # Return our PluginManager mock PluginManager.return_value = create_mapping_manager_mock(plugins) optmanager = object() @@ -155,23 +131,14 @@ def test_register_options(PluginManager): # noqa: N803 type_mgr = FakeTestType() type_mgr.register_options(optmanager) - for plugin in plugins: + for plugin in plugins.values(): plugin.register_options.assert_called_with(optmanager) @mock.patch("flake8.plugins.manager.PluginManager") def test_provide_options(PluginManager): # noqa: N803 """Test that we map over every plugin to provide parsed options.""" - plugins = [ - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - create_plugin_mock(), - ] + plugins = {"T10%i" % i: create_plugin_mock() for i in range(8)} # Return our PluginManager mock PluginManager.return_value = create_mapping_manager_mock(plugins) optmanager = object() @@ -180,7 +147,7 @@ def test_provide_options(PluginManager): # noqa: N803 type_mgr = FakeTestType() type_mgr.provide_options(optmanager, options, []) - for plugin in plugins: + for plugin in plugins.values(): plugin.provide_options.assert_called_with(optmanager, options, []) |