blob: d8673e401fe9ed6cd686ad244fdca80234d3bc8c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
#!/bin/sh
test_description='Check content on ci page'
. ./setup.sh
# The ci settings are only inherited by repositories which are declared
# after them, which is used below to get a repository with no ci url and
# one with a tag-only ci url.
cat >cgitrc.ci <<EOF
virtual-root=/
cache-root=$PWD/cache
cache-size=0
repo.url=tagonly
repo.path=$PWD/repos/foo/.git
repo.ci-tag-url=https://ci.example.org/tagonly/\$ref
ci-branch-url=https://ci.example.org/job/\$slug/job/\$ref
ci-tag-url=https://ci.example.org/job/\$slug/view/tags/job/\$ref
repo.url=foo
repo.path=$PWD/repos/foo/.git
repo.url=sayauz/web.git
repo.path=$PWD/repos/foo/.git
repo.url=override
repo.path=$PWD/repos/foo/.git
repo.ci-url=https://ci.example.org/override/\$repo/\$\$/\$ref
EOF
git --git-dir="$PWD/repos/foo/.git" tag v0.17.3.2 master
cgit_ci()
{
CGIT_CONFIG="$PWD/cgitrc.ci" QUERY_STRING="url=$1" cgit
}
test_expect_success 'redirect to the branch ci url' '
cgit_ci "foo/ci&h=master" >tmp &&
grep "^Status: 302 Found$" tmp &&
grep "^Location: https://ci.example.org/job/foo/job/master$" tmp
'
test_expect_success 'redirect to the tag ci url' '
cgit_ci "foo/ci&h=v0.17.3.2" >tmp &&
grep "^Status: 302 Found$" tmp &&
grep "^Location: https://ci.example.org/job/foo/view/tags/job/v0.17.3.2$" tmp
'
test_expect_success 'redirect to the default branch ci url' '
cgit_ci "foo/ci" >tmp &&
grep "^Location: https://ci.example.org/job/foo/job/master$" tmp
'
test_expect_success '$slug strips ".git" and replaces slashes' '
cgit_ci "sayauz/web.git/ci&h=v0.17.3.2" >tmp &&
grep "^Location: https://ci.example.org/job/sayauz-web/view/tags/job/v0.17.3.2$" tmp
'
test_expect_success 'repo.ci-url overrides and expands $repo and $$' '
cgit_ci "override/ci&h=master" >tmp &&
grep -F "Location: https://ci.example.org/override/override/\$/master" tmp
'
test_expect_success 'repo.ci-tag-url does not apply to branches' '
cgit_ci "tagonly/ci&h=v0.17.3.2" >tmp &&
grep "^Location: https://ci.example.org/tagonly/v0.17.3.2$" tmp &&
cgit_ci "tagonly/ci&h=master" >tmp &&
grep "^Status: 404 Not found$" tmp
'
test_expect_success 'find ci tab' '
cgit_ci "foo/refs&h=master" >tmp &&
grep "href=./foo/ci/.>ci</a>" tmp
'
test_expect_success 'no ci tab without a ci url' '
cgit_url "foo/refs" >tmp &&
! grep ">ci</a>" tmp
'
test_done
|