示例#1
0
def get_original_hash(repo, rev):
    if pygit2.reference_is_valid_name(rev):
        commit = repo.lookup_reference(rev).peel()
    else:
        commit = repo[rev]

    return ORIGINAL_COMMIT_REGEX.search(commit.message).group(1)
示例#2
0
 def test_invalid_arguments(self):
     with pytest.raises(TypeError):
         reference_is_valid_name()
     with pytest.raises(TypeError):
         reference_is_valid_name(None)
     with pytest.raises(TypeError):
         reference_is_valid_name(1)
     with pytest.raises(TypeError):
         reference_is_valid_name('too', 'many')
示例#3
0
 def test_invalid_arguments(self):
     with pytest.raises(TypeError):
         reference_is_valid_name()
     with pytest.raises(TypeError):
         reference_is_valid_name(None)
     with pytest.raises(TypeError):
         reference_is_valid_name(1)
     with pytest.raises(TypeError):
         reference_is_valid_name('too', 'many')
示例#4
0
def test_history(client):
    response = client.simulate_get('/datasets/{}/history'.format('ds000001'))
    assert response.status == falcon.HTTP_OK
    history = json.loads(response.content) if response.content else None
    assert history is not None
    assert len(history["log"]) == 4
    for entry in history["log"]:
        assert isinstance(entry["authorEmail"], str)
        assert '@' in entry["authorEmail"]
        assert isinstance(entry["authorName"], str)
        assert isinstance(entry["date"], int)
        assert isinstance(entry["message"], str)
        assert isinstance(entry["id"], str)
        assert len(entry["id"]) == 40
        assert isinstance(entry["references"], str)
        # If there is any references content, check the format
        if (len(entry["references"]) > 0):
            for ref in entry["references"].split(','):
                # Full references will always have at least "refs" prefixed
                assert len(ref) > 4
                pygit2.reference_is_valid_name(ref)
示例#5
0
 def test_invalid_reference_names(self):
     assert not reference_is_valid_name('')
     assert not reference_is_valid_name(' refs/heads/master')
     assert not reference_is_valid_name('refs/heads/in..valid')
     assert not reference_is_valid_name('refs/heads/invalid~')
     assert not reference_is_valid_name('refs/heads/invalid^')
     assert not reference_is_valid_name('refs/heads/invalid:')
     assert not reference_is_valid_name('refs/heads/invalid\\')
     assert not reference_is_valid_name('refs/heads/invalid?')
     assert not reference_is_valid_name('refs/heads/invalid[')
     assert not reference_is_valid_name('refs/heads/invalid*')
     assert not reference_is_valid_name('refs/heads/@{no}')
     assert not reference_is_valid_name('refs/heads/foo//bar')
示例#6
0
 def test_valid_reference_names_unicode(self):
     assert reference_is_valid_name('refs/heads/ünicöde')
     assert reference_is_valid_name('refs/tags/😀')
示例#7
0
 def test_valid_reference_names_ascii(self):
     assert reference_is_valid_name('HEAD')
     assert reference_is_valid_name('refs/heads/master')
     assert reference_is_valid_name('refs/heads/perfectly/valid')
     assert reference_is_valid_name('refs/tags/v1')
     assert reference_is_valid_name('refs/special/ref')
示例#8
0
 def test_invalid_reference_names(self):
     assert not reference_is_valid_name('')
     assert not reference_is_valid_name(' refs/heads/master')
     assert not reference_is_valid_name('refs/heads/in..valid')
     assert not reference_is_valid_name('refs/heads/invalid~')
     assert not reference_is_valid_name('refs/heads/invalid^')
     assert not reference_is_valid_name('refs/heads/invalid:')
     assert not reference_is_valid_name('refs/heads/invalid\\')
     assert not reference_is_valid_name('refs/heads/invalid?')
     assert not reference_is_valid_name('refs/heads/invalid[')
     assert not reference_is_valid_name('refs/heads/invalid*')
     assert not reference_is_valid_name('refs/heads/@{no}')
     assert not reference_is_valid_name('refs/heads/foo//bar')
示例#9
0
 def test_valid_reference_names_unicode(self):
     assert reference_is_valid_name('refs/heads/ünicöde')
     assert reference_is_valid_name('refs/tags/😀')
示例#10
0
 def test_valid_reference_names_ascii(self):
     assert reference_is_valid_name('HEAD')
     assert reference_is_valid_name('refs/heads/master')
     assert reference_is_valid_name('refs/heads/perfectly/valid')
     assert reference_is_valid_name('refs/tags/v1')
     assert reference_is_valid_name('refs/special/ref')