Test Verifier
Missing audience
$ assertion = makeAssertion("joe@browserid.com", futureDate(), undefined);
$ new IDAssertion(assertion).verify("target.com", Spy('success'), Spy('failure'));
failure("Payload is missing required audience.")
Incorrect audience
$ assertion = makeAssertion("joe@browserid.com", pastDate(), "somewhereelse.com");
$ new IDAssertion(assertion).verify("target.com", Spy('success'), Spy('failure'));
failure("Payload audience does not match provided audience.")
Expired
$ assertion = makeAssertion("joe@browserid.com", pastDate(), "target.com");
$ new IDAssertion(assertion).verify("target.com", Spy('success'), Spy('failure'));
failure("Payload has expired.")
Missing email
$ assertion = makeAssertion(undefined, pastDate(), "target.com");
$ new IDAssertion(assertion).verify("target.com", Spy('success'), Spy('failure'));
failure("Payload is missing required email.")
Missing validUntil
$ assertion = makeAssertion("joe@browserid.com", undefined, "target.com");
$ new IDAssertion(assertion).verify("target.com", Spy('success'), Spy('failure'));
failure("Payload is missing required valid-until.")
Validate
$ assertion = makeAssertion("joe@127.0.0.1:56080", futureDate(), "target.com");
$ var finished;
$ new IDAssertion(assertion).verify("target.com", Spy('success', {wait:true}), Spy('failure'));
success(true)
$ finished = false;