示例#1
0
    def test_non_cannonical_identifiers(self):
        with mocks.remote.GitHub():
            self.assertEqual('2@main', str(remote.GitHub(self.remote).commit(identifier='0@branch-a')))
            self.assertEqual('1@main', str(remote.GitHub(self.remote).commit(identifier='-1@branch-a')))

            self.assertEqual('2@main', str(remote.GitHub(self.remote).commit(identifier='0@branch-b')))
            self.assertEqual('1@main', str(remote.GitHub(self.remote).commit(identifier='-1@branch-b')))
示例#2
0
 def test_order(self):
     with mocks.remote.GitHub():
         self.assertEqual(
             0,
             remote.GitHub(self.remote).commit(hash='bae5d1e90999').order)
         self.assertEqual(
             1,
             remote.GitHub(self.remote).commit(hash='d8bce26fa65c').order)
示例#3
0
 def test_commit_from_branch(self):
     with mocks.remote.GitHub():
         self.assertEqual(
             '5@main',
             str(remote.GitHub(self.remote).commit(branch='main')))
         self.assertEqual(
             '2.2@branch-a',
             str(remote.GitHub(self.remote).commit(branch='branch-a')))
         self.assertEqual(
             '2.3@branch-b',
             str(remote.GitHub(self.remote).commit(branch='branch-b')))
示例#4
0
 def test_identifier(self):
     with mocks.remote.GitHub():
         self.assertEqual(
             '9b8311f25a77ba14923d9d5a6532103f54abefcb',
             remote.GitHub(self.remote).commit(identifier='1@main').hash,
         )
         self.assertEqual(
             'fff83bb2d9171b4d9196e977eb0508fd57e7a08d',
             remote.GitHub(self.remote).commit(identifier='2@main').hash,
         )
         self.assertEqual(
             'a30ce8494bf1ac2807a69844f726be4a9843ca55',
             remote.GitHub(self.remote).commit(identifier='2.1@branch-a').hash,
         )
         self.assertEqual(
             '1abe25b443e985f93b90d830e4a7e3731336af4d',
             remote.GitHub(self.remote).commit(identifier='3@main').hash,
         )
         self.assertEqual(
             '3cd32e352410565bb543821fbf856a6d3caad1c4',
             remote.GitHub(self.remote).commit(identifier='2.2@branch-b').hash,
         )
         self.assertEqual(
             'bae5d1e90999d4f916a8a15810ccfa43f37a2fd6',
             remote.GitHub(self.remote).commit(identifier='4@main').hash,
         )
         self.assertEqual(
             '621652add7fc416099bd2063366cc38ff61afe36',
             remote.GitHub(self.remote).commit(identifier='2.2@branch-a').hash,
         )
         self.assertEqual(
             '790725a6d79e28db2ecdde29548d2262c0bd059d',
             remote.GitHub(self.remote).commit(identifier='2.3@branch-b').hash,
         )
示例#5
0
 def test_commit_revision(self):
     with mocks.remote.GitHub(git_svn=True):
         self.assertEqual(
             1,
             remote.GitHub(self.remote).commit(hash='9b8311f2').revision)
         self.assertEqual(
             2,
             remote.GitHub(self.remote).commit(hash='fff83bb2').revision)
         self.assertEqual(
             3,
             remote.GitHub(self.remote).commit(hash='a30ce849').revision)
         self.assertEqual(
             4,
             remote.GitHub(self.remote).commit(hash='1abe25b4').revision)
         self.assertEqual(
             5,
             remote.GitHub(self.remote).commit(hash='3cd32e35').revision)
         self.assertEqual(
             6,
             remote.GitHub(self.remote).commit(hash='621652ad').revision)
         self.assertEqual(
             7,
             remote.GitHub(self.remote).commit(hash='790725a6').revision)
         self.assertEqual(
             8,
             remote.GitHub(self.remote).commit(hash='bae5d1e9').revision)
