END_TEST

START_TEST(setCASCookieExpiryNow_test) {
	const char *expected = "cookie_name=cookie_value;Path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT";
	const char *ernVal;

  fail_if (apr_table_get(request->err_headers_out, "Set-Cookie") != NULL);
	setCASCookie(request, "cookie_name", "cookie_value", FALSE, CAS_SESSION_EXPIRE_COOKIE_NOW);
	ernVal = apr_table_get(request->err_headers_out, "Set-Cookie");
	fail_unless(0 == strcmp(ernVal, expected), ernVal);
}
END_TEST

START_TEST(setCASCookieExpiryFiveSeconds_test) {
  const char *expected = "cookie_name=cookie_value;Path=/; expires=Thu, 01 Jan 1970 00:00:05 GMT";
  const char *eeVal;
  apr_time_t fiveSecPastEpoch = 5000000;

  fail_if (apr_table_get(request->err_headers_out, "Set-Cookie") != NULL);
  setCASCookie(request, "cookie_name", "cookie_value", FALSE, fiveSecPastEpoch);
  eeVal = apr_table_get(request->err_headers_out, "Set-Cookie");
  fail_unless(0 == strcmp(eeVal, expected), eeVal);
}
END_TEST

START_TEST(setCASCookie_test) {
  const char *expected = "cookie_name=cookie_value;Path=/";
  const char *rv;
  fail_if (apr_table_get(request->err_headers_out, "Set-Cookie") != NULL);
  setCASCookie(request, "cookie_name", "cookie_value", FALSE);
  rv = apr_table_get(request->err_headers_out, "Set-Cookie");
  fail_unless(strcmp(rv, expected) == 0);

  /* TODO(pames): test with CASRootProxiedAs */
  /* TODO(pames): test with secure, domain, httponly, a specific path... */
}