NUBIC/aker — pull request #30 by yipdw (2013-09-04 20:43:38+00:00)
Title: Use a custom CAS server for CAS integration tests

I would like Aker's tests to run with ActiveSupport 4.x -- there's nothing in Aker proper that won't work with it. This is the most future-proof and direct way I could think of; other suggestions welcome.

Here's why I chose this route (from ff22b7291997cde692125efce31e7bf5cae6d9b7):

```
Justification:

1. Aker-Rails needs to officially support Rails 4.x.
2. To satisfy (1), Aker must work with ActiveSupport 4.x.
3. To satisfy (2), all of Aker's tests must pass with ActiveSupport 4.x.
4. The version of RubyCAS-Server that we use (RS) does not work with
ActiveSupport 4.x.
5. The most recent version of RubyCAS-Server (RS') also does not work with
ActiveSupport 4.x.
6. The startup procedure for RS' differs from the procedure for RS.
7. The problem with RS' and ActiveSupport 4.x looks like adjustments for
changes in ActiveRecord 4.x. I've looked into them, but didn't make
much headway into solving the problem.
8. We do not need a database connection (or even an embedded database)
to run Aker's CAS tests; we just need the server component of the CAS
protocol.

The TestCasServer component (features/support/test_cas.rb) is an
implementation of CAS 2.0. It does not use a database, and has only two
direct dependencies: sinatra and escape_utils.
```

Of course, there's one big issue with this: _there's no way to know if this CAS server actually implements CAS._

I've run `castanet`'s test suite against the CAS server in this commit, and it passes, but all that's saying is that something I wrote against Jasig's CAS server also works against a CAS server I wrote. So it's worth something, but not much. If we had a standalone CAS server compliance test suite, that'd help a lot -- but I can't find anything like that out there.