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); }
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); }
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); }