1 // Copyright 2024 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef NET_DEVICE_BOUND_SESSIONS_MOCK_SESSION_SERVICE_H_ 6 #define NET_DEVICE_BOUND_SESSIONS_MOCK_SESSION_SERVICE_H_ 7 8 #include <string> 9 #include <utility> 10 11 #include "base/containers/span.h" 12 #include "net/device_bound_sessions/registration_fetcher_param.h" 13 #include "net/device_bound_sessions/session_challenge_param.h" 14 #include "net/device_bound_sessions/session_service.h" 15 #include "net/test/embedded_test_server/embedded_test_server.h" 16 #include "testing/gmock/include/gmock/gmock.h" 17 #include "url/gurl.h" 18 19 namespace net::device_bound_sessions { 20 21 class SessionServiceMock : public SessionService { 22 public: 23 SessionServiceMock(); 24 ~SessionServiceMock() override; 25 26 MOCK_METHOD(void, 27 RegisterBoundSession, 28 (OnAccessCallback on_access_callback, 29 RegistrationFetcherParam registration_params, 30 const IsolationInfo& isolation_info), 31 (override)); 32 MOCK_METHOD(std::optional<Session::Id>, 33 GetAnySessionRequiringDeferral, 34 (URLRequest * request), 35 (override)); 36 MOCK_METHOD(void, 37 DeferRequestForRefresh, 38 (URLRequest * request, 39 Session::Id session_id, 40 RefreshCompleteCallback restart_callback, 41 RefreshCompleteCallback continue_callback), 42 (override)); 43 MOCK_METHOD(void, 44 SetChallengeForBoundSession, 45 (OnAccessCallback on_access_callback, 46 const GURL& request_url, 47 const SessionChallengeParam& challenge_param), 48 (override)); 49 MOCK_METHOD( 50 void, 51 GetAllSessionsAsync, 52 (base::OnceCallback<void(const std::vector<SessionKey>&)> callback), 53 (override)); 54 MOCK_METHOD(void, 55 DeleteSession, 56 (const SchemefulSite& site, const Session::Id& id), 57 (override)); 58 }; 59 60 } // namespace net::device_bound_sessions 61 62 #endif // NET_DEVICE_BOUND_SESSIONS_MOCK_SESSION_SERVICE_H_ 63