// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include <set> #include <string> #include "remoting/host/pin_hash.h" #include "testing/gtest/include/gtest/gtest.h" namespace remoting { class PinHashTest : public testing::Test { }; TEST_F(PinHashTest, KnownHashValue) { std::string hash = MakeHostPinHash("Host ID", "1234"); ASSERT_EQ("hmac:bk6RVRFLpLO89mr4QPHSg8CemUUtI90r2F0VfvTmWLI=", hash); } TEST_F(PinHashTest, VerifyHostPinHash) { std::string host_id1("Host ID 1"); std::string host_id2("Host ID 2"); std::string pin1("1234"); std::string pin2("4321"); ASSERT_TRUE(VerifyHostPinHash(MakeHostPinHash(host_id1, pin1), host_id1, pin1)); ASSERT_FALSE(VerifyHostPinHash(MakeHostPinHash(host_id1, pin1), host_id2, pin1)); ASSERT_FALSE(VerifyHostPinHash(MakeHostPinHash(host_id1, pin1), host_id1, pin2)); } } // namespace remoting