diff --git a/cacic-teste/testcacic.cpp b/cacic-teste/testcacic.cpp index a129ced..b66e8a2 100644 --- a/cacic-teste/testcacic.cpp +++ b/cacic-teste/testcacic.cpp @@ -8,22 +8,40 @@ QTEST_MAIN(CTestCacic) CTestCacic::CTestCacic(QObject *parent) : QObject(parent) { + OCacicComm = CacicComm("http://teste.cacic.cc", + "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__", + "P198PVwtz5F5CfZPSUrzuaQA/QG1sTnwzl/rBnj8M7y5MglANGodG5LLD4q7oY809HuDR4g5tL64lZRBKvKPmEgWd9iAZKvT4UAm9XWN3nKKLGaznCaJohmntNGqrJP1Zd9riTHGu10mPbg/Uh3TCbBHVOICvu5sDlINlCR6A3[[MAIS]]a55RhfKNidvr5uX0kozCxr5t2DyOb5oPocEGyJKyHLQ==__CRYPTED__", + "1", + "0", + "0", + "YwpgjzZ86/eCsjvOki1KkQ==__CRYPTED__", + "8PT6U445MPNr3S7WHFa20ge/8NJSspSYE/UL3zf[[MAIS]]wkEfNZ7p1B/2o6i89gTZ44Ok__CRYPTED__", + "wshPlZWvLPhbUEQFQ1aQmA==__CRYPTED__", + "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__", + "Yot8BeM9lOh431SB7dYQXw==__CRYPTED__", + "Dcr8b5IfZOJjt6qyH5dGyw==__CRYPTED__", + "2.5.1.1.256.32", + "2.8.1.7", + "2.8.1.6"); } + void CTestCacic::testCommStatus() { - QVERIFY(OCacicComm.commStatus(QString ("http://teste.cacic.cc"))); + QVERIFY(OCacicComm.commStatus()); } void CTestCacic::testComm() { - if (a.commStatus("http://teste.cacic.cc")) - QVERIFY(OCacicComm.comm("http://teste.cacic.cc/ws/get/test") != QString("")); + + if (OCacicComm.commStatus()) + QVERIFY(OCacicComm.comm("/ws/get/test") != QString("")); else QSKIP("Teste de comunicação negativo!"); } - - - +void CTestCacic::testGetValueFromFile() +{ + QVERIFY(OCacic.getValueFromFile("teste", "teste","E:/Lightbase/teste.txt") != ""); +} diff --git a/cacic-teste/testcacic.h b/cacic-teste/testcacic.h index f8c0347..1097c3c 100644 --- a/cacic-teste/testcacic.h +++ b/cacic-teste/testcacic.h @@ -1,6 +1,7 @@ #ifndef TESTINSTALLCACIC_H #define TESTINSTALLCACIC_H #include "../src/CACIC_comm.h" +#include "../src/ccacic.h" #include class CTestCacic : public QObject @@ -9,7 +10,9 @@ class CTestCacic : public QObject public: explicit CTestCacic(QObject *parent = 0); +private: CacicComm OCacicComm; + CCacic OCacic; signals: @@ -18,6 +21,7 @@ public slots: private slots: void testCommStatus(); void testComm(); + void testGetValueFromFile(); }; #endif // TESTINSTALLCACIC_H diff --git a/src/CACIC_comm.h b/src/CACIC_comm.h index 5253236..50eba74 100644 --- a/src/CACIC_comm.h +++ b/src/CACIC_comm.h @@ -2,38 +2,56 @@ #define CACIC_COMM_H #include +#include #include +#include #include -#include #include #include #include -#if QT_VERSION >= QT_VERSION_CHECK(5,0,0) -# include -#endif +#include + class CacicComm { +private: + QUrlQuery params; + QString urlGerente; + public: - QString comm(QString urlGerente){ + CacicComm (){ + + } + + CacicComm (QString urlGerente, QString operatingSystem, QString computerSystem, QString csCipher, + QString csDebug, QString csCompress, QString httpUserAgent, QString moduleFolderName, + QString moduleProgramName, QString networkConfiguration,QString phpAuthPw, QString phpAuthUser, + QString so, QString cacicVersion, QString gercolsVersion) + { + this->urlGerente = urlGerente; + + params.addQueryItem("OperatingSystem", operatingSystem); + params.addQueryItem("ComputerSystem",computerSystem); + params.addQueryItem("cs_cipher",csCipher); + params.addQueryItem("cs_debug",csDebug); + params.addQueryItem("cs_compress",csCompress); + params.addQueryItem("HTTP_USER_AGENT",httpUserAgent); + params.addQueryItem("ModuleFolderName",moduleFolderName); + params.addQueryItem("ModuleProgramName",moduleProgramName); + params.addQueryItem("NetworkAdapterConfiguration",networkConfiguration); + params.addQueryItem("PHP_AUTH_PW",phpAuthPw); + params.addQueryItem("PHP_AUTH_USER",phpAuthUser); + params.addQueryItem("te_so",so); + params.addQueryItem("te_versao_cacic",cacicVersion); + params.addQueryItem("te_versao_gercols",gercolsVersion); + } + + QString comm(QString route) + { QString retorno = "0"; QByteArray data; - QUrlQuery params; - - 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__"); - params.addQueryItem("ComputerSystem","P198PVwtz5F5CfZPSUrzuaQA/QG1sTnwzl/rBnj8M7y5MglANGodG5LLD4q7oY809HuDR4g5tL64lZRBKvKPmEgWd9iAZKvT4UAm9XWN3nKKLGaznCaJohmntNGqrJP1Zd9riTHGu10mPbg/Uh3TCbBHVOICvu5sDlINlCR6A3[[MAIS]]a55RhfKNidvr5uX0kozCxr5t2DyOb5oPocEGyJKyHLQ==__CRYPTED__"); - params.addQueryItem("cs_cipher","1"); - params.addQueryItem("cs_debug","0"); - params.addQueryItem("cs_compress","0"); - params.addQueryItem("HTTP_USER_AGENT","YwpgjzZ86/eCsjvOki1KkQ==__CRYPTED__"); - params.addQueryItem("ModuleFolderName","8PT6U445MPNr3S7WHFa20ge/8NJSspSYE/UL3zf[[MAIS]]wkEfNZ7p1B/2o6i89gTZ44Ok__CRYPTED__"); - params.addQueryItem("ModuleProgramName","wshPlZWvLPhbUEQFQ1aQmA==__CRYPTED__"); - 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__"); - params.addQueryItem("PHP_AUTH_PW","Yot8BeM9lOh431SB7dYQXw==__CRYPTED__"); - params.addQueryItem("PHP_AUTH_USER","Dcr8b5IfZOJjt6qyH5dGyw==__CRYPTED__"); - params.addQueryItem("te_so","2.5.1.1.256.32"); - params.addQueryItem("te_versao_cacic","2.8.1.7"); - params.addQueryItem("te_versao_gercols","2.8.1.6"); + QUrl url = urlGerente + route; + data.append(params.toString()); // cria um event-loop temporario @@ -41,47 +59,49 @@ public: // "quit()" o event-loop, when the network request "finished()" QNetworkAccessManager mgr; QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit())); + // a requisição HTTP - QUrl url = urlGerente; QNetworkRequest req(url); - req.setHeader(QNetworkRequest::UserAgentHeader, "Cacic Agente"); + req.setHeader(QNetworkRequest::LocationHeader, "Cacic Agente"); + QNetworkReply *reply = mgr.post(req, data); eventLoop.exec(); // sai do looping chamando o "finished()". - QVariant codigoStatus = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ); - retorno = reply->readAll(); - if (codigoStatus.isValid()){ - qDebug() << "Status:" << codigoStatus.toInt() << retorno; - return retorno; + + + if (reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ).isValid()){ + retorno = reply->readAll(); +// qDebug() << "Status:" << codigoStatus.toInt() << retorno; }else{ - QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); + retorno = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); // qDebug() << "Error:" << reason; - return retorno; } + return retorno; } - bool commStatus(QString path){ + bool commStatus(){ // cria um event-loop temporario QEventLoop eventLoop; // "quit()" o event-loop, when the network request "finished()" QNetworkAccessManager mgr; QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit())); // a requisição HTTP - QUrl url = path; + QUrl url = urlGerente; QNetworkRequest req( url ); QNetworkReply *reply = mgr.get(req); eventLoop.exec(); // sai do looping chamando o "finished()". - QVariant codigoStatus = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ); + QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); - if (codigoStatus.isValid()){ -// qDebug() << "Status:" << codigoStatus.toInt() << reason; + if (reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ).isValid()){ + // qDebug() << "Status:" << codigoStatus.toInt() << reason; return true; }else{ - QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); -// qDebug() << "Error:" << reason; + reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); + // qDebug() << "Error:" << reason; return false; } } + signals: void finished(QNetworkReply* reply); }; -- libgit2 0.21.2