@@ -20,30 +20,43 @@ struct CertificateFixture : ConfigurationDataDirFixture
2020 m_CertsDir = ApiListener::GetCertsDir ();
2121 m_CaCrtFile = m_CertsDir / " ca.crt" ;
2222
23- fs::create_directories ( m_PersistentCertsDir / " ca" );
24- fs::create_directories ( m_PersistentCertsDir / " certs" );
23+ Utility::MkDirP (( m_PersistentCertsDir / " ca" ). string (), 0700 );
24+ Utility::MkDirP (( m_PersistentCertsDir / " certs" ). string (), 0700 );
2525
26- if (fs::exists (m_DataDir / " ca " )) {
27- fs::remove (m_DataDir / " ca " );
26+ if (Utility::PathExists (m_CaDir. string () )) {
27+ Utility::RemoveDirRecursive (m_CaDir. string () );
2828 }
29- if (fs::exists (m_DataDir / " certs " )) {
30- fs::remove (m_DataDir / " certs " );
29+ if (Utility::PathExists (m_CertsDir. string () )) {
30+ Utility::RemoveDirRecursive (m_CertsDir. string () );
3131 }
3232
33- fs::rename (m_PersistentCertsDir / " ca" , m_DataDir / " ca" );
34- fs::rename (m_PersistentCertsDir / " certs" , m_DataDir / " certs" );
33+ Utility::MkDirP (m_CaDir.string (), 0700 );
34+ for (const auto & entry : fs::directory_iterator{m_PersistentCertsDir / " ca" }){
35+ Utility::CopyFile (entry.path ().string (), (m_CaDir / entry.path ().filename ()).string ());
36+ }
37+
38+ Utility::MkDirP (m_CertsDir.string (), 0700 );
39+ for (const auto & entry : fs::directory_iterator{m_PersistentCertsDir / " certs" }){
40+ Utility::CopyFile (entry.path ().string (), (m_CertsDir / entry.path ().filename ()).string ());
41+ }
3542
36- if (!fs::exists (m_CaCrtFile)) {
43+ if (!Utility::PathExists (m_CaCrtFile. string () )) {
3744 PkiUtility::NewCa ();
38- fs::copy_file ( m_CaDir / " ca.crt" , m_CaCrtFile);
45+ Utility::CopyFile (( m_CaDir / " ca.crt" ). string () , m_CaCrtFile. string () );
3946 }
4047 }
4148
4249 ~CertificateFixture ()
4350 {
4451 namespace fs = boost::filesystem;
45- fs::rename (m_DataDir / " ca" , m_PersistentCertsDir / " ca" );
46- fs::rename (m_DataDir / " certs" , m_PersistentCertsDir / " certs" );
52+
53+ for (const auto & entry : fs::directory_iterator{m_CaDir}){
54+ Utility::CopyFile (entry.path ().string (), (m_PersistentCertsDir / " ca" / entry.path ().filename ()).string ());
55+ }
56+
57+ for (const auto & entry : fs::directory_iterator{m_CertsDir}){
58+ Utility::CopyFile (entry.path ().string (), (m_PersistentCertsDir / " certs" / entry.path ().filename ()).string ());
59+ }
4760 }
4861
4962 [[nodiscard]] auto EnsureCertFor (const std::string& name, bool overrideExisting = false ) const
0 commit comments