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 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 };
... ...