Use base::Clock in AuthManager for better testing
Change-Id: Ifbb23e4da565a1c86ff728803d2e07e3f8c3b1f4
Reviewed-on: https://weave-review.googlesource.com/1873
Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/src/privet/auth_manager.h b/src/privet/auth_manager.h
index 8dd6a36..b3a9599 100644
--- a/src/privet/auth_manager.h
+++ b/src/privet/auth_manager.h
@@ -8,6 +8,7 @@
#include <string>
#include <vector>
+#include <base/time/default_clock.h>
#include <base/time/time.h>
#include <weave/error.h>
@@ -19,11 +20,11 @@
class AuthManager {
public:
AuthManager(const std::vector<uint8_t>& secret,
- const std::vector<uint8_t>& certificate_fingerprint);
+ const std::vector<uint8_t>& certificate_fingerprint,
+ base::Clock* clock = nullptr);
~AuthManager();
- std::vector<uint8_t> CreateAccessToken(const UserInfo& user_info,
- const base::Time& time);
+ std::vector<uint8_t> CreateAccessToken(const UserInfo& user_info);
UserInfo ParseAccessToken(const std::vector<uint8_t>& token,
base::Time* time) const;
@@ -31,9 +32,14 @@
const std::vector<uint8_t>& GetCertificateFingerprint() const {
return certificate_fingerprint_;
}
- std::vector<uint8_t> GetRootDeviceToken(const base::Time& time) const;
+ std::vector<uint8_t> GetRootDeviceToken() const;
+
+ base::Time Now() const;
private:
+ base::DefaultClock default_clock_;
+ base::Clock* clock_{nullptr};
+
std::vector<uint8_t> secret_;
std::vector<uint8_t> certificate_fingerprint_;