• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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