Message ID | 20230706083035.623802-4-kkostiuk@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | qga: Add new option --allow-rpcs | expand |
On Thu, Jul 6, 2023 at 12:32 PM Konstantin Kostiuk <kkostiuk@redhat.com> wrote: > Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com> > Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > tests/unit/test-qga.c | 31 +++++++++++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > > diff --git a/tests/unit/test-qga.c b/tests/unit/test-qga.c > index 360b4cab23..671e83cb86 100644 > --- a/tests/unit/test-qga.c > +++ b/tests/unit/test-qga.c > @@ -665,6 +665,36 @@ static void test_qga_blockedrpcs(gconstpointer data) > fixture_tear_down(&fix, NULL); > } > > +static void test_qga_allowedrpcs(gconstpointer data) > +{ > + TestFixture fix; > + QDict *ret, *error; > + const gchar *class, *desc; > + > + fixture_setup(&fix, "-a guest-ping,guest-get-time", NULL); > + > + /* check allowed RPCs */ > + ret = qmp_fd(fix.fd, "{'execute': 'guest-ping'}"); > + qmp_assert_no_error(ret); > + qobject_unref(ret); > + > + ret = qmp_fd(fix.fd, "{'execute': 'guest-get-time'}"); > + qmp_assert_no_error(ret); > + qobject_unref(ret); > + > + /* check something else */ > + ret = qmp_fd(fix.fd, "{'execute': 'guest-get-fsinfo'}"); > + g_assert_nonnull(ret); > + error = qdict_get_qdict(ret, "error"); > + class = qdict_get_try_str(error, "class"); > + desc = qdict_get_try_str(error, "desc"); > + g_assert_cmpstr(class, ==, "CommandNotFound"); > + g_assert_nonnull(g_strstr_len(desc, -1, "has been disabled")); > + qobject_unref(ret); > + > + fixture_tear_down(&fix, NULL); > +} > + > static void test_qga_config(gconstpointer data) > { > GError *error = NULL; > @@ -1090,6 +1120,7 @@ int main(int argc, char **argv) > test_qga_fsfreeze_status); > > g_test_add_data_func("/qga/blockedrpcs", NULL, test_qga_blockedrpcs); > + g_test_add_data_func("/qga/allowedrpcs", NULL, test_qga_allowedrpcs); > g_test_add_data_func("/qga/config", NULL, test_qga_config); > g_test_add_data_func("/qga/guest-exec", &fix, test_qga_guest_exec); > g_test_add_data_func("/qga/guest-exec-separated", &fix, > -- > 2.34.1 > > >
diff --git a/tests/unit/test-qga.c b/tests/unit/test-qga.c index 360b4cab23..671e83cb86 100644 --- a/tests/unit/test-qga.c +++ b/tests/unit/test-qga.c @@ -665,6 +665,36 @@ static void test_qga_blockedrpcs(gconstpointer data) fixture_tear_down(&fix, NULL); } +static void test_qga_allowedrpcs(gconstpointer data) +{ + TestFixture fix; + QDict *ret, *error; + const gchar *class, *desc; + + fixture_setup(&fix, "-a guest-ping,guest-get-time", NULL); + + /* check allowed RPCs */ + ret = qmp_fd(fix.fd, "{'execute': 'guest-ping'}"); + qmp_assert_no_error(ret); + qobject_unref(ret); + + ret = qmp_fd(fix.fd, "{'execute': 'guest-get-time'}"); + qmp_assert_no_error(ret); + qobject_unref(ret); + + /* check something else */ + ret = qmp_fd(fix.fd, "{'execute': 'guest-get-fsinfo'}"); + g_assert_nonnull(ret); + error = qdict_get_qdict(ret, "error"); + class = qdict_get_try_str(error, "class"); + desc = qdict_get_try_str(error, "desc"); + g_assert_cmpstr(class, ==, "CommandNotFound"); + g_assert_nonnull(g_strstr_len(desc, -1, "has been disabled")); + qobject_unref(ret); + + fixture_tear_down(&fix, NULL); +} + static void test_qga_config(gconstpointer data) { GError *error = NULL; @@ -1090,6 +1120,7 @@ int main(int argc, char **argv) test_qga_fsfreeze_status); g_test_add_data_func("/qga/blockedrpcs", NULL, test_qga_blockedrpcs); + g_test_add_data_func("/qga/allowedrpcs", NULL, test_qga_allowedrpcs); g_test_add_data_func("/qga/config", NULL, test_qga_config); g_test_add_data_func("/qga/guest-exec", &fix, test_qga_guest_exec); g_test_add_data_func("/qga/guest-exec-separated", &fix,
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com> --- tests/unit/test-qga.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)