Resolve #3581492 "Write automated tests"
Closes #3581492
All tests written and passing:
┌────────────────────────────────────────────────────┬───────┬────────────┐ │ File │ Tests │ Assertions │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Unit/AuthnContextClassRefsTest │ 5 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Kernel/IdpEntityGetterSetterTest │ 4 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Kernel/IdpEntityPersistenceTest │ 7 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Kernel/RequestTrackingTest │ 4 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Kernel/SamlSpSettingsTest │ 9 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Kernel/SamlSpSubscriberTest │ 4 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Kernel/ConfigureProxySubscriberTest │ 3 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Kernel/IdpListBuilderTest │ 3 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Kernel/DrupalLogin/GetUserTest │ 8 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Kernel/DrupalLogin/SessionTest │ 6 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Kernel/DrupalLogin/SamlSpDrupalLoginSubscriberTest │ 5 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Kernel/DrupalLogin/SamlAuthenticateTest │ 6 │ — │ ├────────────────────────────────────────────────────┼───────┼────────────┤ │ Total │ 64 │ 213 │ └────────────────────────────────────────────────────┴───────┴────────────┘
What remains (set aside — require functional test infrastructure):
- Admin forms (IdP add/edit/delete, SP settings form)
- Metadata route (saml_sp.metadata) — renders XML, needs full HTTP stack
- Login form alters (saml_sp_drupal_login_form_user_login_form_alter)