Skip to content

Commit 8c18f14

Browse files
committed
Add test suite for pgvector called run_pgvector_test
Signed-off-by: Petr "Stone" Hracek <phracek@redhat.com>
1 parent 075e430 commit 8c18f14

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

test/run_test

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ run_s2i_enable_ssl_test
2727
run_upgrade_test
2828
run_migration_test
2929
run_pgaudit_test
30+
run_pgvector_test
3031
run_env_extension_load_test
3132
run_logging_test
3233
"
@@ -1039,6 +1040,58 @@ EOSQL" || ret=3
10391040
return $ret
10401041
}
10411042

1043+
# run_pgvector_test
1044+
# --------------------
1045+
# Configure container to include pgvector. Check
1046+
# that pgvector is loaded.
1047+
run_pgvector_test()
1048+
{
1049+
local ret=0
1050+
# extension pgvector is not available for older versions
1051+
case ${VERSION} in
1052+
11|12|15) echo "pgvector not expected, test skipped."; return ;;
1053+
*) ;;
1054+
esac
1055+
case ${OS} in
1056+
fedora)
1057+
echo "pgvector not expected, test skipped."; return ;;
1058+
*) ;;
1059+
esac
1060+
1061+
local config_dir data_dir name=pg-test-pgaudit
1062+
1063+
# create a dir for config
1064+
config_dir=$(mktemp -d --tmpdir vector-hook-volume.XXXXX)
1065+
setfacl -R -m u:26:rwx "$config_dir"
1066+
1067+
# create a dir for data
1068+
create_volume_dir
1069+
data_dir="${volume_dir}"
1070+
1071+
DOCKER_ARGS="
1072+
-e POSTGRESQL_ADMIN_PASSWORD=password
1073+
$DOCKER_EXTRA_ARGS
1074+
-v ${config_dir}:/opt/app-root/src:Z
1075+
-v ${data_dir}:/var/lib/pgsql/data:Z
1076+
" create_container "$name"
1077+
1078+
assert_runtime_option "$name" shared_preload_libraries pgvector || ret=1
1079+
wait_ready "$name" || \
1080+
false "FAIL: Container did not start up properly."
1081+
1082+
# enable the pgvector extension
1083+
docker exec -i $(get_cid "$name") bash -c "psql <<EOSQL
1084+
CREATE EXTENSION vector;
1085+
CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3));
1086+
EOSQL" || ret=2
1087+
1088+
1089+
if [ $ret -eq 0 ]; then
1090+
echo " Success!"
1091+
fi
1092+
return $ret
1093+
}
1094+
10421095
# run_env_extension_load_test
10431096
# --------------------
10441097
# Tries to load pgaudit extension using environment variables

0 commit comments

Comments
 (0)