示例#6
0
 def test_commit_hash(self):
     with mocks.remote.GitHub():
         self.assertEqual(
             '1@main',
             str(remote.GitHub(self.remote).commit(hash='9b8311f2')))
         self.assertEqual(
             '2@main',
             str(remote.GitHub(self.remote).commit(hash='fff83bb2')))
         self.assertEqual(
             '2.1@branch-a',
             str(remote.GitHub(self.remote).commit(hash='a30ce849')))
         self.assertEqual(
             '3@main',
             str(remote.GitHub(self.remote).commit(hash='1abe25b4')))
         self.assertEqual(
             '2.2@branch-b',
             str(remote.GitHub(self.remote).commit(hash='3cd32e35')))
         self.assertEqual(
             '4@main',
             str(remote.GitHub(self.remote).commit(hash='bae5d1e9')))
         self.assertEqual(
             '2.2@branch-a',
             str(remote.GitHub(self.remote).commit(hash='621652ad')))
         self.assertEqual(
             '2.3@branch-b',
             str(remote.GitHub(self.remote).commit(hash='790725a6')))
示例#7
0
 def __init__(self):
     self.svn = remote.Svn('https://svn.webkit.org/repository/webkit')
     self.github = remote.GitHub('https://github.com/WebKit/WebKit')
     super(WebKitRepository, self).__init__(
         key='webkit',
         default_branch=self.github.default_branch,
     )
示例#8
0
文件: scm.py 项目: iStonesy/WebKit
    def from_url(cls, url, contributors=None):
        from webkitscmpy import remote

        if remote.Svn.is_webserver(url):
            return remote.Svn(url, contributors=contributors)
        if remote.GitHub.is_webserver(url):
            return remote.GitHub(url, contributors=contributors)
        raise OSError("'{}' is not a known SCM server".format(url))
示例#9
0
    def test_tag(self):
        with mocks.remote.GitHub() as mock:
            mock.tags['tag-1'] = mock.commits['branch-a'][-1]

            self.assertEqual(
                '621652add7fc416099bd2063366cc38ff61afe36',
                remote.GitHub(self.remote).commit(tag='tag-1').hash,
            )
示例#10
0
    def test_tags(self):
        with mocks.remote.GitHub() as mock:
            mock.tags['tag-1'] = mock.commits['branch-a'][-1]
            mock.tags['tag-2'] = mock.commits['branch-b'][-1]

            self.assertEqual(
                remote.GitHub(self.remote).tags,
                ['tag-1', 'tag-2'],
            )
示例#11
0
 def test_commits_branch(self):
     with mocks.remote.GitHub():
         git = remote.GitHub(self.remote)
         self.assertEqual(
             Commit.Encoder().default([
                 git.commit(hash='621652ad'),
                 git.commit(hash='a30ce849'),
                 git.commit(hash='fff83bb2'),
                 git.commit(hash='9b8311f2'),
             ]),
             Commit.Encoder().default(
                 list(
                     git.commits(begin=dict(argument='9b8311f2'),
                                 end=dict(argument='621652ad')))))
示例#12
0
 def test_commits(self):
     with mocks.remote.GitHub():
         git = remote.GitHub(self.remote)
         self.assertEqual(
             Commit.Encoder().default([
                 git.commit(hash='bae5d1e9'),
                 git.commit(hash='1abe25b4'),
                 git.commit(hash='fff83bb2'),
                 git.commit(hash='9b8311f2'),
             ]),
             Commit.Encoder().default(
                 list(
                     git.commits(begin=dict(hash='9b8311f2'),
                                 end=dict(hash='bae5d1e9')))))
示例#13
0
 def test_id(self):
     self.assertEqual(remote.GitHub(self.remote).id, 'webkit')
示例#14
0
 def test_no_identifier(self):
     with mocks.remote.GitHub():
         self.assertIsNone(
             remote.GitHub(self.remote).find(
                 'main', include_identifier=False).identifier)
示例#15
0
 def test_alternative_default_branch(self):
     with mocks.remote.GitHub():
         self.assertEqual(str(remote.GitHub(self.remote).find('4@trunk')),
                          '4@main')
         self.assertEqual(str(remote.GitHub(self.remote).find('4@master')),
                          '4@main')
示例#16
0
 def test_no_log(self):
     with mocks.remote.GitHub():
         self.assertIsNone(
             remote.GitHub(self.remote).commit(identifier='4@main',
                                               include_log=False).message)
示例#17
0
 def test_scm_type(self):
     self.assertFalse(remote.GitHub(self.remote).is_svn)
     self.assertTrue(remote.GitHub(self.remote).is_git)
示例#18
0
 def test_branches(self):
     with mocks.remote.GitHub():
         self.assertEqual(
             remote.GitHub(self.remote).branches,
             ['branch-a', 'branch-b', 'main'],
         )