]>
Commit | Line | Data |
---|---|---|
7f640b77 SP |
1 | #!/bin/sh |
2 | ||
3 | test_description='test git-http-backend' | |
4 | . ./test-lib.sh | |
7f640b77 | 5 | . "$TEST_DIRECTORY"/lib-httpd.sh |
e9184b07 JK |
6 | |
7 | if ! test_have_prereq CURL; then | |
8 | skip_all='skipping raw http-backend tests, curl not available' | |
9 | test_done | |
10 | fi | |
11 | ||
7f640b77 SP |
12 | start_httpd |
13 | ||
7f640b77 | 14 | GET() { |
fcd9d709 | 15 | curl --include "$HTTPD_URL/$SMART/repo.git/$1" >out && |
7f640b77 SP |
16 | tr '\015' Q <out | |
17 | sed ' | |
18 | s/Q$// | |
19 | 1q | |
20 | ' >act && | |
21 | echo "HTTP/1.1 $2" >exp && | |
22 | test_cmp exp act | |
23 | } | |
24 | ||
25 | POST() { | |
26 | curl --include --data "$2" \ | |
27 | --header "Content-Type: application/x-$1-request" \ | |
fcd9d709 | 28 | "$HTTPD_URL/smart/repo.git/$1" >out && |
7f640b77 SP |
29 | tr '\015' Q <out | |
30 | sed ' | |
31 | s/Q$// | |
32 | 1q | |
33 | ' >act && | |
34 | echo "HTTP/1.1 $3" >exp && | |
35 | test_cmp exp act | |
36 | } | |
37 | ||
04481adf | 38 | . "$TEST_DIRECTORY"/t556x_common |
34b6cb8b | 39 | |
362d8b6e | 40 | grep '^[^#]' >exp <<EOF |
7f640b77 SP |
41 | |
42 | ### refs/heads/master | |
43 | ### | |
44 | GET /smart/repo.git/refs/heads/master HTTP/1.1 404 - | |
45 | ||
46 | ### getanyfile default | |
47 | ### | |
48 | GET /smart/repo.git/HEAD HTTP/1.1 200 | |
49 | GET /smart/repo.git/info/refs HTTP/1.1 200 | |
50 | GET /smart/repo.git/objects/info/packs HTTP/1.1 200 | |
51 | GET /smart/repo.git/objects/info/alternates HTTP/1.1 200 - | |
52 | GET /smart/repo.git/objects/info/http-alternates HTTP/1.1 200 - | |
53 | GET /smart/repo.git/$LOOSE_URL HTTP/1.1 200 | |
54 | GET /smart/repo.git/$PACK_URL HTTP/1.1 200 | |
55 | GET /smart/repo.git/$IDX_URL HTTP/1.1 200 | |
56 | ||
8b2bd7cd TC |
57 | ### no git-daemon-export-ok |
58 | ### | |
59 | GET /smart_noexport/repo.git/HEAD HTTP/1.1 404 - | |
60 | GET /smart_noexport/repo.git/info/refs HTTP/1.1 404 - | |
61 | GET /smart_noexport/repo.git/objects/info/packs HTTP/1.1 404 - | |
62 | GET /smart_noexport/repo.git/objects/info/alternates HTTP/1.1 404 - | |
63 | GET /smart_noexport/repo.git/objects/info/http-alternates HTTP/1.1 404 - | |
64 | GET /smart_noexport/repo.git/$LOOSE_URL HTTP/1.1 404 - | |
65 | GET /smart_noexport/repo.git/$PACK_URL HTTP/1.1 404 - | |
66 | GET /smart_noexport/repo.git/$IDX_URL HTTP/1.1 404 - | |
67 | ||
68 | ### git-daemon-export-ok | |
69 | ### | |
70 | GET /smart_noexport/repo.git/HEAD HTTP/1.1 200 | |
71 | GET /smart_noexport/repo.git/info/refs HTTP/1.1 200 | |
72 | GET /smart_noexport/repo.git/objects/info/packs HTTP/1.1 200 | |
73 | GET /smart_noexport/repo.git/objects/info/alternates HTTP/1.1 200 - | |
74 | GET /smart_noexport/repo.git/objects/info/http-alternates HTTP/1.1 200 - | |
75 | GET /smart_noexport/repo.git/$LOOSE_URL HTTP/1.1 200 | |
76 | GET /smart_noexport/repo.git/$PACK_URL HTTP/1.1 200 | |
77 | GET /smart_noexport/repo.git/$IDX_URL HTTP/1.1 200 | |
78 | ||
7f640b77 SP |
79 | ### getanyfile true |
80 | ### | |
81 | GET /smart/repo.git/HEAD HTTP/1.1 200 | |
82 | GET /smart/repo.git/info/refs HTTP/1.1 200 | |
83 | GET /smart/repo.git/objects/info/packs HTTP/1.1 200 | |
84 | GET /smart/repo.git/objects/info/alternates HTTP/1.1 200 - | |
85 | GET /smart/repo.git/objects/info/http-alternates HTTP/1.1 200 - | |
86 | GET /smart/repo.git/$LOOSE_URL HTTP/1.1 200 | |
87 | GET /smart/repo.git/$PACK_URL HTTP/1.1 200 | |
88 | GET /smart/repo.git/$IDX_URL HTTP/1.1 200 | |
89 | ||
90 | ### getanyfile false | |
91 | ### | |
92 | GET /smart/repo.git/HEAD HTTP/1.1 403 - | |
93 | GET /smart/repo.git/info/refs HTTP/1.1 403 - | |
94 | GET /smart/repo.git/objects/info/packs HTTP/1.1 403 - | |
95 | GET /smart/repo.git/objects/info/alternates HTTP/1.1 403 - | |
96 | GET /smart/repo.git/objects/info/http-alternates HTTP/1.1 403 - | |
97 | GET /smart/repo.git/$LOOSE_URL HTTP/1.1 403 - | |
98 | GET /smart/repo.git/$PACK_URL HTTP/1.1 403 - | |
99 | GET /smart/repo.git/$IDX_URL HTTP/1.1 403 - | |
100 | ||
101 | ### uploadpack default | |
102 | ### | |
103 | GET /smart/repo.git/info/refs?service=git-upload-pack HTTP/1.1 200 | |
104 | POST /smart/repo.git/git-upload-pack HTTP/1.1 200 - | |
105 | ||
106 | ### uploadpack true | |
107 | ### | |
108 | GET /smart/repo.git/info/refs?service=git-upload-pack HTTP/1.1 200 | |
109 | POST /smart/repo.git/git-upload-pack HTTP/1.1 200 - | |
110 | ||
111 | ### uploadpack false | |
112 | ### | |
113 | GET /smart/repo.git/info/refs?service=git-upload-pack HTTP/1.1 403 - | |
114 | POST /smart/repo.git/git-upload-pack HTTP/1.1 403 - | |
115 | ||
116 | ### receivepack default | |
117 | ### | |
118 | GET /smart/repo.git/info/refs?service=git-receive-pack HTTP/1.1 403 - | |
119 | POST /smart/repo.git/git-receive-pack HTTP/1.1 403 - | |
120 | ||
121 | ### receivepack true | |
122 | ### | |
123 | GET /smart/repo.git/info/refs?service=git-receive-pack HTTP/1.1 200 | |
124 | POST /smart/repo.git/git-receive-pack HTTP/1.1 200 - | |
125 | ||
126 | ### receivepack false | |
127 | ### | |
128 | GET /smart/repo.git/info/refs?service=git-receive-pack HTTP/1.1 403 - | |
129 | POST /smart/repo.git/git-receive-pack HTTP/1.1 403 - | |
130 | EOF | |
131 | test_expect_success 'server request log matches test results' ' | |
e8b3b2e2 | 132 | check_access_log exp |
7f640b77 SP |
133 | ' |
134 | ||
7f640b77 | 135 | test_done |