Commit a429250

mo khan <mo@mokhan.ca>
2025-03-10 20:34:44
test: check the parsed saml response
1 parent a3a057b
Changed files (2)
bin/idp
@@ -350,11 +350,11 @@ class IdentityProvider
 
           <h2>Sending SAML Response (IdP -> SP)</h2>
           <textarea readonly="readonly" disabled="disabled" cols=225 rows=40><%=- @builder.build.to_xml(pretty: true) -%></textarea>
-          <form action="<%= url %>" method="post">
+          <form id="postback-form" action="<%= url %>" method="post">
             <%- saml_params.each do |(key, value)| -%>
               <input type="hidden" name="<%= key %>" value="<%= value %>" />
             <%- end -%>
-            <input type="submit" value="Submit" />
+            <input id="submit-button" type="submit" value="Submit" />
           </form>
         </body>
       </html>
test/e2e_test.go
@@ -44,6 +44,11 @@ func TestHelloWorld(t *testing.T) {
 				action := x.Must(page.Locator("#idp-form").GetAttribute("action"))
 				assert.Equal(t, "http://idp.example.com:8080/saml/new", action)
 				assert.NoError(t, page.Locator("#submit-button").Click())
+
+				action = x.Must(page.Locator("#postback-form").GetAttribute("action"))
+				assert.Equal(t, "http://ui.example.com:8080/saml/assertions", action)
+				assert.NoError(t, page.Locator("#submit-button").Click())
+				assert.Contains(t, x.Must(page.Content()), "Received SAML Response")
 			})
 		})
 	})