2 #include <cgreen/cgreen.h>
3 #include <freeradius/libradius.h>
4 #include "radsec/radsec.h"
5 #include "radsec/request.h"
7 #define true 1 /* FIXME: Bug report cgreen. */
10 #define FREERADIUS_DICT "/usr/share/freeradius/dictionary"
13 authenticate (struct rs_connection *conn, const char *user, const char *pw)
15 struct rs_request *req;
16 struct rs_packet *msg, *resp;
18 assert_true (rs_request_create (conn, &req) == 0);
19 assert_true (rs_packet_create_auth_request (conn, &msg, user, pw) == 0);
20 assert_true (rs_request_send (req, msg, &resp) == 0);
21 assert_true (rs_packet_frpkt (resp)->code == PW_AUTHENTICATION_ACK);
23 rs_request_destroy(req);
28 send_more_than_one_msg_in_one_packet (const char *server)
30 struct rs_request *req;
31 struct rs_packet *msg, *resp;
38 /* ************************************************************ */
49 struct rs_context *ctx;
50 struct rs_connection *conn;
52 assert_true (rs_context_create (&ctx, FREERADIUS_DICT) == 0);
53 assert_true (rs_context_read_config (ctx, setup.config_file) == 0);
54 assert_true (rs_conn_create (ctx, &conn, setup.config_name) == 0);
56 authenticate (conn, setup.username, setup.pw);
58 rs_conn_destroy (conn);
59 rs_context_destroy (ctx);
63 test_udp (int argc, char *argv[], TestSuite *ts)
65 add_test (ts, test_auth);
68 return run_single_test (ts, argv[1], create_text_reporter ());
70 return run_test_suite (ts, create_text_reporter ());
74 main (int argc, char *argv[])
76 TestSuite *ts = create_test_suite ();
78 setup.config_file = "test.conf";
79 setup.config_name = "test-udp";
80 setup.username = "molgan";
81 setup.pw = "password";
83 return test_udp (argc, argv, ts);