1ded66d0fSJason Ling #include "skip_action.hpp"
2ded66d0fSJason Ling #include "status.hpp"
3ded66d0fSJason Ling 
4ded66d0fSJason Ling #include <gmock/gmock.h>
5ded66d0fSJason Ling #include <gtest/gtest.h>
6ded66d0fSJason Ling 
7ded66d0fSJason Ling namespace ipmi_flash
8ded66d0fSJason Ling {
9ded66d0fSJason Ling namespace
10ded66d0fSJason Ling {
11ded66d0fSJason Ling 
TEST(SkipActionTest,ValidateTriggerReturnsTrue)12ded66d0fSJason Ling TEST(SkipActionTest, ValidateTriggerReturnsTrue)
13ded66d0fSJason Ling {
14ded66d0fSJason Ling     SkipAction skip;
15ded66d0fSJason Ling     EXPECT_TRUE(skip.trigger());
16*4175b4caSWilliam A. Kennington III     size_t i = 0;
17*4175b4caSWilliam A. Kennington III     skip.setCallback([&](TriggerableActionInterface&) { i++; });
18ded66d0fSJason Ling     EXPECT_TRUE(skip.trigger());
19*4175b4caSWilliam A. Kennington III     EXPECT_EQ(1, i);
20*4175b4caSWilliam A. Kennington III     EXPECT_TRUE(skip.trigger());
21*4175b4caSWilliam A. Kennington III     EXPECT_EQ(2, i);
22ded66d0fSJason Ling }
23ded66d0fSJason Ling 
TEST(SkipActionTest,ValidateStatusAlwaysSuccess)24ded66d0fSJason Ling TEST(SkipActionTest, ValidateStatusAlwaysSuccess)
25ded66d0fSJason Ling {
26ded66d0fSJason Ling     SkipAction skip;
27ded66d0fSJason Ling     EXPECT_EQ(ActionStatus::success, skip.status());
28ded66d0fSJason Ling     EXPECT_TRUE(skip.trigger());
29ded66d0fSJason Ling     EXPECT_EQ(ActionStatus::success, skip.status());
30ded66d0fSJason Ling }
31ded66d0fSJason Ling 
TEST(SkipActionTest,AbortHasNoImpactOnStatus)32ded66d0fSJason Ling TEST(SkipActionTest, AbortHasNoImpactOnStatus)
33ded66d0fSJason Ling {
34ded66d0fSJason Ling     SkipAction skip;
35ded66d0fSJason Ling     EXPECT_EQ(ActionStatus::success, skip.status());
36ded66d0fSJason Ling     skip.abort();
37ded66d0fSJason Ling     EXPECT_EQ(ActionStatus::success, skip.status());
38ded66d0fSJason Ling }
39ded66d0fSJason Ling 
40ded66d0fSJason Ling } // namespace
41ded66d0fSJason Ling } // namespace ipmi_flash
42