Commit 9ed91dd636f9fb1f2aed9d89d192b55f64d15750
1 parent
b3f29df0
Exists in
master
Criado teste para download FTP e tentativa inicial para o método ftpDownload em cacic_comm
Showing
3 changed files
with
56 additions
and
14 deletions
Show diff stats
cacic-teste/testcacic.cpp
| ... | ... | @@ -9,7 +9,7 @@ CTestCacic::CTestCacic(QObject *parent) : |
| 9 | 9 | |
| 10 | 10 | void CTestCacic::initTestCase() |
| 11 | 11 | { |
| 12 | - this->OCacicComm = CacicComm("http://teste.cacic.cc", | |
| 12 | + this->OCacicComm = new CacicComm("http://teste.cacic.cc", | |
| 13 | 13 | "rG/HcIDVTZ3pPKCf[[MAIS]]I6aigUb7OMeij3FfC7qNaznk0rBRYb6q6kSK3eNfjgptS8BfwW5yJqCvD2ai7xlw9I6P21j6cvQUqlHmAJpCbfwR13urdRE9AhjfokMcPrH6R1/zXPGMHveLRRgKLcqWu2X96rmoQQdRq9EW1SXmYUAx1dCV[[MAIS]]3Ha61XBw5pq58q35zH8Gjt998rTi3ecV8ShXXevqyK[[MAIS]]W07xpgTjbbd6Fbs/35gPfdRRgMNFjq7Gq[[MAIS]]llFgYMJ6UcEhw8f0ZLQo2oL/eRW/CNyeBW6wG0hIo6EIdpi/Ht0/95Uwn2Og[[MAIS]]2UPXsmKKuTMeGwUvPdbEfexlinUO0[[MAIS]]j9qIa2dpjtl0Y5Fyk1Bvw2ZYRTXwgJpUHsBboWmtTFpgX3wSGOWMipE80K8ktRTVYOp[[MAIS]]4qS/SzKWXpfCuZoCncfwE0lCEoreTH[[MAIS]]MLrTkHJP2oqYMAyFyQcjC0UGr3BQGa2edSNXjG7jrTdddga/SODUiF94jgh/QBwhiZby34b__CRYPTED__", |
| 14 | 14 | "P198PVwtz5F5CfZPSUrzuaQA/QG1sTnwzl/rBnj8M7y5MglANGodG5LLD4q7oY809HuDR4g5tL64lZRBKvKPmEgWd9iAZKvT4UAm9XWN3nKKLGaznCaJohmntNGqrJP1Zd9riTHGu10mPbg/Uh3TCbBHVOICvu5sDlINlCR6A3[[MAIS]]a55RhfKNidvr5uX0kozCxr5t2DyOb5oPocEGyJKyHLQ==__CRYPTED__", |
| 15 | 15 | "1", |
| ... | ... | @@ -24,9 +24,9 @@ void CTestCacic::initTestCase() |
| 24 | 24 | "2.5.1.1.256.32", |
| 25 | 25 | "2.8.1.7", |
| 26 | 26 | "2.8.1.6"); |
| 27 | - OCacicComm.setUrlSsl("https://10.1.0.137/cacic/web/app_dev.php"); | |
| 28 | - OCacicComm.setUsuario("cacic"); | |
| 29 | - OCacicComm.setPassword("cacic123"); | |
| 27 | + OCacicComm->setUrlSsl("https://10.1.0.137/cacic/web/app_dev.php"); | |
| 28 | + OCacicComm->setUsuario("cacic"); | |
| 29 | + OCacicComm->setPassword("cacic123"); | |
| 30 | 30 | this->testPath = QDir::currentPath() + "/teste"; |
| 31 | 31 | this->testIniPath = testPath + "/teste.ini"; |
| 32 | 32 | QVariantMap jsonMap; |
| ... | ... | @@ -53,14 +53,14 @@ void CTestCacic::testGetValueFromTags() |
| 53 | 53 | |
| 54 | 54 | void CTestCacic::testCommStatus() |
| 55 | 55 | { |
| 56 | - QVERIFY(OCacicComm.commStatus()); | |
| 56 | + QVERIFY(OCacicComm->commStatus()); | |
| 57 | 57 | } |
| 58 | 58 | |
| 59 | 59 | void CTestCacic::testComm() |
| 60 | 60 | { |
| 61 | 61 | bool ok; |
| 62 | - if (OCacicComm.commStatus()){ | |
| 63 | - QJsonObject jsonreply = OCacicComm.comm("/ws/get/test", &ok); | |
| 62 | + if (OCacicComm->commStatus()){ | |
| 63 | + QJsonObject jsonreply = OCacicComm->comm("/ws/get/test", &ok); | |
| 64 | 64 | // qDebug() << jsonreply["codestatus"].toString(); |
| 65 | 65 | QVERIFY(OCacic.getValueFromTags(jsonreply["reply"].toString(), "Comm_Status", "<>") == QString("OK")); |
| 66 | 66 | } else |
| ... | ... | @@ -120,7 +120,7 @@ void CTestCacic::testJsonValueFromJsonString() |
| 120 | 120 | |
| 121 | 121 | void CTestCacic::testLogin(){ |
| 122 | 122 | bool ok; |
| 123 | - QJsonObject jsonReply = OCacicComm.login(&ok); | |
| 123 | + QJsonObject jsonReply = OCacicComm->login(&ok); | |
| 124 | 124 | QJsonObject sessionvalue = jsonReply["reply"].toObject(); |
| 125 | 125 | OCacic.setChaveCrypt(sessionvalue["chavecrip"].toString()); |
| 126 | 126 | QVERIFY(ok); |
| ... | ... | @@ -129,7 +129,7 @@ void CTestCacic::testLogin(){ |
| 129 | 129 | void CTestCacic::testSslConnection() |
| 130 | 130 | { |
| 131 | 131 | bool ok; |
| 132 | - QJsonObject json = OCacicComm.comm("", &ok, QJsonObject(), true); | |
| 132 | + QJsonObject json = OCacicComm->comm("", &ok, QJsonObject(), true); | |
| 133 | 133 | QJsonValue jsonvalue = (!json["codestatus"].isNull()) ? |
| 134 | 134 | json["codestatus"] : |
| 135 | 135 | QJsonValue::fromVariant(-1); |
| ... | ... | @@ -238,8 +238,8 @@ void CTestCacic::testGetTest() |
| 238 | 238 | bool ok; |
| 239 | 239 | QJsonObject envio; |
| 240 | 240 | envio["computador"] = OCacicComp.toJsonObject(); |
| 241 | - OCacicComm.setUrlGerente("http://10.1.0.137/cacic/web/app_dev.php"); | |
| 242 | - OCacicComm.comm("/ws/neo/getTest", &ok, envio); | |
| 241 | + OCacicComm->setUrlGerente("http://10.1.0.137/cacic/web/app_dev.php"); | |
| 242 | + OCacicComm->comm("/ws/neo/getTest", &ok, envio); | |
| 243 | 243 | QVERIFY(ok); |
| 244 | 244 | } |
| 245 | 245 | |
| ... | ... | @@ -318,8 +318,19 @@ void CTestCacic::testLogger() |
| 318 | 318 | logFile06.close(); |
| 319 | 319 | } |
| 320 | 320 | |
| 321 | +void CTestCacic::testFtpDownload() | |
| 322 | +{ | |
| 323 | + OCacicComm->ftpDownload("ftp://ftp.unicamp.br", "/pub/gnu/Licenses/gpl-2.0.txt"); | |
| 324 | + QFile downloaded("gpl-2.0.txt"); | |
| 325 | + | |
| 326 | + QVERIFY( !downloaded.open(QIODevice::ReadOnly) && | |
| 327 | + downloaded.exists() && | |
| 328 | + downloaded.readAll() != "" ); | |
| 329 | +} | |
| 330 | + | |
| 321 | 331 | void CTestCacic::cleanupTestCase() |
| 322 | 332 | { |
| 333 | +// OCacic.deleteFile("gpl-2.0.txt"); | |
| 323 | 334 | OCacic.deleteFile("log01.txt"); |
| 324 | 335 | OCacic.deleteFile("./log02.txt"); |
| 325 | 336 | OCacic.deleteFile("../log03.txt"); | ... | ... |
cacic-teste/testcacic.h
| ... | ... | @@ -26,7 +26,7 @@ public: |
| 26 | 26 | explicit CTestCacic(QObject *parent = 0); |
| 27 | 27 | |
| 28 | 28 | private: |
| 29 | - CacicComm OCacicComm; | |
| 29 | + CacicComm *OCacicComm; | |
| 30 | 30 | CCacic OCacic; |
| 31 | 31 | CACIC_Computer OCacicComp; |
| 32 | 32 | cacic_software OCacicSoftware; |
| ... | ... | @@ -75,6 +75,7 @@ private slots: |
| 75 | 75 | void testGetTest(); |
| 76 | 76 | void testColeta(); |
| 77 | 77 | void testLogger(); |
| 78 | + void testFtpDownload(); | |
| 78 | 79 | void cleanupTestCase(); |
| 79 | 80 | }; |
| 80 | 81 | ... | ... |
src/cacic_comm.h
| ... | ... | @@ -13,9 +13,11 @@ |
| 13 | 13 | #include <QJsonObject> |
| 14 | 14 | #include <QJsonDocument> |
| 15 | 15 | |
| 16 | -class CacicComm { | |
| 16 | +class CacicComm : public QObject{ | |
| 17 | 17 | |
| 18 | + Q_OBJECT | |
| 18 | 19 | private: |
| 20 | + QFile *fileHandler; | |
| 19 | 21 | QUrlQuery params; |
| 20 | 22 | QString urlGerente; |
| 21 | 23 | QString urlSsl; |
| ... | ... | @@ -165,11 +167,29 @@ public: |
| 165 | 167 | } |
| 166 | 168 | |
| 167 | 169 | bool ftpDownload(QString urlServer, QString path){ |
| 170 | + QNetworkAccessManager manager; | |
| 171 | + QNetworkRequest req; | |
| 172 | + QNetworkReply *reply; | |
| 173 | + | |
| 174 | + QStringList splitPath = path.split("/"); | |
| 175 | + | |
| 176 | + fileHandler = new QFile(splitPath[splitPath.size() - 1]); | |
| 177 | + if( !fileHandler->open(QIODevice::WriteOnly) ) { | |
| 178 | + return false; | |
| 179 | + } | |
| 180 | + | |
| 181 | + QObject::connect(&manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(ftpDownloadFinished(QNetworkReply*)) ); | |
| 182 | +// QObject::connect(reply, SIGNAL(finished()), this, SIGNAL(finished(reply)) ); | |
| 183 | +// QObject::connect(this, SIGNAL(finished(reply)), this, SLOT(ftpDownloadFinished(reply)) ); | |
| 184 | + | |
| 168 | 185 | QUrl url(urlServer); |
| 169 | 186 | url.setScheme("ftp"); |
| 170 | 187 | url.setPath(path); |
| 188 | + req.setUrl(url); | |
| 171 | 189 | |
| 172 | - return false; | |
| 190 | + reply = manager.get(req); | |
| 191 | + | |
| 192 | + return true; | |
| 173 | 193 | } |
| 174 | 194 | |
| 175 | 195 | bool httpDownload( QString urlServer, QString path ){ |
| ... | ... | @@ -221,5 +241,15 @@ public: |
| 221 | 241 | signals: |
| 222 | 242 | void finished(QNetworkReply* reply); |
| 223 | 243 | |
| 244 | +private slots: | |
| 245 | + | |
| 246 | + void ftpDownloadFinished(QNetworkReply* reply) | |
| 247 | + { | |
| 248 | + qDebug() << "Entrou no SLOT."; | |
| 249 | + | |
| 250 | + QTextStream out(fileHandler); | |
| 251 | + out << reply->readAll(); | |
| 252 | + fileHandler->close(); | |
| 253 | + } | |
| 224 | 254 | }; |
| 225 | 255 | #endif // CACIC_COMM_H | ... | ... |