Commit 77bad974e13e7d3803fa0cc5a7200e69199eaed7
1 parent
d3779f3f
Exists in
master
Melhoria da classe CacicComm.
Showing
3 changed files
with
85 additions
and
43 deletions
Show diff stats
cacic-teste/testcacic.cpp
| ... | ... | @@ -8,22 +8,40 @@ QTEST_MAIN(CTestCacic) |
| 8 | 8 | CTestCacic::CTestCacic(QObject *parent) : |
| 9 | 9 | QObject(parent) |
| 10 | 10 | { |
| 11 | + OCacicComm = CacicComm("http://teste.cacic.cc", | |
| 12 | + "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 | + "P198PVwtz5F5CfZPSUrzuaQA/QG1sTnwzl/rBnj8M7y5MglANGodG5LLD4q7oY809HuDR4g5tL64lZRBKvKPmEgWd9iAZKvT4UAm9XWN3nKKLGaznCaJohmntNGqrJP1Zd9riTHGu10mPbg/Uh3TCbBHVOICvu5sDlINlCR6A3[[MAIS]]a55RhfKNidvr5uX0kozCxr5t2DyOb5oPocEGyJKyHLQ==__CRYPTED__", | |
| 14 | + "1", | |
| 15 | + "0", | |
| 16 | + "0", | |
| 17 | + "YwpgjzZ86/eCsjvOki1KkQ==__CRYPTED__", | |
| 18 | + "8PT6U445MPNr3S7WHFa20ge/8NJSspSYE/UL3zf[[MAIS]]wkEfNZ7p1B/2o6i89gTZ44Ok__CRYPTED__", | |
| 19 | + "wshPlZWvLPhbUEQFQ1aQmA==__CRYPTED__", | |
| 20 | + "E9aKtVz/OSmGv7v1xW4FwaFukOob3qQ/HFDIz916K3ys82qfX9vBDz[[MAIS]]M2cdoYedhNkXt[[MAIS]]UVb10nD[[MAIS]]tOfbn7mlOlTDoGzUl9CgdPCsb[[MAIS]]Qa4wzuCrMw0BcCuaKfr62E3b8vh6Ug4JJbOgBo3ohG3x5O7Ap0D94GKtAWjMuTXRBbhGxPrRS4M6AhzvaN5P8pWd9FikrCLWuMs4ebnRlftef3RmVKScBDQ5zmK6sKxYNmX[[MAIS]]kKn/Gi2[[MAIS]]HftZ7HD9JLvZBpYhp4yjqShblQ67d6PlWgrRWXxwDseIiJe3NlF70zrCPBBelkeAhVDXMXnsYtLms3ElsLzxa3c5vpWzTfgyE[[MAIS]]hvALy4ivew7zaxEwrg2KY1T7GOSWZ7vljIvbhVZJgtzbnYiulFjJTtm5W4uJMKLuUJNzB0rxMkzToIE9/kDmeO2OKiwFbIfbe2Wdq0VpllOkjKtj9WM676iBSpYAXG0MsmLMj9CZ/sNi06hGF[[MAIS]]rXxiOSk66M0Hq[[MAIS]]OeUBh4z3Ra6f9yPJn0K9hIQyT[[MAIS]]Dr/QW/QdJIOkLTW8ZyyAF4DW9ojiTlUdySvB5EB1jyZ5nNTpzyE38qIdg7uM1tdWdm9FZGYxMdHwi1tS2dBeIWkDfWEjih01xiVt2dmdRgo0zIZvmmYDJ9LhCU3XPDlwdeQ8[[MAIS]]F7fnxDfxGqZQjZJ[[MAIS]]Y/Q8bdLpgbhcd3gt3SzjMLE0M[[MAIS]]hTmHG1KP2CzCibZ7grFAN3Y3jSPjmEj5Fzs26tdhdjNzSIt1FCueea8P2c4NmxPYkJCg0D1mgNrkH3L5svsO[[MAIS]]6YYrl3df4s[[MAIS]]fcK/to9s/pnkKfBKrAPF6Z4s2WPsALUPBDS5ty7RC2vqXRvH6hPR4o7xhXzQOQ/1xytr/RoEWEVeZ2wgHVVbbtFsALul/IDc7B45wmwxBx9iZHVwpQJVlNZZUBtwKqKhnXz5pM[[MAIS]]7yUAkfhMcO09pPd5kB2MBdRJs[[MAIS]]2FIk0GRUw05IHkc1rZEX5Ow==__CRYPTED__", | |
| 21 | + "Yot8BeM9lOh431SB7dYQXw==__CRYPTED__", | |
| 22 | + "Dcr8b5IfZOJjt6qyH5dGyw==__CRYPTED__", | |
| 23 | + "2.5.1.1.256.32", | |
| 24 | + "2.8.1.7", | |
| 25 | + "2.8.1.6"); | |
| 11 | 26 | } |
| 12 | 27 | |
| 28 | + | |
| 13 | 29 | void CTestCacic::testCommStatus() |
| 14 | 30 | { |
| 15 | - QVERIFY(OCacicComm.commStatus(QString ("http://teste.cacic.cc"))); | |
| 31 | + QVERIFY(OCacicComm.commStatus()); | |
| 16 | 32 | } |
| 17 | 33 | |
| 18 | 34 | void CTestCacic::testComm() |
| 19 | 35 | { |
| 20 | - if (a.commStatus("http://teste.cacic.cc")) | |
| 21 | - QVERIFY(OCacicComm.comm("http://teste.cacic.cc/ws/get/test") != QString("")); | |
| 36 | + | |
| 37 | + if (OCacicComm.commStatus()) | |
| 38 | + QVERIFY(OCacicComm.comm("/ws/get/test") != QString("")); | |
| 22 | 39 | else |
| 23 | 40 | QSKIP("Teste de comunicação negativo!"); |
| 24 | 41 | } |
| 25 | 42 | |
| 26 | - | |
| 27 | - | |
| 28 | - | |
| 43 | +void CTestCacic::testGetValueFromFile() | |
| 44 | +{ | |
| 45 | + QVERIFY(OCacic.getValueFromFile("teste", "teste","E:/Lightbase/teste.txt") != ""); | |
| 46 | +} | |
| 29 | 47 | ... | ... |
cacic-teste/testcacic.h
| 1 | 1 | #ifndef TESTINSTALLCACIC_H |
| 2 | 2 | #define TESTINSTALLCACIC_H |
| 3 | 3 | #include "../src/CACIC_comm.h" |
| 4 | +#include "../src/ccacic.h" | |
| 4 | 5 | #include <QtTest/QtTest> |
| 5 | 6 | |
| 6 | 7 | class CTestCacic : public QObject |
| ... | ... | @@ -9,7 +10,9 @@ class CTestCacic : public QObject |
| 9 | 10 | public: |
| 10 | 11 | explicit CTestCacic(QObject *parent = 0); |
| 11 | 12 | |
| 13 | +private: | |
| 12 | 14 | CacicComm OCacicComm; |
| 15 | + CCacic OCacic; | |
| 13 | 16 | |
| 14 | 17 | signals: |
| 15 | 18 | |
| ... | ... | @@ -18,6 +21,7 @@ public slots: |
| 18 | 21 | private slots: |
| 19 | 22 | void testCommStatus(); |
| 20 | 23 | void testComm(); |
| 24 | + void testGetValueFromFile(); | |
| 21 | 25 | }; |
| 22 | 26 | |
| 23 | 27 | #endif // TESTINSTALLCACIC_H | ... | ... |
src/CACIC_comm.h
| ... | ... | @@ -2,38 +2,56 @@ |
| 2 | 2 | #define CACIC_COMM_H |
| 3 | 3 | |
| 4 | 4 | #include <QCoreApplication> |
| 5 | +#include <QObject> | |
| 5 | 6 | #include <QDebug> |
| 7 | +#include <QFile> | |
| 6 | 8 | #include <QUrlQuery> |
| 7 | -#include <QString> | |
| 8 | 9 | #include <QtNetwork/QNetworkAccessManager> |
| 9 | 10 | #include <QtNetwork/QNetworkRequest> |
| 10 | 11 | #include <QtNetwork/QNetworkReply> |
| 11 | -#if QT_VERSION >= QT_VERSION_CHECK(5,0,0) | |
| 12 | -# include <QUrlQuery> | |
| 13 | -#endif | |
| 12 | +#include <QUrlQuery> | |
| 13 | + | |
| 14 | 14 | |
| 15 | 15 | class CacicComm { |
| 16 | 16 | |
| 17 | +private: | |
| 18 | + QUrlQuery params; | |
| 19 | + QString urlGerente; | |
| 20 | + | |
| 17 | 21 | public: |
| 18 | - QString comm(QString urlGerente){ | |
| 22 | + CacicComm (){ | |
| 23 | + | |
| 24 | + } | |
| 25 | + | |
| 26 | + CacicComm (QString urlGerente, QString operatingSystem, QString computerSystem, QString csCipher, | |
| 27 | + QString csDebug, QString csCompress, QString httpUserAgent, QString moduleFolderName, | |
| 28 | + QString moduleProgramName, QString networkConfiguration,QString phpAuthPw, QString phpAuthUser, | |
| 29 | + QString so, QString cacicVersion, QString gercolsVersion) | |
| 30 | + { | |
| 31 | + this->urlGerente = urlGerente; | |
| 32 | + | |
| 33 | + params.addQueryItem("OperatingSystem", operatingSystem); | |
| 34 | + params.addQueryItem("ComputerSystem",computerSystem); | |
| 35 | + params.addQueryItem("cs_cipher",csCipher); | |
| 36 | + params.addQueryItem("cs_debug",csDebug); | |
| 37 | + params.addQueryItem("cs_compress",csCompress); | |
| 38 | + params.addQueryItem("HTTP_USER_AGENT",httpUserAgent); | |
| 39 | + params.addQueryItem("ModuleFolderName",moduleFolderName); | |
| 40 | + params.addQueryItem("ModuleProgramName",moduleProgramName); | |
| 41 | + params.addQueryItem("NetworkAdapterConfiguration",networkConfiguration); | |
| 42 | + params.addQueryItem("PHP_AUTH_PW",phpAuthPw); | |
| 43 | + params.addQueryItem("PHP_AUTH_USER",phpAuthUser); | |
| 44 | + params.addQueryItem("te_so",so); | |
| 45 | + params.addQueryItem("te_versao_cacic",cacicVersion); | |
| 46 | + params.addQueryItem("te_versao_gercols",gercolsVersion); | |
| 47 | + } | |
| 48 | + | |
| 49 | + QString comm(QString route) | |
| 50 | + { | |
| 19 | 51 | QString retorno = "0"; |
| 20 | 52 | QByteArray data; |
| 21 | - QUrlQuery params; | |
| 22 | - | |
| 23 | - params.addQueryItem("OperatingSystem","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__"); | |
| 24 | - params.addQueryItem("ComputerSystem","P198PVwtz5F5CfZPSUrzuaQA/QG1sTnwzl/rBnj8M7y5MglANGodG5LLD4q7oY809HuDR4g5tL64lZRBKvKPmEgWd9iAZKvT4UAm9XWN3nKKLGaznCaJohmntNGqrJP1Zd9riTHGu10mPbg/Uh3TCbBHVOICvu5sDlINlCR6A3[[MAIS]]a55RhfKNidvr5uX0kozCxr5t2DyOb5oPocEGyJKyHLQ==__CRYPTED__"); | |
| 25 | - params.addQueryItem("cs_cipher","1"); | |
| 26 | - params.addQueryItem("cs_debug","0"); | |
| 27 | - params.addQueryItem("cs_compress","0"); | |
| 28 | - params.addQueryItem("HTTP_USER_AGENT","YwpgjzZ86/eCsjvOki1KkQ==__CRYPTED__"); | |
| 29 | - params.addQueryItem("ModuleFolderName","8PT6U445MPNr3S7WHFa20ge/8NJSspSYE/UL3zf[[MAIS]]wkEfNZ7p1B/2o6i89gTZ44Ok__CRYPTED__"); | |
| 30 | - params.addQueryItem("ModuleProgramName","wshPlZWvLPhbUEQFQ1aQmA==__CRYPTED__"); | |
| 31 | - params.addQueryItem("NetworkAdapterConfiguration","E9aKtVz/OSmGv7v1xW4FwaFukOob3qQ/HFDIz916K3ys82qfX9vBDz[[MAIS]]M2cdoYedhNkXt[[MAIS]]UVb10nD[[MAIS]]tOfbn7mlOlTDoGzUl9CgdPCsb[[MAIS]]Qa4wzuCrMw0BcCuaKfr62E3b8vh6Ug4JJbOgBo3ohG3x5O7Ap0D94GKtAWjMuTXRBbhGxPrRS4M6AhzvaN5P8pWd9FikrCLWuMs4ebnRlftef3RmVKScBDQ5zmK6sKxYNmX[[MAIS]]kKn/Gi2[[MAIS]]HftZ7HD9JLvZBpYhp4yjqShblQ67d6PlWgrRWXxwDseIiJe3NlF70zrCPBBelkeAhVDXMXnsYtLms3ElsLzxa3c5vpWzTfgyE[[MAIS]]hvALy4ivew7zaxEwrg2KY1T7GOSWZ7vljIvbhVZJgtzbnYiulFjJTtm5W4uJMKLuUJNzB0rxMkzToIE9/kDmeO2OKiwFbIfbe2Wdq0VpllOkjKtj9WM676iBSpYAXG0MsmLMj9CZ/sNi06hGF[[MAIS]]rXxiOSk66M0Hq[[MAIS]]OeUBh4z3Ra6f9yPJn0K9hIQyT[[MAIS]]Dr/QW/QdJIOkLTW8ZyyAF4DW9ojiTlUdySvB5EB1jyZ5nNTpzyE38qIdg7uM1tdWdm9FZGYxMdHwi1tS2dBeIWkDfWEjih01xiVt2dmdRgo0zIZvmmYDJ9LhCU3XPDlwdeQ8[[MAIS]]F7fnxDfxGqZQjZJ[[MAIS]]Y/Q8bdLpgbhcd3gt3SzjMLE0M[[MAIS]]hTmHG1KP2CzCibZ7grFAN3Y3jSPjmEj5Fzs26tdhdjNzSIt1FCueea8P2c4NmxPYkJCg0D1mgNrkH3L5svsO[[MAIS]]6YYrl3df4s[[MAIS]]fcK/to9s/pnkKfBKrAPF6Z4s2WPsALUPBDS5ty7RC2vqXRvH6hPR4o7xhXzQOQ/1xytr/RoEWEVeZ2wgHVVbbtFsALul/IDc7B45wmwxBx9iZHVwpQJVlNZZUBtwKqKhnXz5pM[[MAIS]]7yUAkfhMcO09pPd5kB2MBdRJs[[MAIS]]2FIk0GRUw05IHkc1rZEX5Ow==__CRYPTED__"); | |
| 32 | - params.addQueryItem("PHP_AUTH_PW","Yot8BeM9lOh431SB7dYQXw==__CRYPTED__"); | |
| 33 | - params.addQueryItem("PHP_AUTH_USER","Dcr8b5IfZOJjt6qyH5dGyw==__CRYPTED__"); | |
| 34 | - params.addQueryItem("te_so","2.5.1.1.256.32"); | |
| 35 | - params.addQueryItem("te_versao_cacic","2.8.1.7"); | |
| 36 | - params.addQueryItem("te_versao_gercols","2.8.1.6"); | |
| 53 | + QUrl url = urlGerente + route; | |
| 54 | + | |
| 37 | 55 | data.append(params.toString()); |
| 38 | 56 | |
| 39 | 57 | // cria um event-loop temporario |
| ... | ... | @@ -41,47 +59,49 @@ public: |
| 41 | 59 | // "quit()" o event-loop, when the network request "finished()" |
| 42 | 60 | QNetworkAccessManager mgr; |
| 43 | 61 | QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit())); |
| 62 | + | |
| 44 | 63 | // a requisição HTTP |
| 45 | 64 | |
| 46 | - QUrl url = urlGerente; | |
| 47 | 65 | QNetworkRequest req(url); |
| 48 | - req.setHeader(QNetworkRequest::UserAgentHeader, "Cacic Agente"); | |
| 66 | + req.setHeader(QNetworkRequest::LocationHeader, "Cacic Agente"); | |
| 67 | + | |
| 49 | 68 | QNetworkReply *reply = mgr.post(req, data); |
| 50 | 69 | eventLoop.exec(); // sai do looping chamando o "finished()". |
| 51 | - QVariant codigoStatus = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ); | |
| 52 | - retorno = reply->readAll(); | |
| 53 | - if (codigoStatus.isValid()){ | |
| 54 | - qDebug() << "Status:" << codigoStatus.toInt() << retorno; | |
| 55 | - return retorno; | |
| 70 | + | |
| 71 | + | |
| 72 | + if (reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ).isValid()){ | |
| 73 | + retorno = reply->readAll(); | |
| 74 | +// qDebug() << "Status:" << codigoStatus.toInt() << retorno; | |
| 56 | 75 | }else{ |
| 57 | - QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); | |
| 76 | + retorno = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); | |
| 58 | 77 | // qDebug() << "Error:" << reason; |
| 59 | - return retorno; | |
| 60 | 78 | } |
| 79 | + return retorno; | |
| 61 | 80 | } |
| 62 | 81 | |
| 63 | - bool commStatus(QString path){ | |
| 82 | + bool commStatus(){ | |
| 64 | 83 | // cria um event-loop temporario |
| 65 | 84 | QEventLoop eventLoop; |
| 66 | 85 | // "quit()" o event-loop, when the network request "finished()" |
| 67 | 86 | QNetworkAccessManager mgr; |
| 68 | 87 | QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit())); |
| 69 | 88 | // a requisição HTTP |
| 70 | - QUrl url = path; | |
| 89 | + QUrl url = urlGerente; | |
| 71 | 90 | QNetworkRequest req( url ); |
| 72 | 91 | QNetworkReply *reply = mgr.get(req); |
| 73 | 92 | eventLoop.exec(); // sai do looping chamando o "finished()". |
| 74 | - QVariant codigoStatus = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ); | |
| 93 | + | |
| 75 | 94 | QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); |
| 76 | - if (codigoStatus.isValid()){ | |
| 77 | -// qDebug() << "Status:" << codigoStatus.toInt() << reason; | |
| 95 | + if (reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ).isValid()){ | |
| 96 | + // qDebug() << "Status:" << codigoStatus.toInt() << reason; | |
| 78 | 97 | return true; |
| 79 | 98 | }else{ |
| 80 | - QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); | |
| 81 | -// qDebug() << "Error:" << reason; | |
| 99 | + reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); | |
| 100 | + // qDebug() << "Error:" << reason; | |
| 82 | 101 | return false; |
| 83 | 102 | } |
| 84 | 103 | } |
| 104 | + | |
| 85 | 105 | signals: |
| 86 | 106 | void finished(QNetworkReply* reply); |
| 87 | 107 | }; | ... | ... |