SoundBand/tests/tst_synctest.cpp

180 lines
3.1 KiB
C++
Raw Normal View History

2017-11-27 02:01:47 +03:00
#include <QtTest>
2018-08-19 19:16:21 +03:00
#include "sync.h"
2017-11-27 02:01:47 +03:00
#include <thread>
#include <QMediaPlayer>
2018-08-19 19:16:21 +03:00
#include "Log.h"
2018-02-04 16:14:09 +03:00
2017-11-27 02:01:47 +03:00
// add necessary includes here
class SyncTest : public QObject
{
Q_OBJECT
public:
SyncTest();
~SyncTest();
private slots:
2017-12-06 13:18:30 +03:00
void sycn_tests();
2017-12-14 10:47:50 +03:00
void player_tests();
2017-12-25 18:40:36 +03:00
void database_tests();
2018-01-11 17:24:02 +03:00
void network_tests();
2017-11-27 02:01:47 +03:00
2018-02-04 16:14:09 +03:00
void log_tests();
2017-11-27 02:01:47 +03:00
};
SyncTest::SyncTest()
{
}
SyncTest::~SyncTest()
{
}
2017-12-06 13:18:30 +03:00
void SyncTest::sycn_tests()
2017-11-27 02:01:47 +03:00
{
2018-08-19 19:16:21 +03:00
Sync *sync = new Sync;
2017-11-27 02:01:47 +03:00
2017-12-06 13:18:30 +03:00
QVERIFY(sync != nullptr);
2017-11-29 20:34:47 +03:00
2017-12-26 12:54:33 +03:00
QVERIFY(!sync->play(":/song/test_song"));
QVERIFY(sync->play(":/song/test_song.mp3"));
2017-11-27 02:01:47 +03:00
2017-12-06 13:18:30 +03:00
sync->stop();
QVERIFY(sync->play(1));
2017-11-29 20:34:47 +03:00
2017-12-06 13:18:30 +03:00
sync->stop();
QVERIFY(!sync->play(2));
2017-11-27 19:43:11 +03:00
2017-12-25 18:40:36 +03:00
QVERIFY(QFile(DATABASE_NAME).size() == 2084864);
2017-11-27 19:43:11 +03:00
2017-12-06 13:18:30 +03:00
delete sync;
2017-11-27 19:43:11 +03:00
2018-08-19 19:16:21 +03:00
sync = new Sync(LOCAL_HOST, 1994);
Sync sync2(LOCAL_HOST, 1998,"test2.dat");
2017-11-27 19:43:11 +03:00
2017-12-06 13:18:30 +03:00
QVERIFY(sync->play(1));
2017-11-27 19:43:11 +03:00
2017-12-06 13:18:30 +03:00
sync->stop();
QVERIFY(sync2.addNode(LOCAL_HOST, 1994));
2017-11-27 19:43:11 +03:00
2017-12-06 13:18:30 +03:00
delete sync;
2017-11-27 19:43:11 +03:00
2017-12-06 13:18:30 +03:00
}
2017-11-29 20:34:47 +03:00
2017-12-14 10:47:50 +03:00
void SyncTest::player_tests()
2017-12-06 13:18:30 +03:00
{
2017-12-25 18:40:36 +03:00
}
void SyncTest::database_tests()
{
2018-08-19 19:16:21 +03:00
MySql sql("test1");
SongHeader header;
SongStorage song;
2017-12-25 18:40:36 +03:00
2018-01-11 21:48:01 +03:00
QVERIFY(!sql.load(header, song));
2017-12-25 18:40:36 +03:00
2018-01-11 21:48:01 +03:00
QVERIFY(!sql.addToPlayList(header, "none"));
2017-12-25 18:40:36 +03:00
2017-12-26 12:54:33 +03:00
header.id = sql.save(":/song/test_song.mp3");
2017-12-25 18:40:36 +03:00
QVERIFY(header.id > 0);
2018-01-11 21:48:01 +03:00
QVERIFY(sql.load(header ,song));
2017-12-25 18:40:36 +03:00
2018-08-19 19:16:21 +03:00
header = static_cast<SongHeader>(song);
2018-01-11 21:48:01 +03:00
QVERIFY(sql.load(header, song));
2017-12-25 18:40:36 +03:00
2018-01-11 21:48:01 +03:00
QVERIFY(sql.addPlayList("play", "desc of play"));
2017-12-25 18:40:36 +03:00
2018-01-11 21:48:01 +03:00
QVERIFY(sql.addToPlayList(header, "play"));
2017-12-25 18:40:36 +03:00
2018-01-11 21:48:01 +03:00
QVERIFY(!sql.addToPlayList(header, "play"));
2017-12-25 18:40:36 +03:00
2018-01-11 21:48:01 +03:00
QVERIFY(sql.removeFromPlayList(header, "play"));
2017-12-25 18:40:36 +03:00
header.id = -1;
2018-01-11 21:48:01 +03:00
QVERIFY(sql.addToPlayList(header, "play"));
2017-12-25 18:40:36 +03:00
2018-01-11 21:48:01 +03:00
QVERIFY(!sql.addToPlayList(header, "play"));
2017-12-25 18:40:36 +03:00
2018-08-19 19:16:21 +03:00
PlayList list;
2017-12-25 18:40:36 +03:00
sql.updateAvailableSongs(list);
QVERIFY(list.size() == 1);
list.clear();
2018-01-11 21:48:01 +03:00
sql.updateAvailableSongs(list, "play");
2017-12-25 18:40:36 +03:00
QVERIFY(list.size() == 1);
2018-01-11 21:48:01 +03:00
sql.updateAvailableSongs(list, "play2");
2017-12-25 18:40:36 +03:00
QVERIFY(list.size() == 0);
2018-01-11 21:48:01 +03:00
QVERIFY(sql.removeFromPlayList(header, "play"));
2017-12-25 18:40:36 +03:00
QVERIFY(sql.removeSong(header));
sql.updateAvailableSongs(list);
QVERIFY(list.size() == 0);
QStringList playlists;
sql.getPlayLists(playlists);
QVERIFY(playlists.size() == 1);
QVERIFY(sql.removePlayList("play"));
sql.getPlayLists(playlists);
QVERIFY(playlists.size() == 0);
sql.clear();
QVERIFY(QFile("test1").size() == 32768);
2017-11-27 02:01:47 +03:00
}
2018-01-11 17:24:02 +03:00
void SyncTest::network_tests(){
2018-08-19 19:16:21 +03:00
Node node1("127.0.0.1", 1994);
2018-01-11 17:24:02 +03:00
QVERIFY(node1.getClients()->size() == 0);
2018-01-11 21:48:01 +03:00
ETcpSocket socket("127.0.0.1", 1994);
2018-01-11 17:24:02 +03:00
node1.waitForNewConnection(500);
QVERIFY(node1.getClients()->size() > 0);
QByteArray array(10, 'c');
2018-01-11 21:48:01 +03:00
QVERIFY(node1.getClients()->first()->Write(array));
2018-01-11 17:24:02 +03:00
node1.close();
2018-01-11 21:48:01 +03:00
socket.getSource()->close();
2018-01-11 17:24:02 +03:00
}
2018-02-04 16:14:09 +03:00
void SyncTest::log_tests(){
Log log("test.log");
log.setShowDateTime(false);
log.write("test");
QVERIFY(QFile("test.log").size() == 18);
log.setShowDateTime(true);
log.write("test2");
QVERIFY(QFile("test.log").size() == 57);
QFile("test.log").remove();
}
2017-11-27 02:01:47 +03:00
QTEST_APPLESS_MAIN(SyncTest)
#include "tst_synctest.moc"