提交 617aae6f 编写于 作者: L lifeng68

CI: add testcases for auth pull image

Signed-off-by: Nlifeng68 <lifeng68@huawei.com>
上级 99b9c5f4
......@@ -26,6 +26,7 @@ function test_image_list()
{
local ret=0
local image="hello-world"
local image_busybox="busybox"
local INVALID_IMAGE="k~k"
local test="list images info test => (${FUNCNAME[@]})"
......@@ -40,9 +41,27 @@ function test_image_list()
isula images | grep hello
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - missing list image: ${image}" && ((ret++))
isula pull ${image_busybox}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to pull image: ${image_busybox}" && return ${FAILURE}
isula images | grep busybox
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - missing list image: ${image}" && ((ret++))
count=`isula images --filter "reference=*hello*" | grep hello | wc -l`
[[ $count -ne 1 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - missing list image: ${image} with filter" && ((ret++))
isula images --filter "since=${image}"
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to list images with since: ${image}" && ((ret++))
isula images --filter "before=${image}"
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to list images with before: ${image}" && ((ret++))
isula images --filter "since=${image_busybox}"
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to list images with since: ${image_busybox}" && ((ret++))
isula images --filter "before=${image_busybox}"
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to list images with since: ${image_busybox}" && ((ret++))
isula rmi ${image}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to remove image ${image}" && ((ret++))
......
......@@ -30,7 +30,10 @@ function test_crictl_image()
msg_info "${test} starting..."
crictl pull ${image}
crictl pull --creds test:test ${image}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to pull image: ${image}" && return ${FAILURE}
crictl pull --auth dGVzdDp0ZXN0 ${image}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to pull image: ${image}" && return ${FAILURE}
crictl inspecti busybox | grep busybox
......
......@@ -30,7 +30,7 @@
#include "utils_base64.h"
#include "utils_string.h"
static int decode_auth(char *auth, char **username, char **password)
static int decode_auth(const char *auth, char **username, char **password)
{
int nret = 0;
int ret = 0;
......@@ -111,14 +111,16 @@ static int pull_image(const im_pull_request *request, char **name)
ERROR("Out of memory");
goto out;
}
options->auth.username = request->username;
options->auth.password = request->password;
if (request->auth != NULL) {
ret = decode_auth(request->auth, &options->auth.username, &options->auth.password);
if (ret != 0) {
ERROR("Decode auth failed");
goto out;
}
} else {
options->auth.username = util_strdup_s(request->username);
options->auth.password = util_strdup_s(request->password);
}
options->skip_tls_verify = conf_get_skip_insecure_verify_flag();
......
......@@ -116,7 +116,7 @@ size_t util_base64_encode_len(size_t len)
}
}
size_t util_base64_decode_len(char *input, size_t len)
size_t util_base64_decode_len(const char *input, size_t len)
{
size_t padding_count = 0;
......@@ -135,7 +135,7 @@ size_t util_base64_decode_len(char *input, size_t len)
return (strlen(input) / 4 * 3) - padding_count;
}
size_t util_base64_decode(char *input, size_t len, unsigned char *out, size_t out_len)
size_t util_base64_decode(const char *input, size_t len, unsigned char *out, size_t out_len)
{
BIO *base64 = NULL;
BIO *io = NULL;
......
......@@ -28,12 +28,11 @@ extern "C" {
// note: the output length must include the '\0' and the return size is include the '\0'.
size_t util_base64_encode(unsigned char *bytes, size_t len, char *out, size_t out_len);
size_t util_base64_encode_len(size_t len);
size_t util_base64_decode(char *input, size_t len, unsigned char *out, size_t out_len);
size_t util_base64_decode_len(char *input, size_t len);
size_t util_base64_decode(const char *input, size_t len, unsigned char *out, size_t out_len);
size_t util_base64_decode_len(const char *input, size_t len);
#ifdef __cplusplus
}
#endif
#endif // UTILS_CUTILS_UTILS_BASE64_H
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册