static void
init_test_case ()
{
  loop = NULL;
  urls = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
                                g_object_unref);
  urls_registered = 0;
  signal_count = 0;
  counted = 0;
  port = 0;
  host = NULL;

  setenv ("GST_PLUGIN_PATH", "./plugins", TRUE);
  gst_init (NULL, NULL);

  GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, GST_DEFAULT_NAME, 0,
                           GST_DEFAULT_NAME);

  loop = g_main_loop_new (NULL, FALSE);
  session = soup_session_new_with_options (SOUP_SESSION_MAX_CONNS,
            MAX_REGISTERED_HTTP_END_POINTS, SOUP_SESSION_MAX_CONNS_PER_HOST,
            MAX_REGISTERED_HTTP_END_POINTS, NULL);

  /* Start Http End Point Server */
  httpepserver = kms_http_ep_server_new (NULL);
}
HttpEndPointServer::HttpEndPointServer ()
{
  server = kms_http_ep_server_new (
             KMS_HTTP_EP_SERVER_PORT, HttpEndPointServer::port,
             KMS_HTTP_EP_SERVER_INTERFACE,
             (HttpEndPointServer::interface.empty() ) ? NULL :
             HttpEndPointServer::interface.c_str (),
             KMS_HTTP_EP_SERVER_ANNOUNCED_IP,
             (HttpEndPointServer::announcedAddr.empty() ) ? NULL :
             HttpEndPointServer::announcedAddr.c_str (),
             NULL);

  logHandler = [&] (GError * err) {
    if (err != NULL) {
      GST_ERROR ("%s", err->message);
    }
  };
}