Example #1
0
def test_version(fake_jira):
    v = Version.parse("1.2.5")
    assert str(v) == "1.2.5"
    assert v.major == 1
    assert v.minor == 2
    assert v.patch == 5
    assert v.released is False
    assert v.release_date is None

    v = Version.parse("1.0.0", released=True, release_date="2020-01-01")
    assert str(v) == "1.0.0"
    assert v.major == 1
    assert v.minor == 0
    assert v.patch == 0
    assert v.released is True
    assert v.release_date == "2020-01-01"
Example #2
0
 def project_versions(self, project='ARROW'):
     return [
         Version.parse("3.0.0", released=False),
         Version.parse("2.0.0", released=False),
         Version.parse("1.1.0", released=False),
         Version.parse("1.0.1", released=False),
         Version.parse("1.0.0", released=True),
         Version.parse("0.17.1", released=True),
         Version.parse("0.17.0", released=True),
         Version.parse("0.16.0", released=True),
         Version.parse("0.15.2", released=True),
         Version.parse("0.15.1", released=True),
         Version.parse("0.15.0", released=True),
     ]
Example #3
0
def test_previous_and_next_release(fake_jira):
    r = Release.from_jira("3.0.0", jira=fake_jira)
    assert isinstance(r.previous, MajorRelease)
    assert r.previous.version == Version.parse("2.0.0")
    with pytest.raises(ValueError, match="There is no upcoming release set"):
        assert r.next

    r = Release.from_jira("2.0.0", jira=fake_jira)
    assert isinstance(r.previous, MajorRelease)
    assert isinstance(r.next, MajorRelease)
    assert r.previous.version == Version.parse("1.0.0")
    assert r.next.version == Version.parse("3.0.0")

    r = Release.from_jira("1.1.0", jira=fake_jira)
    assert isinstance(r.previous, MajorRelease)
    assert isinstance(r.next, MajorRelease)
    assert r.previous.version == Version.parse("1.0.0")
    assert r.next.version == Version.parse("2.0.0")

    r = Release.from_jira("1.0.0", jira=fake_jira)
    assert isinstance(r.next, MajorRelease)
    assert isinstance(r.previous, MajorRelease)
    assert r.previous.version == Version.parse("0.17.0")
    assert r.next.version == Version.parse("2.0.0")

    r = Release.from_jira("0.17.0", jira=fake_jira)
    assert isinstance(r.previous, MajorRelease)
    assert r.previous.version == Version.parse("0.16.0")

    r = Release.from_jira("0.15.2", jira=fake_jira)
    assert isinstance(r.previous, PatchRelease)
    assert isinstance(r.next, MajorRelease)
    assert r.previous.version == Version.parse("0.15.1")
    assert r.next.version == Version.parse("0.16.0")

    r = Release.from_jira("0.15.1", jira=fake_jira)
    assert isinstance(r.previous, MajorRelease)
    assert isinstance(r.next, PatchRelease)
    assert r.previous.version == Version.parse("0.15.0")
    assert r.next.version == Version.parse("0.15.2")