]> rtime.felk.cvut.cz Git - frescor/frsh.git/blob - frsh_api/tests/negotiation.c
Remove "Setup" header from tests
[frescor/frsh.git] / frsh_api / tests / negotiation.c
1 #include <frsh.h>
2 #include <error.h>
3 #include <res_dummy.h>
4 #include <getopt.h>
5 #include <ul_logreg.h>
6 #include <wvtest.h>
7
8 WVTEST_MAIN("single negotiation and cancelation")
9 {
10         int ret;
11
12         frsh_contract_t contract, c;
13         frsh_vres_id_t vres;
14         frsh_rel_time_t budget, period, deadline;
15
16         setenv("WVTEST_DIE_FAST", "", 1);
17         ret = WVFRSH(frsh_init());
18
19         /* Negotiate the contract */
20         ret = WVFRSH(frsh_contract_init(&contract));
21         
22         ret = WVFRSH(frsh_contract_set_resource_and_label(
23                              &contract,
24                              DUMMY_RESOURCE_TYPE, DUMMY_RESOURCE_ID,
25                              NULL));
26         
27         budget = fosa_msec_to_rel_time(10);
28         period = fosa_msec_to_rel_time(100);
29         deadline = fosa_msec_to_rel_time(50);
30         ret = WVFRSH(frsh_contract_set_basic_params(&contract,
31                                                     &budget,
32                                                     &period,
33                                                     FRSH_WT_BOUNDED,
34                                                     FRSH_CT_REGULAR));
35         
36         ret = WVFRSH(frsh_contract_set_timing_reqs(&contract,
37                                                    false, &deadline));
38         
39         ret = WVFRSH(frsh_contract_negotiate(&contract, &vres));
40         WVFRSH(frsh_vres_get_contract(vres, &c));
41         WVPASS(fres_contract_get_budget(&c, &budget));
42         WVPASS(fosa_rel_time_to_msec(budget) == 10);
43
44         /* Cancel the contract */
45         ret = WVFRSH(frsh_contract_cancel(vres));
46
47         frsh_destroy();
48 }