mirror of
https://github.com/Icinga/icinga2.git
synced 2026-06-08 16:26:42 -04:00
Fix CertificateFixture error if previous test fails
This commit is contained in:
parent
d7409aad27
commit
e153e6d079
1 changed files with 25 additions and 12 deletions
|
|
@ -20,30 +20,43 @@ struct CertificateFixture : ConfigurationDataDirFixture
|
|||
m_CertsDir = ApiListener::GetCertsDir();
|
||||
m_CaCrtFile = m_CertsDir / "ca.crt";
|
||||
|
||||
fs::create_directories(m_PersistentCertsDir / "ca");
|
||||
fs::create_directories(m_PersistentCertsDir / "certs");
|
||||
Utility::MkDirP((m_PersistentCertsDir / "ca").string(), 0700);
|
||||
Utility::MkDirP((m_PersistentCertsDir / "certs").string(), 0700);
|
||||
|
||||
if (fs::exists(m_DataDir / "ca")) {
|
||||
fs::remove(m_DataDir / "ca");
|
||||
if (Utility::PathExists(m_CaDir.string())) {
|
||||
Utility::RemoveDirRecursive(m_CaDir.string());
|
||||
}
|
||||
if (fs::exists(m_DataDir / "certs")) {
|
||||
fs::remove(m_DataDir / "certs");
|
||||
if (Utility::PathExists(m_CertsDir.string())) {
|
||||
Utility::RemoveDirRecursive(m_CertsDir.string());
|
||||
}
|
||||
|
||||
fs::rename(m_PersistentCertsDir / "ca", m_DataDir / "ca");
|
||||
fs::rename(m_PersistentCertsDir / "certs", m_DataDir / "certs");
|
||||
Utility::MkDirP(m_CaDir.string(), 0700);
|
||||
for(const auto& entry : fs::directory_iterator{m_PersistentCertsDir / "ca"}){
|
||||
Utility::CopyFile(entry.path().string(), (m_CaDir / entry.path().filename()).string());
|
||||
}
|
||||
|
||||
if (!fs::exists(m_CaCrtFile)) {
|
||||
Utility::MkDirP(m_CertsDir.string(), 0700);
|
||||
for(const auto& entry : fs::directory_iterator{m_PersistentCertsDir / "certs"}){
|
||||
Utility::CopyFile(entry.path().string(), (m_CertsDir / entry.path().filename()).string());
|
||||
}
|
||||
|
||||
if (!Utility::PathExists(m_CaCrtFile.string())) {
|
||||
PkiUtility::NewCa();
|
||||
fs::copy_file(m_CaDir / "ca.crt", m_CaCrtFile);
|
||||
Utility::CopyFile((m_CaDir / "ca.crt").string(), m_CaCrtFile.string());
|
||||
}
|
||||
}
|
||||
|
||||
~CertificateFixture()
|
||||
{
|
||||
namespace fs = boost::filesystem;
|
||||
fs::rename(m_DataDir / "ca", m_PersistentCertsDir / "ca");
|
||||
fs::rename(m_DataDir / "certs", m_PersistentCertsDir / "certs");
|
||||
|
||||
for(const auto& entry : fs::directory_iterator{m_CaDir}){
|
||||
Utility::CopyFile(entry.path().string(), (m_PersistentCertsDir / "ca" / entry.path().filename()).string());
|
||||
}
|
||||
|
||||
for(const auto& entry : fs::directory_iterator{m_CertsDir}){
|
||||
Utility::CopyFile(entry.path().string(), (m_PersistentCertsDir / "certs" / entry.path().filename()).string());
|
||||
}
|
||||
}
|
||||
|
||||
[[nodiscard]] auto EnsureCertFor(const std::string& name, bool overrideExisting = false) const
|
||||
|
|
|
|||
Loading…
Reference in a new issue