From: Petr Štetiar Date: Mon, 12 Oct 2020 11:30:18 +0000 (+0200) Subject: Disable session ACLs during unit testing X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=21831f45d16d0e95102f0a9ffea2dfbafc9da6ce;p=project%2Fcgi-io.git Disable session ACLs during unit testing Otherwise we would need to setup ubus infrastructure etc. Signed-off-by: Petr Štetiar --- diff --git a/CMakeLists.txt b/CMakeLists.txt index b60d08e..ae37f1f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,7 @@ ADD_EXECUTABLE(cgi-io main.c) TARGET_LINK_LIBRARIES(cgi-io cgi-lib ${ubox} ${ubus}) IF(UNIT_TESTING) + ADD_DEFINITIONS(-DUNIT_TESTING) ENABLE_TESTING() ADD_SUBDIRECTORY(tests) ENDIF() diff --git a/main.c b/main.c index ff9bb63..95a62b8 100644 --- a/main.c +++ b/main.c @@ -72,6 +72,10 @@ struct state int tempfd; }; +static struct state st; + +#ifndef UNIT_TESTING + enum { SES_ACCESS, __SES_MAX, @@ -81,9 +85,6 @@ static const struct blobmsg_policy ses_policy[__SES_MAX] = { [SES_ACCESS] = { .name = "access", .type = BLOBMSG_TYPE_BOOL }, }; - -static struct state st; - static void session_access_cb(struct ubus_request *req, int type, struct blob_attr *msg) { @@ -98,10 +99,14 @@ session_access_cb(struct ubus_request *req, int type, struct blob_attr *msg) if (tb[SES_ACCESS]) *allow = blobmsg_get_bool(tb[SES_ACCESS]); } +#endif static bool session_access(const char *sid, const char *scope, const char *obj, const char *func) { +#ifdef UNIT_TESTING + return true; +#else uint32_t id; bool allow = false; struct ubus_context *ctx; @@ -125,6 +130,7 @@ out: ubus_free(ctx); return allow; +#endif } static char *