git.iko.soy/typeable/nixpkgs
on master help sign in
nixos/tests/gitlab: Check HTTP response codes

cURL always exits with `0` even when the HTTP response codes are above 400, leading to false-positive test results.

commit35251c637ba222c193e7dd5247606964d534c1d8 authorYaya <mak@nyantec.com> dateThu 31 Mar 2022, 19:39 (5 years ago) parent86ec4e3
1 file changed+10−4
nixos/tests/gitlab.nix+10−4
nixos/tests/gitlab.nix+10−4
@@ -116,17 +116,23 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
116116 )
117117 '' + optionalString doSetup ''
118118 gitlab.succeed(
119− "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects"
119+ """[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects)" = "201" ]"""
120120 )
121121 gitlab.succeed(
122− "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/2/repository/files/some-file.txt"
122+ """[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/2/repository/files/some-file.txt)" = "201" ]"""
123123 )
124124 '' + ''
125125 gitlab.succeed(
126− "curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz > /tmp/archive.tar.gz"
126+ """[ "$(curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz)" = "200" ]"""
127127 )
128128 gitlab.succeed(
129− "curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"
129+ """curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz > /tmp/archive.tar.gz"""
130+ )
131+ gitlab.succeed(
132+ """[ "$(curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2)" = "200" ]"""
133+ )
134+ gitlab.succeed(
135+ """curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"""
130136 )
131137 gitlab.succeed("test -s /tmp/archive.tar.gz")
132138 gitlab.succeed("test -s /tmp/archive.tar.bz2")