File indexing completed on 2024-04-28 16:49:46

0001 #ifndef KSYSGUARD_KSYSGUARDDTEST_H
0002 #define KSYSGUARD_KSYSGUARDDTEST_H
0003 
0004 #include <Qt>
0005 #include <QtTest>
0006 
0007 #include "ksgrd/SensorAgent.h"
0008 #include "ksgrd/SensorClient.h"
0009 #include "ksgrd/SensorManager.h"
0010 #include <QDebug>
0011 #include <QObject>
0012 #include <QProcess>
0013 class SensorClientTest;
0014 
0015 class TestKsysguardd : public QObject
0016 {
0017     Q_OBJECT
0018 private slots:
0019     void init();
0020     void cleanup();
0021     void initTestCase();
0022     void cleanupTestCase();
0023 
0024     void testSetup();
0025     void testFormatting_data();
0026     void testFormatting();
0027     void testQueueing();
0028 
0029 private:
0030     KSGRD::SensorManager manager;
0031     SensorClientTest *client;
0032     QSignalSpy *hostConnectionLostSpy;
0033     QSignalSpy *updateSpy;
0034     QSignalSpy *hostAddedSpy;
0035     int nextId;
0036 };
0037 struct Answer {
0038     Answer()
0039     {
0040         id = -1;
0041         isSensorLost = false;
0042     }
0043     int id;
0044     QList<QByteArray> answer;
0045     bool isSensorLost;
0046 };
0047 struct SensorClientTest : public KSGRD::SensorClient {
0048     SensorClientTest()
0049     {
0050         isSensorLost = false;
0051         haveAnswer = false;
0052     }
0053     virtual void answerReceived(int id, const QList<QByteArray> &answer_)
0054     {
0055         Answer answer;
0056         answer.id = id;
0057         answer.answer = answer_;
0058         answers << answer;
0059         haveAnswer = true;
0060     }
0061     virtual void sensorLost(int id)
0062     {
0063         Answer answer;
0064         answer.id = id;
0065         answer.isSensorLost = true;
0066         answers << answer;
0067         isSensorLost = true;
0068     }
0069     bool isSensorLost;
0070     bool haveAnswer;
0071     QList<Answer> answers;
0072 };
0073 
0074 #endif // KSYSGUARD_KSYSGUARDDTEST_H