int main(int argc, char **argv) { riemann_message_t msg = RIEMANN_MSG_INIT; riemann_message_t *resp; riemann_query_t qry = RIEMANN_QUERY_INIT; riemann_client_t cli = RIEMANN_CLIENT_INIT; int i; if (argc != 3) { fprintf(stderr, "%s <IP> <PORT>\n", argv[0]); exit(EXIT_FAILURE); } riemann_query_set_string(&qry, "true"); riemann_message_set_query(&msg, &qry); riemann_client_connect(&cli, TCP, argv[1], atoi(argv[2])); riemann_client_send_message(&cli, &msg, 0, NULL); resp = riemann_client_recv_message(&cli, 0, NULL); if (!resp->ok) { fprintf(stderr, "Message error %s\n", resp->error); exit(EXIT_FAILURE); } else { puts("Sucess"); } for (i = 0; i < resp->n_events; i++) puts(resp->events[i]->service); riemann_message_free(resp); /* responses should be freed */ riemann_client_free(&cli); return 0; }
int main(int argc, char **argv) { riemann_message_t msg = RIEMANN_MSG_INIT; riemann_message_t *resp; riemann_query_t qry = RIEMANN_QUERY_INIT; riemann_client_t cli; int i; int error; if (argc != 4) { fprintf(stderr, "%s <IP> <PORT> <FMT>\n", argv[0]); exit(EXIT_FAILURE); } riemann_query_set_string(&qry, "true"); riemann_message_set_query(&msg, &qry); riemann_client_init(&cli); riemann_client_connect(&cli, RIEMANN_TCP, argv[1], atoi(argv[2])); riemann_client_send_message(&cli, &msg, 0, NULL); resp = riemann_client_recv_message(&cli, 0, NULL); if (!resp->ok) { fprintf(stderr, "Message error %s\n", resp->error); exit(EXIT_FAILURE); } else { puts("Sucess"); } for (i = 0; i < resp->n_events; i++) { error = riemann_event_strfevent(buffer, BUFSIZ, argv[3], resp->events[i]); if (error) { fprintf(stderr, "riemann_event_strfevent() error\n"); exit(EXIT_FAILURE); } puts(buffer); } riemann_message_free(resp); /* responses should be freed */ riemann_client_free(&cli); return 0; }
END_TEST START_TEST (test_riemann_simple_communicate) { riemann_client_t *client, *dummy_client; riemann_message_t *message, *response; client = riemann_client_create (RIEMANN_CLIENT_TCP, "127.0.0.1", 5555); message = riemann_message_create_with_events (riemann_event_create (RIEMANN_EVENT_FIELD_HOST, "localhost", RIEMANN_EVENT_FIELD_SERVICE, "test_riemann_simple_communicate", RIEMANN_EVENT_FIELD_STATE, "ok", RIEMANN_EVENT_FIELD_NONE), NULL); ck_assert (riemann_communicate (NULL, NULL) == NULL); ck_assert_errno (-errno, ENOTCONN); ck_assert (riemann_communicate (client, NULL) == NULL); ck_assert_errno (-errno, EINVAL); ck_assert (riemann_communicate (NULL, message) == NULL); ck_assert_errno (-errno, ENOTCONN); message = riemann_message_create_with_events (riemann_event_create (RIEMANN_EVENT_FIELD_HOST, "localhost", RIEMANN_EVENT_FIELD_SERVICE, "test_riemann_simple_communicate", RIEMANN_EVENT_FIELD_STATE, "ok", RIEMANN_EVENT_FIELD_NONE), NULL); dummy_client = riemann_client_new (); ck_assert (riemann_communicate (dummy_client, message) == NULL); ck_assert_errno (-errno, ENOTCONN); riemann_client_free (dummy_client); message = riemann_message_create_with_events (riemann_event_create (RIEMANN_EVENT_FIELD_HOST, "localhost", RIEMANN_EVENT_FIELD_SERVICE, "test_riemann_simple_communicate", RIEMANN_EVENT_FIELD_STATE, "ok", RIEMANN_EVENT_FIELD_NONE), NULL); response = riemann_communicate (client, message); ck_assert (response != NULL); ck_assert_int_eq (response->ok, 1); riemann_message_free (response); response = riemann_communicate (client, riemann_message_create_with_query (riemann_query_new ("true"))); ck_assert (response != NULL); ck_assert_int_eq (response->ok, 1); ck_assert (response->n_events > 0); riemann_message_free (response); riemann_client_disconnect (client); riemann_client_connect (client, RIEMANN_CLIENT_UDP, "127.0.0.1", 5555); message = riemann_message_create_with_events (riemann_event_create (RIEMANN_EVENT_FIELD_HOST, "localhost", RIEMANN_EVENT_FIELD_SERVICE, "test_riemann_simple_communicate", RIEMANN_EVENT_FIELD_STATE, "ok", RIEMANN_EVENT_FIELD_NONE), NULL); response = riemann_communicate (client, message); ck_assert (response != NULL); ck_assert_int_eq (response->ok, 1); riemann_message_free (response); riemann_client_disconnect (client); riemann_client_connect (client, RIEMANN_CLIENT_TCP, "127.0.0.1", 5555); message = riemann_message_create_with_events (riemann_event_create (RIEMANN_EVENT_FIELD_HOST, "localhost", RIEMANN_EVENT_FIELD_SERVICE, "test_riemann_simple_communicate #2", RIEMANN_EVENT_FIELD_STATE, "ok", RIEMANN_EVENT_FIELD_NONE), NULL); riemann_message_set_query (message, riemann_query_new ("true")); response = riemann_communicate (client, message); ck_assert (response != NULL); ck_assert_int_eq (response->ok, 1); ck_assert (response->n_events > 0); riemann_message_free (response); riemann_client_disconnect (client); riemann_client_connect (client, RIEMANN_CLIENT_UDP, "127.0.0.1", 5555); message = riemann_message_create_with_events (riemann_event_create (RIEMANN_EVENT_FIELD_HOST, "localhost", RIEMANN_EVENT_FIELD_SERVICE, "test_riemann_simple_communicate #2", RIEMANN_EVENT_FIELD_STATE, "ok", RIEMANN_EVENT_FIELD_NONE), NULL); riemann_message_set_query (message, riemann_query_new ("true")); response = riemann_communicate (client, message); ck_assert (response != NULL); ck_assert_int_eq (response->ok, 1); ck_assert (response->n_events == 0); riemann_message_free (response); riemann_client_disconnect (client); riemann_client_free (client); }