summary refs log tree commit diff
path: root/nixos/tests/gitlab.nix
diff options
context:
space:
mode:
authorYaya <mak@nyantec.com>2022-03-31 19:39:12 +0000
committerYuka <yuka@yuka.dev>2022-03-31 21:56:18 +0200
commit35251c637ba222c193e7dd5247606964d534c1d8 (patch)
treeb58dd0566791ca2948341dd51bee174eab289162 /nixos/tests/gitlab.nix
parent86ec4e306e445d6b43356fc2665f6fa1d7ca6f10 (diff)
downloadnixpkgs-35251c637ba222c193e7dd5247606964d534c1d8.tar
nixpkgs-35251c637ba222c193e7dd5247606964d534c1d8.tar.gz
nixpkgs-35251c637ba222c193e7dd5247606964d534c1d8.tar.bz2
nixpkgs-35251c637ba222c193e7dd5247606964d534c1d8.tar.lz
nixpkgs-35251c637ba222c193e7dd5247606964d534c1d8.tar.xz
nixpkgs-35251c637ba222c193e7dd5247606964d534c1d8.tar.zst
nixpkgs-35251c637ba222c193e7dd5247606964d534c1d8.zip
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.
Diffstat (limited to 'nixos/tests/gitlab.nix')
-rw-r--r--nixos/tests/gitlab.nix14
1 files changed, 10 insertions, 4 deletions
diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix
index f4fac2478fa..c5d92574921 100644
--- a/nixos/tests/gitlab.nix
+++ b/nixos/tests/gitlab.nix
@@ -116,17 +116,23 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
         )
       '' + optionalString doSetup ''
         gitlab.succeed(
-            "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects"
+            """[ "$(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" ]"""
         )
         gitlab.succeed(
-            "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/2/repository/files/some-file.txt"
+            """[ "$(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" ]"""
         )
       '' + ''
         gitlab.succeed(
-            "curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz > /tmp/archive.tar.gz"
+            """[ "$(curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz)" = "200" ]"""
         )
         gitlab.succeed(
-            "curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"
+            """curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz > /tmp/archive.tar.gz"""
+        )
+        gitlab.succeed(
+            """[ "$(curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2)" = "200" ]"""
+        )
+        gitlab.succeed(
+            """curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"""
         )
         gitlab.succeed("test -s /tmp/archive.tar.gz")
         gitlab.succeed("test -s /tmp/archive.tar.bz2")