예제 #1
0
    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)
예제 #2
0
    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
예제 #3
0
 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
예제 #4
0
 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
예제 #5
0
 def test_from_str_invalid(self, value):
     """Test if error is properly raised for invalid input"""
     with pytest.raises(ValueError):
         ReleaseVersion.from_str(value)
예제 #6
0
 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