TEST_F(ItemAttTest, ImpExp) { const stringT testImpFile(fullfileName); const stringT testExpFile(L"output.tmp"); CItemAtt ai; int status; status = ai.Import(L"nosuchfile"); EXPECT_EQ(PWScore::CANT_OPEN_FILE, status); EXPECT_EQ(L"", ai.GetFileName()); EXPECT_FALSE(ai.HasContent()); status = ai.Import(testImpFile); EXPECT_EQ(PWScore::SUCCESS, status); EXPECT_STREQ(fileName.c_str(), ai.GetFileName().c_str()); EXPECT_STREQ(filePath.c_str(), ai.GetFilePath().c_str()); EXPECT_TRUE(ai.HasContent()); status = ai.Export(testExpFile); EXPECT_EQ(PWScore::SUCCESS, status); EXPECT_TRUE(pws_os::FileExists(testExpFile)); FILE *f1 = pws_os::FOpen(testImpFile, L"rb"); FILE *f2 = pws_os::FOpen(testExpFile, L"rb"); EXPECT_EQ(pws_os::fileLength(f1), pws_os::fileLength(f2)); size_t flen = static_cast<size_t>(pws_os::fileLength(f1)); unsigned char *m1 = new unsigned char[flen]; unsigned char *m2 = new unsigned char[flen]; ASSERT_EQ(1, fread(m1, flen, 1, f1)); ASSERT_EQ(1, fread(m2, flen, 1, f2)); fclose(f1); fclose(f2); EXPECT_EQ(0, memcmp(m1, m2, flen)); delete[] m1; delete[] m2; pws_os::DeleteAFile(testExpFile); }
void FileV4Test::SetUp() { hdr.m_prefString = _T("aPrefString"); hdr.m_whenlastsaved = 1413129351; // overwritten in Open() hdr.m_lastsavedby = _T("aUser"); hdr.m_lastsavedon = _T("aMachine"); hdr.m_whatlastsaved = _T("PasswordSafe test framework"); hdr.m_DB_Name = fname.c_str(); hdr.m_DB_Description = _T("Test the header's persistency"); fullItem.CreateUUID(); fullItem.SetTitle(title); fullItem.SetPassword(password); fullItem.SetUser(user); fullItem.SetNotes(notes); fullItem.SetGroup(group); fullItem.SetURL(url); fullItem.SetAutoType(at); fullItem.SetEmail(email); fullItem.SetSymbols(symbols); fullItem.SetRunCommand(runcmd); fullItem.SetATime(aTime); fullItem.SetCTime(cTime); fullItem.SetXTime(xTime); fullItem.SetPMTime(pmTime); fullItem.SetRMTime(rmTime); fullItem.SetDCA(iDCA); fullItem.SetShiftDCA(iSDCA); smallItem.CreateUUID(); smallItem.SetTitle(_T("picollo")); smallItem.SetPassword(_T("tiny-passw")); attItem.CreateUUID(); attItem.SetTitle(L"I'm an attachment"); const stringT testAttFile(L"data/image1.jpg"); int status = attItem.Import(testAttFile); ASSERT_EQ(PWSfile::SUCCESS, status); }