1 /* This file is part of the KDE project
2
3 Copyright (C) 2009 Dario Massarin <nekkar@libero.it>
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9 */
10
11 #include "testkget.h"
12 #include "core/transfergrouphandler.h"
13 #include "core/kget.h"
14 #include "core/transfertreemodel.h"
15
TestKGet()16 TestKGet::TestKGet()
17 : QObject(nullptr),
18 m_addedGH(nullptr)
19 {
20 connect(KGet::model(), &TransferTreeModel::groupAddedEvent, this, &TestKGet::addedTransferGroupEvent);
21 connect(KGet::model(), &TransferTreeModel::groupRemovedEvent, this, &TestKGet::removedTransferGroupEvent);
22 }
23
addedTransferGroupEvent(TransferGroupHandler * group)24 void TestKGet::addedTransferGroupEvent(TransferGroupHandler * group)
25 {
26 m_addedGH = group;
27 }
28
removedTransferGroupEvent(TransferGroupHandler * group)29 void TestKGet::removedTransferGroupEvent(TransferGroupHandler * group)
30 {
31 m_removedGH = group;
32 }
33
simpleTest()34 void TestKGet::simpleTest()
35 {
36 QVERIFY(1 == 1);
37 }
38
transferGroupTest()39 void TestKGet::transferGroupTest()
40 {
41 KGet::delGroup(KGet::findGroup("testGroup")); // In case you already have one
42
43 m_addedGH = nullptr;
44 m_removedGH = nullptr;
45
46 // Add Group
47 QVERIFY(KGet::addGroup("testGroup"));
48 QVERIFY(m_addedGH != nullptr); // Should already have received the added group notification
49
50 // Verify default Group parameters
51 QVERIFY(m_addedGH->name() == "testGroup");
52 QVERIFY(m_addedGH->status() == JobQueue::Running);
53 QVERIFY(m_addedGH->size() == 0);
54 QVERIFY(m_addedGH->totalSize() == 0);
55 QVERIFY(m_addedGH->downloadedSize() == 0);
56 QVERIFY(m_addedGH->uploadedSize() == 0);
57 QVERIFY(m_addedGH->percent() == 0);
58 QVERIFY(m_addedGH->downloadSpeed() == 0);
59 QVERIFY(m_addedGH->uploadSpeed() == 0);
60
61 // Delete newly added Group
62 KGet::delGroup(KGet::findGroup("testGroup"), false);
63 QVERIFY(m_removedGH != nullptr); // Should already have received the removed group notification
64
65 QVERIFY(m_removedGH->name() == "testGroup");
66 }
67
transferGroupRepetitiveAddTest()68 void TestKGet::transferGroupRepetitiveAddTest()
69 {
70 for(int i=0; i < 100; i++)
71 {
72 // Adding...
73 QVERIFY(KGet::addGroup("testGroup" + QString::number(i)));
74 QVERIFY(m_addedGH != nullptr); // Should already have received the added group notification
75 QVERIFY(m_addedGH->name() == "testGroup" + QString::number(i));
76 }
77
78 for(int i=0; i < 100; i++)
79 {
80 // Removing...
81 KGet::delGroup(KGet::findGroup("testGroup" + QString::number(i)), false);
82 QVERIFY(m_removedGH != nullptr); // Should already have received the removed group notification
83 QVERIFY(m_removedGH->name() == "testGroup" + QString::number(i));
84 }
85 }
86
87
88