def test_returns_expected_for_full_group_name(self): plugins = yaki.init("mypackage") group = plugins.group("mypackage.bitsnbobs") assert isinstance(group, yaki.PluginGroup) assert group.name == "mypackage.bitsnbobs" assert group.dist == plugins.dist
def test_returns_expected_for_valid_package(self, mockgetdist): mockdist = mock.MagicMock() mockdist.project_name = "mypackage" mockdist.version = "1.2.3" mockgetdist.return_value = mockdist plugins = yaki.init("mypackage") assert isinstance(plugins, yaki.Plugins) assert plugins.name == "mypackage" assert plugins.version == "1.2.3"
def test_returns_expected_for_valid_package(self, mockgetdist): entries = { "console_scripts": {}, "mypackage.readers": {}, "mypackage.image.formats": {}, } mockdist = mock.MagicMock() mockdist.project_name = "mypackage" mockdist.get_entry_map.return_value = entries mockgetdist.return_value = mockdist plugins = yaki.init("mypackage") assert plugins.groups == list(entries.keys())[1:]
def test_returns_none_for_invalid_group(self): plugins = yaki.init("mypackage") group = plugins.group("nonsense") assert group is None
def test_raises_value_error_for_invalid_package_name(self, path): with pytest.raises(ValueError): yaki.init(path)
def test_raises_value_error_for_invalid_package(self, mockgetdist): mockgetdist.side_effect = pkg_resources.DistributionNotFound with pytest.raises(ValueError): yaki.init("nonsense")
def test_gets_package_distribution(self, mockgetdist): yaki.init("foo") mockgetdist.assert_called_once_with("foo")