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