You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
polkit-tqt/tests/test_auth_enum_actions.cpp

55 lines
1.2 KiB

#include <tqstring.h>
#include "core/polkit-tqt-authority.h"
#include "core/polkit-tqt-details.h"
#define TEST_PASSED 0
#define TEST_FAILED 1
using namespace PolkitTQt;
void wait()
{
for (int i = 0; i < 100; i++)
{
usleep(100);
}
}
int main(void)
{
// This needs the file org.tqt.policykit.examples.policy from examples to be installed
ActionDescription::List list = Authority::instance()->enumerateActionsSync();
if (Authority::instance()->hasError())
{
return TEST_FAILED;
}
// Check whether enumerateAction returns at least example actions
int count = 0;
for (const ActionDescription &actionDesc : list)
{
if ((actionDesc.actionId() == "org.tqt.policykit.examples.kick") ||
(actionDesc.actionId() == "org.tqt.policykit.examples.cry") ||
(actionDesc.actionId() == "org.tqt.policykit.examples.bleed"))
{
count++;
}
}
if (count != 3)
{
return TEST_FAILED;
}
// Test cancelling the enumeration
Authority::instance()->enumerateActions();
Authority::instance()->enumerateActionsCancel();
wait();
if (Authority::instance()->hasError())
{
return TEST_FAILED;
}
return TEST_PASSED;
}