Commit 77bad974e13e7d3803fa0cc5a7200e69199eaed7

Authored by Eric Menezes Noronha
1 parent d3779f3f
Exists in master

Melhoria da classe CacicComm.

cacic-teste/testcacic.cpp
@@ -8,22 +8,40 @@ QTEST_MAIN(CTestCacic) @@ -8,22 +8,40 @@ QTEST_MAIN(CTestCacic)
8 CTestCacic::CTestCacic(QObject *parent) : 8 CTestCacic::CTestCacic(QObject *parent) :
9 QObject(parent) 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 void CTestCacic::testCommStatus() 29 void CTestCacic::testCommStatus()
14 { 30 {
15 - QVERIFY(OCacicComm.commStatus(QString ("http://teste.cacic.cc"))); 31 + QVERIFY(OCacicComm.commStatus());
16 } 32 }
17 33
18 void CTestCacic::testComm() 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 else 39 else
23 QSKIP("Teste de comunicação negativo!"); 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 #ifndef TESTINSTALLCACIC_H 1 #ifndef TESTINSTALLCACIC_H
2 #define TESTINSTALLCACIC_H 2 #define TESTINSTALLCACIC_H
3 #include "../src/CACIC_comm.h" 3 #include "../src/CACIC_comm.h"
  4 +#include "../src/ccacic.h"
4 #include <QtTest/QtTest> 5 #include <QtTest/QtTest>
5 6
6 class CTestCacic : public QObject 7 class CTestCacic : public QObject
@@ -9,7 +10,9 @@ class CTestCacic : public QObject @@ -9,7 +10,9 @@ class CTestCacic : public QObject
9 public: 10 public:
10 explicit CTestCacic(QObject *parent = 0); 11 explicit CTestCacic(QObject *parent = 0);
11 12
  13 +private:
12 CacicComm OCacicComm; 14 CacicComm OCacicComm;
  15 + CCacic OCacic;
13 16
14 signals: 17 signals:
15 18
@@ -18,6 +21,7 @@ public slots: @@ -18,6 +21,7 @@ public slots:
18 private slots: 21 private slots:
19 void testCommStatus(); 22 void testCommStatus();
20 void testComm(); 23 void testComm();
  24 + void testGetValueFromFile();
21 }; 25 };
22 26
23 #endif // TESTINSTALLCACIC_H 27 #endif // TESTINSTALLCACIC_H
src/CACIC_comm.h
@@ -2,38 +2,56 @@ @@ -2,38 +2,56 @@
2 #define CACIC_COMM_H 2 #define CACIC_COMM_H
3 3
4 #include <QCoreApplication> 4 #include <QCoreApplication>
  5 +#include <QObject>
5 #include <QDebug> 6 #include <QDebug>
  7 +#include <QFile>
6 #include <QUrlQuery> 8 #include <QUrlQuery>
7 -#include <QString>  
8 #include <QtNetwork/QNetworkAccessManager> 9 #include <QtNetwork/QNetworkAccessManager>
9 #include <QtNetwork/QNetworkRequest> 10 #include <QtNetwork/QNetworkRequest>
10 #include <QtNetwork/QNetworkReply> 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 class CacicComm { 15 class CacicComm {
16 16
  17 +private:
  18 + QUrlQuery params;
  19 + QString urlGerente;
  20 +
17 public: 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 QString retorno = "0"; 51 QString retorno = "0";
20 QByteArray data; 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 data.append(params.toString()); 55 data.append(params.toString());
38 56
39 // cria um event-loop temporario 57 // cria um event-loop temporario
@@ -41,47 +59,49 @@ public: @@ -41,47 +59,49 @@ public:
41 // "quit()" o event-loop, when the network request "finished()" 59 // "quit()" o event-loop, when the network request "finished()"
42 QNetworkAccessManager mgr; 60 QNetworkAccessManager mgr;
43 QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit())); 61 QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
  62 +
44 // a requisição HTTP 63 // a requisição HTTP
45 64
46 - QUrl url = urlGerente;  
47 QNetworkRequest req(url); 65 QNetworkRequest req(url);
48 - req.setHeader(QNetworkRequest::UserAgentHeader, "Cacic Agente"); 66 + req.setHeader(QNetworkRequest::LocationHeader, "Cacic Agente");
  67 +
49 QNetworkReply *reply = mgr.post(req, data); 68 QNetworkReply *reply = mgr.post(req, data);
50 eventLoop.exec(); // sai do looping chamando o "finished()". 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 }else{ 75 }else{
57 - QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); 76 + retorno = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString();
58 // qDebug() << "Error:" << reason; 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 // cria um event-loop temporario 83 // cria um event-loop temporario
65 QEventLoop eventLoop; 84 QEventLoop eventLoop;
66 // "quit()" o event-loop, when the network request "finished()" 85 // "quit()" o event-loop, when the network request "finished()"
67 QNetworkAccessManager mgr; 86 QNetworkAccessManager mgr;
68 QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit())); 87 QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
69 // a requisição HTTP 88 // a requisição HTTP
70 - QUrl url = path; 89 + QUrl url = urlGerente;
71 QNetworkRequest req( url ); 90 QNetworkRequest req( url );
72 QNetworkReply *reply = mgr.get(req); 91 QNetworkReply *reply = mgr.get(req);
73 eventLoop.exec(); // sai do looping chamando o "finished()". 92 eventLoop.exec(); // sai do looping chamando o "finished()".
74 - QVariant codigoStatus = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ); 93 +
75 QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); 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 return true; 97 return true;
79 }else{ 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 return false; 101 return false;
83 } 102 }
84 } 103 }
  104 +
85 signals: 105 signals:
86 void finished(QNetworkReply* reply); 106 void finished(QNetworkReply* reply);
87 }; 107 };