Exemplo n.º 1
0
END_TEST

START_TEST (test_cometd_process_connect_takes_advice_when_it_exists)
{
    cometd_conn* conn = g_instance->conn;
    cometd_conn_set_client_id(conn, "testid");
    cometd_conn_set_transport(conn, &TEST_TRANSPORT);

    // set advice
    JsonNode* msg = cometd_msg_connect_new(g_instance);
    cometd_advice* advice = cometd_advice_new();
    cometd_msg_set_advice(msg, advice);
    cometd_process_connect(g_instance, msg);

    // no advice
    JsonNode* bad_connect = cometd_msg_bad_connect_new(g_instance);
    cometd_process_connect(g_instance, bad_connect);

    // assert advice exists
    fail_unless(cometd_conn_advice(conn)->reconnect == COMETD_RECONNECT_NONE);

    cometd_advice_destroy(advice);
    json_node_free(msg);
    json_node_free(bad_connect);
}
Exemplo n.º 2
0
JsonNode*
cometd_recv(const cometd* h)
{
  JsonNode *payload = NULL;
  cometd_transport* transport = NULL;
  
  transport = cometd_current_transport(h);
  g_assert(transport != NULL);

  payload = transport->recv(h);

  if (payload == NULL)
    payload = cometd_msg_wrap(cometd_msg_bad_connect_new(h));

  return payload;
}
Exemplo n.º 3
0
END_TEST

START_TEST (test_cometd_msg_bad_connect_new)
{
  cometd* h = cometd_new();
  cometd_conn* conn = h->conn;

  cometd_conn_set_client_id(conn, "testid");
  cometd_conn_set_transport(conn, &TEST_TRANSPORT);

  JsonNode* msg   = cometd_msg_bad_connect_new(h);
  JsonObject* obj = json_node_get_object(msg);

  const gboolean successful = json_object_get_boolean_member(obj, COMETD_MSG_SUCCESSFUL_FIELD);
  fail_if(successful);
  
  json_node_free(msg);
  cometd_destroy(h);
}