17c5d7b27SShawn McCarney /** 27c5d7b27SShawn McCarney * Copyright © 2020 IBM Corporation 37c5d7b27SShawn McCarney * 47c5d7b27SShawn McCarney * Licensed under the Apache License, Version 2.0 (the "License"); 57c5d7b27SShawn McCarney * you may not use this file except in compliance with the License. 67c5d7b27SShawn McCarney * You may obtain a copy of the License at 77c5d7b27SShawn McCarney * 87c5d7b27SShawn McCarney * http://www.apache.org/licenses/LICENSE-2.0 97c5d7b27SShawn McCarney * 107c5d7b27SShawn McCarney * Unless required by applicable law or agreed to in writing, software 117c5d7b27SShawn McCarney * distributed under the License is distributed on an "AS IS" BASIS, 127c5d7b27SShawn McCarney * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137c5d7b27SShawn McCarney * See the License for the specific language governing permissions and 147c5d7b27SShawn McCarney * limitations under the License. 157c5d7b27SShawn McCarney */ 167c5d7b27SShawn McCarney #pragma once 177c5d7b27SShawn McCarney 187c5d7b27SShawn McCarney #include "journal.hpp" 197c5d7b27SShawn McCarney 207c5d7b27SShawn McCarney #include <string> 217c5d7b27SShawn McCarney #include <vector> 227c5d7b27SShawn McCarney 235248b8abSShawn McCarney #include <gmock/gmock.h> 245248b8abSShawn McCarney 255248b8abSShawn McCarney namespace phosphor::power::regulators 265248b8abSShawn McCarney { 275248b8abSShawn McCarney 285248b8abSShawn McCarney /** 295248b8abSShawn McCarney * @class MockJournal 305248b8abSShawn McCarney * 315248b8abSShawn McCarney * Mock implementation of the Journal interface. 325248b8abSShawn McCarney */ 335248b8abSShawn McCarney class MockJournal : public Journal 345248b8abSShawn McCarney { 355248b8abSShawn McCarney public: 365248b8abSShawn McCarney // Specify which compiler-generated methods we want 375248b8abSShawn McCarney MockJournal() = default; 385248b8abSShawn McCarney MockJournal(const MockJournal&) = delete; 395248b8abSShawn McCarney MockJournal(MockJournal&&) = delete; 405248b8abSShawn McCarney MockJournal& operator=(const MockJournal&) = delete; 415248b8abSShawn McCarney MockJournal& operator=(MockJournal&&) = delete; 425248b8abSShawn McCarney virtual ~MockJournal() = default; 435248b8abSShawn McCarney 44*ca08a790SBob King MOCK_METHOD(std::vector<std::string>, getMessages, 45*ca08a790SBob King (const std::string& field, const std::string& fieldValue, 46*ca08a790SBob King unsigned int max), 47*ca08a790SBob King (override)); 485248b8abSShawn McCarney MOCK_METHOD(void, logDebug, (const std::string& message), (override)); 495248b8abSShawn McCarney MOCK_METHOD(void, logDebug, (const std::vector<std::string>& messages), 505248b8abSShawn McCarney (override)); 515248b8abSShawn McCarney MOCK_METHOD(void, logError, (const std::string& message), (override)); 525248b8abSShawn McCarney MOCK_METHOD(void, logError, (const std::vector<std::string>& messages), 535248b8abSShawn McCarney (override)); 545248b8abSShawn McCarney MOCK_METHOD(void, logInfo, (const std::string& message), (override)); 555248b8abSShawn McCarney MOCK_METHOD(void, logInfo, (const std::vector<std::string>& messages), 565248b8abSShawn McCarney (override)); 575248b8abSShawn McCarney }; 585248b8abSShawn McCarney 595248b8abSShawn McCarney } // namespace phosphor::power::regulators 60