12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chromeos/attestation/mock_attestation_flow.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "testing/gmock/include/gmock/gmock.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using testing::_; 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)using testing::Invoke; 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace chromeos { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace attestation { 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)FakeServerProxy::FakeServerProxy() : result_(true) {} 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)FakeServerProxy::~FakeServerProxy() {} 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void FakeServerProxy::SendEnrollRequest(const std::string& request, 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const DataCallback& callback) { 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) callback.Run(result_, request + "_response"); 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void FakeServerProxy::SendCertificateRequest(const std::string& request, 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const DataCallback& callback) { 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) callback.Run(result_, request + "_response"); 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MockServerProxy::MockServerProxy() {} 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MockServerProxy::~MockServerProxy() {} 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void MockServerProxy::DeferToFake(bool success) { 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) fake_.set_result(success); 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ON_CALL(*this, SendEnrollRequest(_, _)) 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) .WillByDefault(Invoke(&fake_, &FakeServerProxy::SendEnrollRequest)); 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ON_CALL(*this, SendCertificateRequest(_, _)) 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) .WillByDefault(Invoke(&fake_, &FakeServerProxy::SendCertificateRequest)); 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MockObserver::MockObserver() {} 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MockObserver::~MockObserver() {} 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)MockAttestationFlow::MockAttestationFlow() 47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) : AttestationFlow(NULL, NULL, scoped_ptr<ServerProxy>()) {} 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)MockAttestationFlow::~MockAttestationFlow() {} 50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace attestation 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace chromeos 53