test expand recurse

master
Bel LaPointe 2022-02-01 10:56:55 -07:00
parent 4907dcdc4f
commit 451bef450c
2 changed files with 23 additions and 6 deletions

View File

@ -47,7 +47,7 @@ gitlab() (
local root="${2:-"/"}"
local b64_files=()
local b64_trees=("$root")
local b64_trees=("$(echo "$root" | base64)")
local i=0
find_each() {
@ -61,7 +61,7 @@ gitlab() (
| grep .
}
while [ "$i" -lt "${#b64_trees[@]}" ]; do
got="$(_list_tree "$project" "${b64_trees[i]}")"
got="$(_list_tree "$project" "$(echo "${b64_trees[i]}" | base64 --decode)")"
for b64_tree in $(find_each "tree" "$got"); do
if ! echo "${b64_trees[@]}" | grep -q "[ ^]$b64_tree[ $]"; then
b64_trees+=("$b64_tree")
@ -82,7 +82,7 @@ gitlab() (
_list_tree() {
local project="$(urlencode "$1")"
local path="/api/v4/projects/$project/repository/tree"
local path="api/v4/projects/$project/repository/tree"
local query="recursive=true&path=$2"
_gcurl "https://gitlab-app.eng.qops.net/$path?$query"
}

View File

@ -1,11 +1,28 @@
#! /bin/bash
test_get() {
test___expand() {
gitlab eval "$(cat <<EOF
_gcurl() {
echo "\$*" | grep -q api.v4.projects.my%20project.repository.files.my%20file.raw
case "\$1" in
'https://gitlab-app.eng.qops.net/api/v4/projects/project/repository/tree?recursive=true&path=dir' )
echo '[
{"id": "a", "name": "dir2", "type": "tree", "path": "dir/dir2", "mode": "040000"},
{"id": "b", "name": "blob", "type": "blob", "path": "dir/blob", "mode": "100644"}
]'
;;
'https://gitlab-app.eng.qops.net/api/v4/projects/project/repository/tree?recursive=true&path=dir/dir2' )
echo '[
{"id": "c", "name": "blob2", "type": "blob", "path": "dir/dir2/blob2", "mode": "100644"}
]'
;;
* )
return 1
;;
esac
}
get "my project" "my file"
__expand project dir | grep -q ^$(echo project | base64)$
__expand project dir | grep -q ^$(echo dir/blob | base64)$
__expand project dir | grep -q ^$(echo dir/dir2/blob2 | base64)$
EOF
)"
}