Skip to content

Commit 3092189

Browse files
committed
🔬 add integration tests
1 parent 79ba26a commit 3092189

File tree

6 files changed

+17
-3
lines changed

6 files changed

+17
-3
lines changed

Pipfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ python_version= '3.6'
1010
fs = "*"
1111
crayons = "*"
1212
GitPython = "*"
13+
git-url-parse = '>=1.2.2'
1314

1415
[dev-packages]
1516
nose = "*"

gitfs2.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ dependencies:
1212
- fs
1313
- crayons
1414
- GitPython
15+
- git-url-parse>=1.2.2
1516
entry_points:
1617
fs.opener:
1718
- "git = gitfs2:GitFSOpener"

gitfs2/repo.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,11 @@ def git_clone(require, action_required=True):
5959
mkdir_p(app_home)
6060

6161
repo_name = get_repo_name(require.git_url)
62-
local_repo_folder = os.path.join(app_home, repo_name)
62+
local_repo_folder = fs.path.join(app_home, repo_name)
6363

6464
if action_required:
65-
if os.path.exists(local_repo_folder):
65+
try:
66+
fs.open_fs(local_repo_folder)
6667
reporter.info("Found repo in %s" % local_repo_folder)
6768
repo = Repo(local_repo_folder)
6869
repo.git.pull()
@@ -73,7 +74,7 @@ def git_clone(require, action_required=True):
7374
if require.submodule:
7475
reporter.info("updating submodule")
7576
repo.git.submodule("update")
76-
else:
77+
except fs.errors.CreateFailed:
7778
reporter.info("git clone %s" % require.git_url)
7879
repo = Repo.clone_from(
7980
require.git_url, local_repo_folder, **require.clone_params()

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
fs
22
crayons
33
GitPython
4+
git-url-parse>=1.2.2

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
"fs",
6969
"crayons",
7070
"GitPython",
71+
"git-url-parse>=1.2.2",
7172
]
7273
SETUP_COMMANDS = {}
7374

tests/test_git_repo.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import fs
2+
from gitfs2.repo import git_clone, GitRequire
3+
4+
5+
def test_clone_a_real_github():
6+
git_url = "https://github.com/moremoban/hello"
7+
require = GitRequire(git_url=git_url)
8+
folder = git_clone(require)
9+
fs.open_fs(folder)

0 commit comments

Comments
 (0)