chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
import pytest
|
||||
|
||||
from e2b.exceptions import GitUpstreamException
|
||||
|
||||
|
||||
@pytest.mark.skip_debug()
|
||||
def test_push_updates_remote(git_sandbox, git_repo_with_commit, git_daemon):
|
||||
repo_path = git_repo_with_commit
|
||||
remote_url = git_daemon["remote_url"]
|
||||
|
||||
git_sandbox.git.remote_add(repo_path, "origin", remote_url)
|
||||
git_sandbox.git.push(
|
||||
repo_path,
|
||||
remote="origin",
|
||||
branch="main",
|
||||
set_upstream=True,
|
||||
)
|
||||
|
||||
message = git_sandbox.commands.run(
|
||||
f'git --git-dir="{git_daemon["remote_path"]}" log -1 --pretty=%B'
|
||||
).stdout.strip()
|
||||
assert message == "Initial commit"
|
||||
|
||||
|
||||
@pytest.mark.skip_debug()
|
||||
def test_push_without_upstream_warns(git_sandbox, git_repo_with_commit, git_daemon):
|
||||
repo_path = git_repo_with_commit
|
||||
remote_url = git_daemon["remote_url"]
|
||||
|
||||
git_sandbox.git.remote_add(repo_path, "origin", remote_url)
|
||||
|
||||
with pytest.raises(GitUpstreamException) as exc:
|
||||
git_sandbox.git.push(repo_path, set_upstream=False)
|
||||
|
||||
assert "no upstream branch is configured" in str(exc.value).lower()
|
||||
|
||||
|
||||
@pytest.mark.skip_debug()
|
||||
def test_pull_updates_clone(
|
||||
git_sandbox, git_repo_with_commit, git_daemon, git_base_dir, git_author
|
||||
):
|
||||
repo_path = git_repo_with_commit
|
||||
remote_url = git_daemon["remote_url"]
|
||||
clone_path = f"{git_base_dir}/clone"
|
||||
|
||||
git_sandbox.git.remote_add(repo_path, "origin", remote_url)
|
||||
git_sandbox.git.push(
|
||||
repo_path,
|
||||
remote="origin",
|
||||
branch="main",
|
||||
set_upstream=True,
|
||||
)
|
||||
git_sandbox.git.clone(remote_url, clone_path)
|
||||
|
||||
git_sandbox.files.write(f"{repo_path}/README.md", "hello\nmore\n")
|
||||
author_name, author_email = git_author
|
||||
git_sandbox.git.add(repo_path, all=True)
|
||||
git_sandbox.git.commit(
|
||||
repo_path,
|
||||
message="Update README",
|
||||
author_name=author_name,
|
||||
author_email=author_email,
|
||||
)
|
||||
git_sandbox.git.push(repo_path)
|
||||
|
||||
git_sandbox.git.pull(clone_path)
|
||||
contents = git_sandbox.files.read(f"{clone_path}/README.md")
|
||||
assert "more" in contents
|
||||
|
||||
|
||||
@pytest.mark.skip_debug()
|
||||
def test_pull_without_upstream_warns(git_sandbox, git_repo_with_commit, git_daemon):
|
||||
repo_path = git_repo_with_commit
|
||||
remote_url = git_daemon["remote_url"]
|
||||
|
||||
git_sandbox.git.remote_add(repo_path, "origin", remote_url)
|
||||
|
||||
with pytest.raises(GitUpstreamException) as exc:
|
||||
git_sandbox.git.pull(repo_path)
|
||||
|
||||
assert "no upstream branch is configured" in str(exc.value).lower()
|
||||
Reference in New Issue
Block a user