#!/bin/sh
 
-test_description='test fetching over http'
+test_description='test dumb fetching over http via static file'
 . ./test-lib.sh
 
 if test -n "$NO_CURL"; then
 '
 
 test_expect_success 'clone http repository' '
-       git clone $HTTPD_URL/repo.git clone &&
+       git clone $HTTPD_URL/dumb/repo.git clone &&
        test_cmp file clone/file
 '
 
        test_cmp file clone/file
 '
 
+test_expect_success 'http remote detects correct HEAD' '
+       git push public master:other &&
+       (cd clone &&
+        git remote set-head origin -d &&
+        git remote set-head origin -a &&
+        git symbolic-ref refs/remotes/origin/HEAD > output &&
+        echo refs/remotes/origin/master > expect &&
+        test_cmp expect output
+       )
+'
+
+test_expect_success 'fetch packed objects' '
+       cp -R "$HTTPD_DOCUMENT_ROOT_PATH"/repo.git "$HTTPD_DOCUMENT_ROOT_PATH"/repo_pack.git &&
+       cd "$HTTPD_DOCUMENT_ROOT_PATH"/repo_pack.git &&
+       git --bare repack &&
+       git --bare prune-packed &&
+       git clone $HTTPD_URL/dumb/repo_pack.git
+'
+
+test_expect_success 'did not use upload-pack service' '
+       grep '/git-upload-pack' <"$HTTPD_ROOT_PATH"/access.log >act
+       : >exp
+       test_cmp exp act
+'
+
 stop_httpd
 test_done