1# vi: set ft=conf
 2
 3[windows] dos2unix err1.txt err2.txt err3.txt errauth.txt
 4
 5# enable ssh lfs transfer
 6env SOFT_SERVE_LFS_SSH_ENABLED=true
 7# start soft serve
 8exec soft serve &
 9# wait for server to start
10waitforserver
11
12# create a user
13soft user create foo --key "$USER1_AUTHORIZED_KEY"
14
15# create a repo
16soft repo create repo1
17soft repo create repo1p -p
18usoft repo create repo2
19usoft repo create repo2p -p
20
21# SSH Git LFS Transfer command
22! soft git-lfs-transfer
23cmp stderr err1.txt
24! soft git-lfs-transfer repo1
25cmp stderr err2.txt
26soft git-lfs-transfer repo1 download
27stdout '000eversion=1\n000clocking\n0000'
28soft git-lfs-transfer repo1 upload
29stdout '000eversion=1\n000clocking\n0000'
30usoft git-lfs-transfer repo1 download
31stdout '000eversion=1\n000clocking\n0000'
32! usoft git-lfs-transfer repo1 upload
33cmp stderr errauth.txt
34
35# Unauthorized user
36! usoft git-lfs-transfer
37cmp stderr err1.txt
38! usoft git-lfs-transfer repo1p
39cmp stderr err2.txt
40! usoft git-lfs-transfer repo1p download
41cmp stderr errauth.txt
42! usoft git-lfs-transfer repo1p upload
43cmp stderr errauth.txt
44
45# push & create repo with some files, commits, tags...
46mkdir ./repo1
47git -c init.defaultBranch=master -C repo1 init
48mkfile ./repo1/README.md '# Project\nfoo'
49mkfile ./repo1/foo.png 'foo'
50mkfile ./repo1/bar.png 'bar'
51git -C repo1 remote add origin ssh://localhost:$SSH_PORT/repo1
52git -C repo1 lfs install --local
53git -C repo1 lfs track '*.png'
54git -C repo1 add -A
55git -C repo1 commit -m 'first'
56git -C repo1 tag v0.1.0
57git -C repo1 push origin HEAD
58git -C repo1 push origin HEAD --tags
59
60# clone repo with ssh lfs-transfer
61git clone ssh://localhost:$SSH_PORT/repo1 repo1c
62exists repo1c/README.md
63exists repo1c/foo.png
64exists repo1c/bar.png
65
66# stop the server
67[windows] stopserver
68
69-- err1.txt --
70Error: accepts 2 arg(s), received 0
71-- err2.txt --
72Error: accepts 2 arg(s), received 1
73-- err3.txt --
74Error: invalid request
75-- errauth.txt --
76Error: you are not authorized to do this