xref: /openbmc/phosphor-power/phosphor-regulators/test/mock_journal.hpp (revision ca08a7907611b8ce866777c38cf5ab0893849e7c)
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