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,7 +9,7 @@ CTestCacic::CTestCacic(QObject *parent) : | ||
| 9 | 9 | ||
| 10 | void CTestCacic::initTestCase() | 10 | void CTestCacic::initTestCase() |
| 11 | { | 11 | { |
| 12 | - this->OCacicComm = CacicComm("http://teste.cacic.cc", | 12 | + this->OCacicComm = new CacicComm("http://teste.cacic.cc", |
| 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__", | 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 | "P198PVwtz5F5CfZPSUrzuaQA/QG1sTnwzl/rBnj8M7y5MglANGodG5LLD4q7oY809HuDR4g5tL64lZRBKvKPmEgWd9iAZKvT4UAm9XWN3nKKLGaznCaJohmntNGqrJP1Zd9riTHGu10mPbg/Uh3TCbBHVOICvu5sDlINlCR6A3[[MAIS]]a55RhfKNidvr5uX0kozCxr5t2DyOb5oPocEGyJKyHLQ==__CRYPTED__", | 14 | "P198PVwtz5F5CfZPSUrzuaQA/QG1sTnwzl/rBnj8M7y5MglANGodG5LLD4q7oY809HuDR4g5tL64lZRBKvKPmEgWd9iAZKvT4UAm9XWN3nKKLGaznCaJohmntNGqrJP1Zd9riTHGu10mPbg/Uh3TCbBHVOICvu5sDlINlCR6A3[[MAIS]]a55RhfKNidvr5uX0kozCxr5t2DyOb5oPocEGyJKyHLQ==__CRYPTED__", |
| 15 | "1", | 15 | "1", |
| @@ -24,9 +24,9 @@ void CTestCacic::initTestCase() | @@ -24,9 +24,9 @@ void CTestCacic::initTestCase() | ||
| 24 | "2.5.1.1.256.32", | 24 | "2.5.1.1.256.32", |
| 25 | "2.8.1.7", | 25 | "2.8.1.7", |
| 26 | "2.8.1.6"); | 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 | this->testPath = QDir::currentPath() + "/teste"; | 30 | this->testPath = QDir::currentPath() + "/teste"; |
| 31 | this->testIniPath = testPath + "/teste.ini"; | 31 | this->testIniPath = testPath + "/teste.ini"; |
| 32 | QVariantMap jsonMap; | 32 | QVariantMap jsonMap; |
| @@ -53,14 +53,14 @@ void CTestCacic::testGetValueFromTags() | @@ -53,14 +53,14 @@ void CTestCacic::testGetValueFromTags() | ||
| 53 | 53 | ||
| 54 | void CTestCacic::testCommStatus() | 54 | void CTestCacic::testCommStatus() |
| 55 | { | 55 | { |
| 56 | - QVERIFY(OCacicComm.commStatus()); | 56 | + QVERIFY(OCacicComm->commStatus()); |
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | void CTestCacic::testComm() | 59 | void CTestCacic::testComm() |
| 60 | { | 60 | { |
| 61 | bool ok; | 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 | // qDebug() << jsonreply["codestatus"].toString(); | 64 | // qDebug() << jsonreply["codestatus"].toString(); |
| 65 | QVERIFY(OCacic.getValueFromTags(jsonreply["reply"].toString(), "Comm_Status", "<>") == QString("OK")); | 65 | QVERIFY(OCacic.getValueFromTags(jsonreply["reply"].toString(), "Comm_Status", "<>") == QString("OK")); |
| 66 | } else | 66 | } else |
| @@ -120,7 +120,7 @@ void CTestCacic::testJsonValueFromJsonString() | @@ -120,7 +120,7 @@ void CTestCacic::testJsonValueFromJsonString() | ||
| 120 | 120 | ||
| 121 | void CTestCacic::testLogin(){ | 121 | void CTestCacic::testLogin(){ |
| 122 | bool ok; | 122 | bool ok; |
| 123 | - QJsonObject jsonReply = OCacicComm.login(&ok); | 123 | + QJsonObject jsonReply = OCacicComm->login(&ok); |
| 124 | QJsonObject sessionvalue = jsonReply["reply"].toObject(); | 124 | QJsonObject sessionvalue = jsonReply["reply"].toObject(); |
| 125 | OCacic.setChaveCrypt(sessionvalue["chavecrip"].toString()); | 125 | OCacic.setChaveCrypt(sessionvalue["chavecrip"].toString()); |
| 126 | QVERIFY(ok); | 126 | QVERIFY(ok); |
| @@ -129,7 +129,7 @@ void CTestCacic::testLogin(){ | @@ -129,7 +129,7 @@ void CTestCacic::testLogin(){ | ||
| 129 | void CTestCacic::testSslConnection() | 129 | void CTestCacic::testSslConnection() |
| 130 | { | 130 | { |
| 131 | bool ok; | 131 | bool ok; |
| 132 | - QJsonObject json = OCacicComm.comm("", &ok, QJsonObject(), true); | 132 | + QJsonObject json = OCacicComm->comm("", &ok, QJsonObject(), true); |
| 133 | QJsonValue jsonvalue = (!json["codestatus"].isNull()) ? | 133 | QJsonValue jsonvalue = (!json["codestatus"].isNull()) ? |
| 134 | json["codestatus"] : | 134 | json["codestatus"] : |
| 135 | QJsonValue::fromVariant(-1); | 135 | QJsonValue::fromVariant(-1); |
| @@ -238,8 +238,8 @@ void CTestCacic::testGetTest() | @@ -238,8 +238,8 @@ void CTestCacic::testGetTest() | ||
| 238 | bool ok; | 238 | bool ok; |
| 239 | QJsonObject envio; | 239 | QJsonObject envio; |
| 240 | envio["computador"] = OCacicComp.toJsonObject(); | 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 | QVERIFY(ok); | 243 | QVERIFY(ok); |
| 244 | } | 244 | } |
| 245 | 245 | ||
| @@ -318,8 +318,19 @@ void CTestCacic::testLogger() | @@ -318,8 +318,19 @@ void CTestCacic::testLogger() | ||
| 318 | logFile06.close(); | 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 | void CTestCacic::cleanupTestCase() | 331 | void CTestCacic::cleanupTestCase() |
| 322 | { | 332 | { |
| 333 | +// OCacic.deleteFile("gpl-2.0.txt"); | ||
| 323 | OCacic.deleteFile("log01.txt"); | 334 | OCacic.deleteFile("log01.txt"); |
| 324 | OCacic.deleteFile("./log02.txt"); | 335 | OCacic.deleteFile("./log02.txt"); |
| 325 | OCacic.deleteFile("../log03.txt"); | 336 | OCacic.deleteFile("../log03.txt"); |
cacic-teste/testcacic.h
| @@ -26,7 +26,7 @@ public: | @@ -26,7 +26,7 @@ public: | ||
| 26 | explicit CTestCacic(QObject *parent = 0); | 26 | explicit CTestCacic(QObject *parent = 0); |
| 27 | 27 | ||
| 28 | private: | 28 | private: |
| 29 | - CacicComm OCacicComm; | 29 | + CacicComm *OCacicComm; |
| 30 | CCacic OCacic; | 30 | CCacic OCacic; |
| 31 | CACIC_Computer OCacicComp; | 31 | CACIC_Computer OCacicComp; |
| 32 | cacic_software OCacicSoftware; | 32 | cacic_software OCacicSoftware; |
| @@ -75,6 +75,7 @@ private slots: | @@ -75,6 +75,7 @@ private slots: | ||
| 75 | void testGetTest(); | 75 | void testGetTest(); |
| 76 | void testColeta(); | 76 | void testColeta(); |
| 77 | void testLogger(); | 77 | void testLogger(); |
| 78 | + void testFtpDownload(); | ||
| 78 | void cleanupTestCase(); | 79 | void cleanupTestCase(); |
| 79 | }; | 80 | }; |
| 80 | 81 |
src/cacic_comm.h
| @@ -13,9 +13,11 @@ | @@ -13,9 +13,11 @@ | ||
| 13 | #include <QJsonObject> | 13 | #include <QJsonObject> |
| 14 | #include <QJsonDocument> | 14 | #include <QJsonDocument> |
| 15 | 15 | ||
| 16 | -class CacicComm { | 16 | +class CacicComm : public QObject{ |
| 17 | 17 | ||
| 18 | + Q_OBJECT | ||
| 18 | private: | 19 | private: |
| 20 | + QFile *fileHandler; | ||
| 19 | QUrlQuery params; | 21 | QUrlQuery params; |
| 20 | QString urlGerente; | 22 | QString urlGerente; |
| 21 | QString urlSsl; | 23 | QString urlSsl; |
| @@ -165,11 +167,29 @@ public: | @@ -165,11 +167,29 @@ public: | ||
| 165 | } | 167 | } |
| 166 | 168 | ||
| 167 | bool ftpDownload(QString urlServer, QString path){ | 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 | QUrl url(urlServer); | 185 | QUrl url(urlServer); |
| 169 | url.setScheme("ftp"); | 186 | url.setScheme("ftp"); |
| 170 | url.setPath(path); | 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 | bool httpDownload( QString urlServer, QString path ){ | 195 | bool httpDownload( QString urlServer, QString path ){ |
| @@ -221,5 +241,15 @@ public: | @@ -221,5 +241,15 @@ public: | ||
| 221 | signals: | 241 | signals: |
| 222 | void finished(QNetworkReply* reply); | 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 | #endif // CACIC_COMM_H | 255 | #endif // CACIC_COMM_H |