Go to the documentation of this file.00001
00009 #include "testdataholding.h"
00010
00011 BOOST_FIXTURE_TEST_SUITE( TDataholding,
00012 Dedupe::Test::TDataholdingFixture )
00013
00014 BOOST_AUTO_TEST_CASE( AddAndGetFileInfoFromDatabase )
00015 {
00016 Dedupe::FileInfo Testfile( "Testpath/ieieugfnie/eieiieiei.eiieiee",
00017 2393993993399,
00018 93939939,
00019 Dedupe::FileInfo::TDirectory,
00020 true,
00021 7373737772727717848 );
00022
00023
00024 Dbs.AddFile( Testfile );
00025
00026 Dedupe::FileStream Files = Dbs.GetFiles();
00027
00028
00029
00030
00031 if( Files.size() < 1 ) BOOST_ERROR( "No Data returned from the database" );
00032 else
00033 {
00034 Dedupe::FileStream::iterator CheckFile = Files.begin();
00035
00036 BOOST_CHECK_EQUAL( Testfile.GetPath(), CheckFile->GetPath() );
00037 BOOST_CHECK_EQUAL( Testfile.GetSize(), CheckFile->GetSize() );
00038 BOOST_CHECK_EQUAL( Testfile.GetDateChanged(), CheckFile->GetDateChanged() );
00039 BOOST_CHECK_EQUAL( Testfile.GetType(), CheckFile->GetType() );
00040 BOOST_CHECK_EQUAL( Testfile.GetKeep(), CheckFile->GetKeep() );
00041 BOOST_CHECK_EQUAL( Testfile.GetHash(), CheckFile->GetHash() );
00042 }
00043
00044
00045
00046 Files.clear();
00047 Files = Dbs.GetFiles();
00048 BOOST_CHECK_EQUAL( Files.size(), 1u );
00049
00050
00051 Dbs.SqlExec( "DELETE FROM StoredFiles;" );
00052 }
00053
00054 BOOST_AUTO_TEST_CASE( TestAddFiles )
00055 {
00056 Dedupe::FileStream FStream;
00057
00058
00059 Dedupe::FileInfo File1( TestFile ), File2( TestFile ), File3( TestFile );
00060 File2.SetHash( 4595949 );
00061 File3.SetHash( 9838373 );
00062
00063
00064 FStream.push_back( File1 );
00065 FStream.push_back( File2 );
00066 FStream.push_back( File3 );
00067
00068
00069 Dbs.AddFiles( FStream );
00070
00071
00072 BOOST_CHECK_EQUAL( Dbs.GetFiles().size(), 3u );
00073
00074
00075 Dbs.SqlExec( "DELETE FROM StoredFiles;" );
00076 }
00077
00078 BOOST_AUTO_TEST_CASE( TestAlreadyInDatabase )
00079 {
00080 Dedupe::FileInfo File( TestFile );
00081 Dbs.AddFile( File );
00082 BOOST_CHECK_EQUAL( Dbs.AlreadyInDatabase( File ), true );
00083 Dbs.SqlExec( "DELETE FROM StoredFiles;");
00084 }
00085
00086 BOOST_AUTO_TEST_CASE( TestDelFile )
00087 {
00088 Dedupe::FileInfo File( TestFile );
00089
00090
00091 Dbs.AddFile( File );
00092
00093
00094 BOOST_CHECK_EQUAL( Dbs.AlreadyInDatabase( File ), true );
00095
00096
00097 Dbs.DelFile( File );
00098
00099 BOOST_CHECK_EQUAL( Dbs.AlreadyInDatabase( File ), false );
00100
00101 Dbs.SqlExec( "DELETE FROM StoredFiles;" );
00102 }
00103
00104 BOOST_AUTO_TEST_CASE( TestUpdateFile )
00105 {
00106 Dedupe::FileInfo File( TestFile );
00107
00108 Dbs.AddFile( File );
00109
00110 unsigned long long OldHash, NewHash;
00111 OldHash = File.GetHash();
00112 NewHash = OldHash + 100;
00113
00114 File.SetHash( NewHash );
00115
00116 Dbs.UpdateFile( File );
00117
00118 Dedupe::FileStream Stream = Dbs.GetFiles();
00119
00120 BOOST_CHECK_EQUAL( Stream.begin()->GetHash(), NewHash );
00121
00122 Dbs.SqlExec( "DELETE FROM StoredFiles;" );
00123 }
00124
00125 BOOST_AUTO_TEST_CASE( CheckHighkommaNormalizer )
00126 {
00127 std::string teststring( "Myli'v\"e" );
00128 Dedupe::FileInfo File( teststring,
00129 20,
00130 484848,
00131 Dedupe::FileInfo::TFile,
00132 true,
00133 84848484848);
00134 BOOST_CHECK_NO_THROW( Dbs.AddFile( File ));
00135
00136 BOOST_CHECK_EQUAL( Dbs.GetFiles().begin()->GetPath(), teststring );
00137
00138 Dbs.SqlExec( "DELETE FROM StoredFiles;" );
00139 }
00140
00141 BOOST_AUTO_TEST_SUITE_END()