def test_not_equal(self): v1 = VersionInfo(pip_version='pipver', pip_url='pipurl', pip_requirement='preq', pkg_resources_version='prver', pkg_resources_url='prurl', git_tag='tag', git_commit='commit', git_remotes={'origin': 'ourl'}, git_is_dirty=True) v2 = VersionInfo(pip_version='pipver', pip_url='pipurl', pip_requirement='preq', pkg_resources_version='prver', pkg_resources_url='prurl', git_tag='tag', git_commit='commit', git_remotes={'origin': 'ourl'}, git_is_dirty=False) v3 = VersionInfo(pip_version='pipver', pip_url='pipurl', pip_requirement='preq', pkg_resources_version='prver', pkg_resources_url='prurl', git_tag='tag', git_commit='commit', git_remotes={'origin': 'ourl2'}, git_is_dirty=True) assert v1 != v2 assert v1 != v3
def test_no_git_no_pip(self): def se_exception(): raise Exception("some exception") with patch.multiple( pb, autospec=True, _find_git_info=DEFAULT, _find_pip_info=DEFAULT, _find_pkg_info=DEFAULT, ) as mocks: mocks['_find_git_info'].return_value = { 'remotes': {}, 'tag': None, 'commit': None, 'dirty': None, } mocks['_find_pip_info'].side_effect = se_exception mocks['_find_pkg_info'].return_value = { 'version': '1.2.3', 'url': 'http://my.package.url/pkg_resources' } with patch('%s._git_repo_path' % pb, new_callable=PropertyMock) as mock_is_git: mock_is_git.return_value = None res = self.cls.find_package_version() assert res.as_dict == VersionInfo( pkg_resources_version='1.2.3', pkg_resources_url='http://my.package.url/pkg_resources', ).as_dict assert mocks['_find_git_info'].mock_calls == [] assert mocks['_find_pip_info'].mock_calls == [call(self.cls)] assert mocks['_find_pkg_info'].mock_calls == [call(self.cls)] assert mock_is_git.mock_calls == [call()]
def test__get_version_info_long_commit(self): with patch('awslimitchecker.version.find_version') as mock_ver: mock_ver.return_value = VersionInfo(pip_url=version._PROJECT_URL, pip_version=version._VERSION, git_commit='12345678abcdef') v = version._get_version_info() assert v.release == version._VERSION assert v.url == version._PROJECT_URL assert v.commit == '12345678' assert mock_ver.mock_calls == [call('awslimitchecker')]
def test__get_version_info(self): with patch('awslimitchecker.version.find_version') as mock_ver: mock_ver.return_value = VersionInfo(pip_url=version._PROJECT_URL, pip_version=version._VERSION, git_tag='foobar') v = version._get_version_info() assert v.release == version._VERSION assert v.url == version._PROJECT_URL assert v.tag == 'foobar' assert mock_ver.mock_calls == [call('awslimitchecker')]
def setup_method(self, _): self.cls = VersionInfo(pip_version='pipver', pip_url='pipurl', pip_requirement='preq', pkg_resources_version='prver', pkg_resources_url='prurl', git_tag='tag', git_commit='commit', git_remotes={'origin': 'ourl'}, git_is_dirty=True)
def test_init_empty(self): v = VersionInfo() assert v._pip_version is None assert v._pip_url is None assert v._pip_requirement is None assert v._pkg_resources_version is None assert v._pkg_resources_url is None assert v._git_tag is None assert v._git_commit is None assert v._git_remotes is None assert v._git_is_dirty is None
def test_repr(self): v = VersionInfo(pip_version='pipver', pip_url='pipurl', pip_requirement='preq', pkg_resources_version='prver', pkg_resources_url='prurl', git_tag='tag', git_commit='commit', git_remotes={'origin': 'ourl'}, git_is_dirty=True) s = 'VersionInfo(' s += 'git_commit=commit, ' s += 'git_is_dirty=True, ' s += "git_remotes={'origin': 'ourl'}, " s += 'git_tag=tag, ' s += 'pip_requirement=preq, ' s += 'pip_url=pipurl, ' s += 'pip_version=pipver, ' s += 'pkg_resources_url=prurl, ' s += 'pkg_resources_version=prver' s += ')' assert v.__repr__() == s
def test_dict(self): d = { 'pip_version': 'pipver', 'pip_url': 'pipurl', 'pip_requirement': 'preq', 'pkg_resources_version': 'prver', 'pkg_resources_url': 'prurl', 'git_tag': 'tag', 'git_commit': 'commit', 'git_remotes': { 'origin': 'ourl' }, 'git_is_dirty': True } v = VersionInfo(**d) assert v.as_dict == d
def test_git_tag(self): with patch.multiple( pb, autospec=True, _find_git_info=DEFAULT, _find_pip_info=DEFAULT, _find_pkg_info=DEFAULT, ) as mocks: mocks['_find_git_info'].return_value = { 'remotes': { 'origin': 'git+https://foo' }, 'tag': 'mytag', 'commit': '12345678', 'dirty': False, 'foo': None } mocks['_find_pip_info'].return_value = { 'version': '1.2.3', 'url': 'http://my.package.url/pip' } mocks['_find_pkg_info'].return_value = { 'version': '1.2.3', 'url': 'http://my.package.url/pkg_resources' } with patch('%s._git_repo_path' % pb, new_callable=PropertyMock) as mock_is_git: mock_is_git.return_value = '/git/repo/.git' res = self.cls.find_package_version() assert res.as_dict == VersionInfo( pip_version='1.2.3', pip_url='http://my.package.url/pip', pkg_resources_version='1.2.3', pkg_resources_url='http://my.package.url/pkg_resources', git_commit='12345678', git_is_dirty=False, git_tag='mytag', git_remotes={ 'origin': 'git+https://foo' }).as_dict assert mocks['_find_git_info'].mock_calls == [ call(self.cls, '/git/repo/.git') ] assert mocks['_find_pip_info'].mock_calls == [call(self.cls)] assert mocks['_find_pkg_info'].mock_calls == [call(self.cls)] assert mock_is_git.mock_calls == [call()]
def test_init_all(self): v = VersionInfo(pip_version='pipver', pip_url='pipurl', pip_requirement='preq', pkg_resources_version='prver', pkg_resources_url='prurl', git_tag='tag', git_commit='commit', git_remotes={'origin': 'ourl'}, git_is_dirty=True) assert v._pip_version == 'pipver' assert v._pip_url == 'pipurl' assert v._pip_requirement == 'preq' assert v._pkg_resources_version == 'prver' assert v._pkg_resources_url == 'prurl' assert v._git_tag == 'tag' assert v._git_commit == 'commit' assert v._git_remotes == {'origin': 'ourl'} assert v._git_is_dirty is True