blob: 3a0e82896381fb5c2b1698afa0375dbd37d329de [file] [log] [blame]
Jiri Simsad7616c92015-03-24 23:44:30 -07001// Copyright 2015 The Vanadium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
Suharsh Sivakumara76dba62014-12-22 16:00:34 -08005package oauth
6
Bogdan Caprita013b1062015-05-06 17:15:15 -07007const MockClient = "test-client"
Ankur123a5c72015-01-12 16:03:43 -08008
Suharsh Sivakumara76dba62014-12-22 16:00:34 -08009// mockOAuth is a mock OAuthProvider for use in tests.
Bogdan Caprita013b1062015-05-06 17:15:15 -070010type mockOAuth struct {
11 email string
12}
Suharsh Sivakumara76dba62014-12-22 16:00:34 -080013
Bogdan Caprita013b1062015-05-06 17:15:15 -070014func NewMockOAuth(mockEmail string) OAuthProvider {
15 return &mockOAuth{email: mockEmail}
Suharsh Sivakumara76dba62014-12-22 16:00:34 -080016}
17
Asim Shankar024983f2015-04-21 15:36:16 -040018func (m *mockOAuth) AuthURL(redirectUrl string, state string, _ AuthURLApproval) string {
Suharsh Sivakumara76dba62014-12-22 16:00:34 -080019 return redirectUrl + "?state=" + state
20}
21
Ankur123a5c72015-01-12 16:03:43 -080022func (m *mockOAuth) ExchangeAuthCodeForEmail(string, string) (string, error) {
Bogdan Caprita013b1062015-05-06 17:15:15 -070023 return m.email, nil
Ankur123a5c72015-01-12 16:03:43 -080024}
25
26func (m *mockOAuth) GetEmailAndClientName(string, []AccessTokenClient) (string, string, error) {
Bogdan Caprita013b1062015-05-06 17:15:15 -070027 return m.email, MockClient, nil
Suharsh Sivakumara76dba62014-12-22 16:00:34 -080028}