def test_list_remote_facory_returns_a_remote_then_revision_index_factory_returns_a_revision(
     self,
 ) -> None:
     self.set_list_remote(ListRemote())
     self.assertIsInstance(
         self.revision_index_factory.get_revision_index(self.repository),
         RevisionIndexImpl,
     )
Пример #2
0
def pypi2nix_list_remote():
    return ListRemote.from_git_ls_remote_output(
        "\n".join(
            [
                "ref: refs/heads/master\tHEAD",
                "1234\trefs/heads/dev",
                "5678\trefs/heads/master",
                "1234\trefs/tags/v1.0",
            ]
        )
    )
Пример #3
0
 def get_list_remote(self, repository: GithubRepository) -> Optional[ListRemote]:
     repository_url = repository.url()
     returncode, output = self.command_runner.run_command(
         command=["git", "ls-remote", "--symref", repository_url],
         environment_variables={"GIT_ASKPASS": "", "GIT_TERMINAL_PROMPT": "0"},
         merge_stderr=False,
     )
     if returncode == 0:
         return ListRemote.from_git_ls_remote_output(output)
     else:
         return None
Пример #4
0
 def remote_list(self) -> ListRemote:
     return ListRemote(
         heads={
             "test-branch-1": "1",
             "test-branch-2": "2",
             "master": "master-ref"
         },
         tags={
             "tag-1^{}": "tag-1-ref-annotated",
             "tag-1": "tag-1-ref",
             "tag-2": "tag-2-ref",
         },
         symrefs={"HEAD": "master"},
     )
 def setUp(self) -> None:
     self.url_hasher = FakeUrlHasher()
     self.revision_index_factory = FakeRevisionIndexFactory()
     self.expected_hash = "test hash"
     self.expected_revision = "test ref"
     self.url_hasher.sha256_sum = self.expected_hash
     self.revision_index_factory.revision_index = RevisionIndexImpl(
         ListRemote(
             symrefs={"HEAD": "refs/heads/master"},
             heads={"master": self.expected_revision},
         ))
     self.prefetcher = PrefetcherImpl(
         self.url_hasher,
         self.revision_index_factory,
     )
     self.repository = GithubRepository("test owner", "test name")
Пример #6
0
    def setUp(self) -> None:
        self.output = """From [email protected]:seppeljordan/nix-prefetch-github.git
ref: refs/heads/master	HEAD
9ce3bcc3610ffeb36f53bc690682f48c8d311764	HEAD
9ce3bcc3610ffeb36f53bc690682f48c8d311764	refs/heads/master
c4e967f4a80e0c030364884e92f2c3cc39ae3ef2	refs/heads/travis-setup
1234567789473873487438239389538913598723	refs/heads/test/branch
c4e967f4a80e0c030364884e92f2c3cc39ae3ef2	refs/pull/1/head
c4f752b05270fd1ab812c4f6a41ddcd8769eb2e6	refs/pull/2/head
ac17b18f3ba68bcea84b563523dfe82729e49aa8	refs/pull/5/head
f7e74db312def6d0e57028b2b630962c768eeb9f	refs/pull/7/head
b12ab7fe187924d8536d27b2ddf3bcccd2612b32	refs/tags/1.3
cffdbcb3351f500b5ca8867a65261443b576b215	refs/tags/v2.0
0b63b78df5e5e17fa46cbdd8aac2b56e8622e5d3	refs/tags/v2.1
9ce3bcc3610ffeb36f53bc690682f48c8d311764	refs/tags/v2.2
"""
        self.remote_list = ListRemote.from_git_ls_remote_output(self.output)
def test_kind_from_ref_can_detect_tags():
    assert ListRemote.kind_from_ref("refs/tags/my_tag") == RefKind.Tag
def remote_list(test_output):
    return ListRemote.from_git_ls_remote_output(test_output)
Пример #9
0
 def sensu_go_ls_remote_output(self) -> ListRemote:
     with open(
             os.path.join(os.path.dirname(__file__),
                          "sensu_go_git_ls_remote.txt")) as handle:
         return ListRemote.from_git_ls_remote_output(handle.read())
Пример #10
0
def get_list_remote_performer(_, intent):
    repository_url = "https://github.com/{owner}/{repo}.git".format(
        owner=intent.owner, repo=intent.repo)
    _, stdout = cmd(["git", "ls-remote", "--symref", repository_url])
    return ListRemote.from_git_ls_remote_output(stdout)