From 5059c3875d3d87ed43d58a6c48737102f6e62245 Mon Sep 17 00:00:00 2001 From: Mahendra Paipuri Date: Thu, 20 Jun 2024 14:24:05 +0200 Subject: [PATCH] test: Update test output and e2e scripts * Fix install script to correctly install config files Signed-off-by: Mahendra Paipuri --- Makefile | 11 ++++- pkg/api/testdata/ceems.db | Bin 57344 -> 73728 bytes ...2e-test-api-server-project-admin-query.txt | 1 + ...2e-test-api-server-project-empty-query.txt | 1 + .../e2e-test-api-server-project-query.txt | 2 +- .../e2e-test-api-server-user-admin-query.txt | 1 + .../output/e2e-test-api-server-user-query.txt | 1 + .../output/e2e-test-api-verify-pass-query.txt | 2 +- pkg/api/testdata/sacct | 3 +- pkg/api/testdata/sacctmgr | 17 ++++++++ pkg/lb/testdata/ceems_api_server.db | Bin 36864 -> 0 bytes scripts/e2e-test.sh | 38 +++++++++++++++--- scripts/install.sh | 4 +- 13 files changed, 69 insertions(+), 12 deletions(-) create mode 100644 pkg/api/testdata/output/e2e-test-api-server-project-admin-query.txt create mode 100644 pkg/api/testdata/output/e2e-test-api-server-project-empty-query.txt create mode 100644 pkg/api/testdata/output/e2e-test-api-server-user-admin-query.txt create mode 100644 pkg/api/testdata/output/e2e-test-api-server-user-query.txt create mode 100755 pkg/api/testdata/sacctmgr delete mode 100644 pkg/lb/testdata/ceems_api_server.db diff --git a/Makefile b/Makefile index 0c457b1e..68f95eb6 100644 --- a/Makefile +++ b/Makefile @@ -44,7 +44,8 @@ ifeq ($(CGO_BUILD), 1) PROMU_CONF ?= .promu-cgo.yml pkgs := ./pkg/api/cli \ ./pkg/api/db ./pkg/api/helper \ - ./pkg/api/resource ./pkg/api/updater \ + ./pkg/api/resource ./pkg/api/resource/slurm \ + ./pkg/api/updater \ ./pkg/api/http ./cmd/ceems_api_server \ ./pkg/lb/backend ./pkg/lb/cli \ ./pkg/lb/frontend ./pkg/lb/serverpool \ @@ -145,6 +146,10 @@ else test-e2e: $(PROMTOOL) build pkg/collector/testdata/sys/.unpacked pkg/collector/testdata/proc/.unpacked @echo ">> running end-to-end tests" ./scripts/e2e-test.sh -s api-project-query + ./scripts/e2e-test.sh -s api-project-empty-query + ./scripts/e2e-test.sh -s api-project-admin-query + ./scripts/e2e-test.sh -s api-user-query + ./scripts/e2e-test.sh -s api-user-admin-query ./scripts/e2e-test.sh -s api-cluster-admin-query ./scripts/e2e-test.sh -s api-uuid-query ./scripts/e2e-test.sh -s api-running-query @@ -185,6 +190,10 @@ else test-e2e-update: $(PROMTOOL) build pkg/collector/testdata/sys/.unpacked pkg/collector/testdata/proc/.unpacked @echo ">> updating end-to-end tests outputs" ./scripts/e2e-test.sh -s api-project-query -u || true + ./scripts/e2e-test.sh -s api-project-empty-query -u || true + ./scripts/e2e-test.sh -s api-project-admin-query -u || true + ./scripts/e2e-test.sh -s api-user-query -u || true + ./scripts/e2e-test.sh -s api-user-admin-query -u || true ./scripts/e2e-test.sh -s api-cluster-admin-query -u || true ./scripts/e2e-test.sh -s api-uuid-query -u || true ./scripts/e2e-test.sh -s api-running-query -u || true diff --git a/pkg/api/testdata/ceems.db b/pkg/api/testdata/ceems.db index a752c0b85de666bc63f6450aa42b72a66cdcd363..762cdcd6bde0ba807cf5511300d5ef991bcb0d58 100644 GIT binary patch delta 3863 zcmc&%ZEO=|9KY+!y6bxPbe-ii-A2(TkiChg_< zKmXtV_4)np>48c6fl0?(f!an4!+h|of0i8%bIpxdYxV?5G-DJ#i-C8*BgCuDHPl%u zQ$0c6aePj++RxehY=ijh*vL-2`NaoZG}C~O_=kp5{I0^zfn>Un%k$ZR9od(*^U1vS z$N}+YHT|4vGq_=WP*(^p);EVz;o(GvZyw3kx#)%l{NS>D;`ubME9y^b)u#B$-gvNg z<>ODqH8bKE5pEnxg@Sp0S3c|xhDtVdnRwUrp!f&j;|e)Gn^UF16hD|Kr1QZ=ef^7M zSU$0>+?L2V15E=y7rlhWM+kGqvO&ctDd)OgcP)$LM3t>FS*B}UG)?PSDq6~q2gy&o zfh$DjEqNh>82c6TXV8;rRARZgV-7E~Gwif<) zrF&glI{gOc*i84TH{s4qx0u--H+mD#?|u?l`}TAr>y&Bzg=t;AcP*m7b#J`U==s6~ zF#$ban8>9I*-Q(wkq}3PrAEk+eQPaZeRdxj>#2QctoHqAtWTTPCr#_w{b;P~ggD~4 z7^`?v=rV>V{U!LlRbv?V35-d#-jBhCCYuur__=M_#9(4LF{scF`G&l=B0q=s>Ko%sx1`q=+pdM}-KT@Oj zIwg1=0Y9#tXPJ4FNzg``1f0htU~6g}0oq`LX?L4c7^2P*22@ByS4`HD0OYkyS0c_Ma)GJh!yh~1z zhv0O2ffQmYX-oZJ6cZX-RN6p?*0j-xi;_MAnFbHPoSZdMW~?xGFhVFi{19qAqq;P% z7LTDCv^*dbBohkD2CSz=w?^6J0y-|B1vqaYRI|XetCpgcS;SNZm+DtK&(K)K`Uz~b zJdq)|VgXeimtHKYYly5^zaotV?VVJF&bNRnjs45@`V|fQxB4}(GNIj|2LrdkFW@RT z4?YF&f!E=226+M>-dXqdz_& z&R&k*7b2~@GK0pjnGip`9+tLTJ%(g8er>fwi(#Q215+l3gY~pHHhol8HHLA2)H4gD rjaM!xB|`oqZ1!u>h;z$#?D}Oi^k|*9CdNu9Z|p%rms)P3e<=P1TMlyf`@~d&Sv-&XW=Ej#6q$HN4 z7Ecc3wcM=4k;2GX$PCst(Q$J>=T>H9HJbx@*9kFlY*P5o&&$CIbQ2T*H;~KtHuD%{ zGIJZ6gczDynOayGns06}-oVI*B+wkdw%tIEaS!9oceXC10red}FOY=*ma^749nWG8O^ST8ETwv&PX7XMCQ;#$k^ zF3-fuAkAx>UX+-Yn3rf|U}U0eV5W=YaTP{Z261WQmxu8Zs#}6N zr_YyS)Y%@%$2bSYi`xVkU07g_k%u|P5Q}4)WyGg%Pq9)pA$ qO4$%B3U}9JEP*;lit#k6M=XRVd)OImUoOK~jpC2(x^j%Dr3nC|aca{5 diff --git a/pkg/api/testdata/output/e2e-test-api-server-project-admin-query.txt b/pkg/api/testdata/output/e2e-test-api-server-project-admin-query.txt new file mode 100644 index 00000000..1a2c8db4 --- /dev/null +++ b/pkg/api/testdata/output/e2e-test-api-server-project-admin-query.txt @@ -0,0 +1 @@ +{"status":"success","data":[{"cluster_id":"slurm-0","resource_manager":"slurm","name":"acc1","users":["usr1","usr15","usr8"]},{"cluster_id":"slurm-1","resource_manager":"slurm","name":"acc1","users":["usr1","usr15","usr8"]}]} diff --git a/pkg/api/testdata/output/e2e-test-api-server-project-empty-query.txt b/pkg/api/testdata/output/e2e-test-api-server-project-empty-query.txt new file mode 100644 index 00000000..6c2a45e2 --- /dev/null +++ b/pkg/api/testdata/output/e2e-test-api-server-project-empty-query.txt @@ -0,0 +1 @@ +{"status":"success","data":[]} diff --git a/pkg/api/testdata/output/e2e-test-api-server-project-query.txt b/pkg/api/testdata/output/e2e-test-api-server-project-query.txt index d5f07e0b..1a2c8db4 100644 --- a/pkg/api/testdata/output/e2e-test-api-server-project-query.txt +++ b/pkg/api/testdata/output/e2e-test-api-server-project-query.txt @@ -1 +1 @@ -{"status":"success","data":[{"name":"acc1"},{"name":"acc2"}]} +{"status":"success","data":[{"cluster_id":"slurm-0","resource_manager":"slurm","name":"acc1","users":["usr1","usr15","usr8"]},{"cluster_id":"slurm-1","resource_manager":"slurm","name":"acc1","users":["usr1","usr15","usr8"]}]} diff --git a/pkg/api/testdata/output/e2e-test-api-server-user-admin-query.txt b/pkg/api/testdata/output/e2e-test-api-server-user-admin-query.txt new file mode 100644 index 00000000..10e50dac --- /dev/null +++ b/pkg/api/testdata/output/e2e-test-api-server-user-admin-query.txt @@ -0,0 +1 @@ +{"status":"success","data":[{"cluster_id":"slurm-0","resource_manager":"slurm","name":"usr1","projects":["acc1","acc2"]},{"cluster_id":"slurm-1","resource_manager":"slurm","name":"usr1","projects":["acc1","acc2"]}]} diff --git a/pkg/api/testdata/output/e2e-test-api-server-user-query.txt b/pkg/api/testdata/output/e2e-test-api-server-user-query.txt new file mode 100644 index 00000000..10e50dac --- /dev/null +++ b/pkg/api/testdata/output/e2e-test-api-server-user-query.txt @@ -0,0 +1 @@ +{"status":"success","data":[{"cluster_id":"slurm-0","resource_manager":"slurm","name":"usr1","projects":["acc1","acc2"]},{"cluster_id":"slurm-1","resource_manager":"slurm","name":"usr1","projects":["acc1","acc2"]}]} diff --git a/pkg/api/testdata/output/e2e-test-api-verify-pass-query.txt b/pkg/api/testdata/output/e2e-test-api-verify-pass-query.txt index d7f82459..ca22802d 100644 --- a/pkg/api/testdata/output/e2e-test-api-verify-pass-query.txt +++ b/pkg/api/testdata/output/e2e-test-api-verify-pass-query.txt @@ -1 +1 @@ -{"status":"success","data":[{"user":"usr1","uuids":["1479763","1479765"],"owner":true}]} +{"status":"success","data":null} diff --git a/pkg/api/testdata/sacct b/pkg/api/testdata/sacct index 40b69f25..d8626190 100755 --- a/pkg/api/testdata/sacct +++ b/pkg/api/testdata/sacct @@ -1,7 +1,6 @@ #!/bin/bash -echo """JobIDRaw|Partition|QoS|Account|Group|GID|User|UID|Submit|Start|End|Elapsed|ElapsedRaw|ExitCode|State|Alloctres|NodeList|JobName|WorkDir -1479763|part1|qos1|acc1|grp1|1001|usr1|1001|2022-02-21T14:37:02+0100|2022-02-21T14:37:07+0100|2022-02-21T15:26:29+0100|00:49:22|3000|0:0|CANCELLED by 1001|billing=80,cpu=8,energy=1439089,gres/gpu=8,mem=320G,node=1|compute-0|test_script1|/home/usr1 +echo """1479763|part1|qos1|acc1|grp1|1001|usr1|1001|2022-02-21T14:37:02+0100|2022-02-21T14:37:07+0100|2022-02-21T15:26:29+0100|00:49:22|3000|0:0|CANCELLED by 1001|billing=80,cpu=8,energy=1439089,gres/gpu=8,mem=320G,node=1|compute-0|test_script1|/home/usr1 1481508|part1|qos1|acc2|grp2|1002|usr2|1002|2023-02-21T15:48:20+0100|2023-02-21T15:49:06+0100|2023-02-21T15:57:23+0100|00:08:17|4500|0:0|CANCELLED by 1002|billing=160,cpu=16,energy=1439089,gres/gpu=8,mem=320G,node=2|compute-[0-2]|test_script2|/home/usr2 1481510|part1|qos1|acc3|grp3|1003|usr3|1003|2023-02-21T15:48:20+0100|2023-02-21T15:49:06+0100|2023-02-21T15:57:23+0100|00:00:17|789|0:0|CANCELLED by 1003|billing=160,cpu=16,energy=1439089,gres/gpu=8,mem=320G,node=2|compute-[0-2]|test_script2|/home/usr3 147975|part1|qos1|acc3|grp3|1003|usr3|1003|2023-02-21T14:37:02+0100|2023-02-21T14:37:07+0100|2023-02-21T15:26:29+0100|00:49:22|3000|0:0|CANCELLED by 1003|billing=80,cpu=8,energy=1439089,gres/gpu=8,mem=320G,node=1|compute-0|test_script1|/home/usr3 diff --git a/pkg/api/testdata/sacctmgr b/pkg/api/testdata/sacctmgr new file mode 100755 index 00000000..8a018424 --- /dev/null +++ b/pkg/api/testdata/sacctmgr @@ -0,0 +1,17 @@ +#!/bin/bash + +echo """root| +root|root +acc1| +acc1|usr1 +acc1|usr8 +acc1|usr15 +acc2| +acc2|usr2 +acc2|usr1 +acc3| +acc3|usr3 +acc4| +acc4|usr4 +testacc| +testacc|testusr""" diff --git a/pkg/lb/testdata/ceems_api_server.db b/pkg/lb/testdata/ceems_api_server.db deleted file mode 100644 index 39be4ec3e4130005b733f8f30328cb1e0aa29eea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36864 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 diff --git a/scripts/e2e-test.sh b/scripts/e2e-test.sh index bb90c2f0..fb119dbc 100755 --- a/scripts/e2e-test.sh +++ b/scripts/e2e-test.sh @@ -88,6 +88,22 @@ then then desc="/projects end point test" fixture='pkg/api/testdata/output/e2e-test-api-server-project-query.txt' + elif [ "${scenario}" = "api-project-empty-query" ] + then + desc="/projects end point test with user query a project that they are not part of" + fixture='pkg/api/testdata/output/e2e-test-api-server-project-empty-query.txt' + elif [ "${scenario}" = "api-project-admin-query" ] + then + desc="/projects/admin end point test" + fixture='pkg/api/testdata/output/e2e-test-api-server-project-admin-query.txt' + elif [ "${scenario}" = "api-user-query" ] + then + desc="/users end point test" + fixture='pkg/api/testdata/output/e2e-test-api-server-user-query.txt' + elif [ "${scenario}" = "api-user-admin-query" ] + then + desc="/users/admin end point test" + fixture='pkg/api/testdata/output/e2e-test-api-server-user-admin-query.txt' elif [ "${scenario}" = "api-cluster-admin-query" ] then desc="/clusters/admin end point test" @@ -146,11 +162,11 @@ then fixture='pkg/api/testdata/output/e2e-test-api-verify-fail-query.txt' elif [ "${scenario}" = "api-demo-units-query" ] then - desc="/units/demo end point test" + desc="/demo/units end point test" fixture='pkg/api/testdata/output/e2e-test-api-demo-units-query.txt' elif [ "${scenario}" = "api-demo-usage-query" ] then - desc="/usage/demo end point test" + desc="/demo/usage end point test" fixture='pkg/api/testdata/output/e2e-test-api-demo-usage-query.txt' fi @@ -393,7 +409,19 @@ then if [ "${scenario}" = "api-project-query" ] then - get -H "X-Grafana-User: usr1" "127.0.0.1:${port}/api/${api_version}/projects" > "${fixture_output}" + get -H "X-Grafana-User: usr1" "127.0.0.1:${port}/api/${api_version}/projects?project=acc1" > "${fixture_output}" + elif [ "${scenario}" = "api-project-empty-query" ] + then + get -H "X-Grafana-User: usr1" "127.0.0.1:${port}/api/${api_version}/projects?project=acc3" > "${fixture_output}" + elif [ "${scenario}" = "api-project-admin-query" ] + then + get -H "X-Grafana-User: grafana" "127.0.0.1:${port}/api/${api_version}/projects/admin?project=acc1" > "${fixture_output}" + elif [ "${scenario}" = "api-user-query" ] + then + get -H "X-Grafana-User: usr1" "127.0.0.1:${port}/api/${api_version}/users" > "${fixture_output}" + elif [ "${scenario}" = "api-user-admin-query" ] + then + get -H "X-Grafana-User: grafana" "127.0.0.1:${port}/api/${api_version}/users/admin?user=usr1" > "${fixture_output}" elif [ "${scenario}" = "api-cluster-admin-query" ] then get -H "X-Ceems-User: usr1" "127.0.0.1:${port}/api/${api_version}/clusters/admin" > "${fixture_output}" @@ -438,10 +466,10 @@ then get -H "X-Grafana-User: usr2" "127.0.0.1:${port}/api/${api_version}/units/verify?cluster_id=slurm-1&uuid=1479763&uuid=11508" > "${fixture_output}" elif [ "${scenario}" = "api-demo-units-query" ] then - get -s -o /dev/null -w "%{http_code}" "127.0.0.1:${port}/api/${api_version}/units/demo" > "${fixture_output}" + get -s -o /dev/null -w "%{http_code}" "127.0.0.1:${port}/api/${api_version}/demo/units" > "${fixture_output}" elif [ "${scenario}" = "api-demo-usage-query" ] then - get -s -o /dev/null -w "%{http_code}" "127.0.0.1:${port}/api/${api_version}/usage/demo" > "${fixture_output}" + get -s -o /dev/null -w "%{http_code}" "127.0.0.1:${port}/api/${api_version}/demo/usage" > "${fixture_output}" fi elif [[ "${scenario}" =~ ^"lb" ]] diff --git a/scripts/install.sh b/scripts/install.sh index 63e23947..2af2fc25 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -65,7 +65,7 @@ chmod +x -R "$TMP_DIR/$FILE_NAME" mkdir -p "$CFG_DIR" "$BIN_DIR" cp -r "$TMP_DIR/$FILE_NAME/$APP" "$BIN_DIR/$APP" cp -r "$TMP_DIR/$FILE_NAME/web-config.yml" "$CFG_DIR" - test "$APP" = "ceems_api_server" && cp -r "$TMP_DIR/$FILE_NAME/tsdb-config.yml" "$CFG_DIR" - test "$APP" = "ceems_lb" && cp -r "$TMP_DIR/$FILE_NAME/config.yml" "$CFG_DIR" + test "$APP" = "ceems_api_server" && cp -r "$TMP_DIR/$FILE_NAME/ceems_api_server.yml" "$CFG_DIR" + test "$APP" = "ceems_lb" && cp -r "$TMP_DIR/$FILE_NAME/ceems_lb.yml" "$CFG_DIR" done )