Example #1
0
TEST_F(ActionTest, ExecuteAction) {
    ib_status_t status;
    ib_action_inst_t *act;
    const char *params = "parameters";

    status = ib_action_register(ib_engine,
                                "test_action",
                                create_fn, NULL,
                                NULL, NULL,
                                execute_fn, NULL);
    ASSERT_EQ(IB_OK, status);

    status = ib_action_inst_create(ib_engine,
                                   "test_action",
                                   "INVALID",
                                   &act);
    ASSERT_EQ(IB_EINVAL, status);

    status = ib_action_inst_create(ib_engine,
                                   "test_action",
                                   params,
                                   &act);
    ASSERT_EQ(IB_OK, status);

    action_executed = false;
    status = ib_action_execute(NULL, act);
    ASSERT_EQ(IB_OK, status);
    ASSERT_TRUE(action_executed);
    EXPECT_STREQ(action_str, params);
}
Example #2
0
TEST_F(ActionTest, CallAction) {
    ib_status_t status;
    ib_action_inst_t *act;
    status = ib_action_register(ib_engine,
                                "test_action",
                                NULL, NULL,
                                NULL, NULL,
                                NULL, NULL);
    ASSERT_EQ(IB_OK, status);

    status = ib_action_inst_create(ib_engine,
                                   "test_action", "parameters",
                                   &act);
    ASSERT_EQ(IB_OK, status);

    status = ib_action_execute(NULL, act);
    ASSERT_EQ(IB_OK, status);
}
Example #3
0
ActionInstance ActionInstance::create(
    MemoryManager memory_manager,
    Context       context,
    ConstAction   action,
    const char*   parameters
)
{
    ib_action_inst_t* actioninst;

    throw_if_error(
        ib_action_inst_create(
            &actioninst,
            memory_manager.ib(),
            context.ib(),
            action.ib(),
            parameters
        )
    );

    return ActionInstance(actioninst);
}