| type mockCaveatSelector struct { |
| // NewMockCaveatSelector returns a CaveatSelector that always returns a default set |
| // of caveats: [exprity caveat with a 1h expiry, revocation caveat, and a method caveat |
| // for methods "methodA" and "methodB"] and the additional extension: "test-extension" |
| // This selector is only meant to be used during testing. |
| func NewMockCaveatSelector() CaveatSelector { |
| return &mockCaveatSelector{} |
| func (s *mockCaveatSelector) Render(_, state, redirectURL string, w http.ResponseWriter, r *http.Request) error { |
| http.Redirect(w, r, redirectURL, http.StatusFound) |
| func (s *mockCaveatSelector) ParseSelections(r *http.Request) (caveats []CaveatInfo, state string, additionalExtension string, err error) { |
| CaveatInfo{"Revocation", []interface{}{}}, |
| CaveatInfo{"Expiry", []interface{}{time.Now().Add(time.Hour)}}, |
| CaveatInfo{"Method", []interface{}{"methodA", "methodB"}}, |
| additionalExtension = "test-extension" |