Signed-off-by: Marcel Lauhoff <marcel.lauhoff@clyso.com>
On-behalf-of: SAP marcel.lauhoff@sap.com
if (_serial == -1) {
return {-EINVAL, std::generic_category()};
}
- if (const auto ret = remove(); !ret) {
+ if (const auto ret = remove(); ret) {
return ret;
}
_serial = -1;
return os << "LinuxKeyringSecret{" << secret._serial << "}";
}
friend class LinuxKeyringTest_LifecycleMoveAssignResetsDestination_Test;
+ friend class LinuxKeyringTest_ResetClearsState_Test;
friend class LinuxKeyring;
};
ASSERT_EQ(ENOKEY, errno);
}
+TEST_F(LinuxKeyringTest, ResetClearsState) {
+ auto maybe = keyring->add("testkey", "secret");
+ auto* ptr = dynamic_cast<LinuxKeyringSecret*>(maybe.value().get());
+ auto err = ptr->reset();
+ ASSERT_FALSE(err) << err;
+ ASSERT_FALSE(ptr->initialized());
+ ASSERT_EQ(-1, ptr->_serial);
+
+ err = ptr->reset();
+ ASSERT_TRUE(err);
+}
+
} // namespace ceph