def test_ordering(self): """Test if ordering works as expected""" min_version = ReleaseVersion.from_str("1.0.0") mid_version = ReleaseVersion.from_str("1.2.3") max_version = ReleaseVersion.from_str("2.0.0") versions = (max_version, min_version, mid_version) assert min_version == min_version assert min_version != max_version assert min_version != mid_version assert min_version < mid_version < max_version assert max_version > mid_version > min_version assert min_version == min(versions) assert max_version == max(versions)
def test_get_releases(self): """Test if only proper releases are used and returned""" org = "test_org" repo = "test_repo" qo = QuayOrganization(org, TOKEN) (flexmock(qo).should_receive('get_releases_raw').and_return( ["1.0.0", "1.0.1-random", "1.2.0"])) expected = [ReleaseVersion.from_str(v) for v in ["1.0.0", "1.2.0"]] assert qo.get_releases(repo) == expected
def test_ordering_other_types(self, value): """Test if a proper exception is raised when comparing to unsupported types""" version = ReleaseVersion.from_str("1.0.0") with pytest.raises(TypeError): assert version < value
def test_increment(self, from_version, expected): """Test if incrementation of version works as expected""" version = ReleaseVersion.from_str(from_version) version.increment() assert str(version) == expected
def test_from_str_invalid(self, value): """Test if error is properly raised for invalid input""" with pytest.raises(ValueError): ReleaseVersion.from_str(value)
def test_from_str(self, version, expected): """Test of creating ReleaseVersion object from string""" v = ReleaseVersion.from_str(version) assert isinstance(v, ReleaseVersion) assert v.version_tuple == expected