Commit cf3a92c42f6ba9fbc405e9a7b8c1b2c7e0bb089e
1 parent
ee47ba9e
Exists in
master
Alteração do esquema de download por ftp, algumas alterações no test e debugs
Showing
6 changed files
with
107 additions
and
238 deletions
Show diff stats
cacic-teste/testcacic.cpp
@@ -9,22 +9,8 @@ CTestCacic::CTestCacic(QObject *parent) : | @@ -9,22 +9,8 @@ CTestCacic::CTestCacic(QObject *parent) : | ||
9 | 9 | ||
10 | void CTestCacic::initTestCase() | 10 | void CTestCacic::initTestCase() |
11 | { | 11 | { |
12 | - this->OCacicComm = new CacicComm("https://teste.cacic.cc/app_dev.php", | ||
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__", | ||
15 | - "1", | ||
16 | - "0", | ||
17 | - "0", | ||
18 | - "YwpgjzZ86/eCsjvOki1KkQ==__CRYPTED__", | ||
19 | - "8PT6U445MPNr3S7WHFa20ge/8NJSspSYE/UL3zf[[MAIS]]wkEfNZ7p1B/2o6i89gTZ44Ok__CRYPTED__", | ||
20 | - "wshPlZWvLPhbUEQFQ1aQmA==__CRYPTED__", | ||
21 | - "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__", | ||
22 | - "Yot8BeM9lOh431SB7dYQXw==__CRYPTED__", | ||
23 | - "Dcr8b5IfZOJjt6qyH5dGyw==__CRYPTED__", | ||
24 | - "2.5.1.1.256.32", | ||
25 | - "2.8.1.7", | ||
26 | - "2.8.1.6"); | ||
27 | - OCacicComm->setUrlSsl("https://teste.cacic.cc/app_dev.php"); | 12 | + this->OCacicComm = new CacicComm(); |
13 | + OCacicComm->setUrlGerente("http://10.209.134.100/cacic/app_dev.php"); | ||
28 | OCacicComm->setUsuario("cacic"); | 14 | OCacicComm->setUsuario("cacic"); |
29 | OCacicComm->setPassword("cacic123"); | 15 | OCacicComm->setPassword("cacic123"); |
30 | this->testPath = QDir::currentPath() + "/teste"; | 16 | this->testPath = QDir::currentPath() + "/teste"; |
@@ -177,19 +163,6 @@ void CTestCacic::testJsonFromFile() | @@ -177,19 +163,6 @@ void CTestCacic::testJsonFromFile() | ||
177 | QVERIFY(OCacic.getJsonFromFile("teste.json")["teste"].toString() == "teste"); | 163 | QVERIFY(OCacic.getJsonFromFile("teste.json")["teste"].toString() == "teste"); |
178 | } | 164 | } |
179 | 165 | ||
180 | -void CTestCacic::testStartService() | ||
181 | -{ | ||
182 | - bool ok; | ||
183 | - QString exitStatus; | ||
184 | -#ifdef Q_OS_WIN | ||
185 | - exitStatus = OCacic.startProcess("../../install-cacic/debug/install-cacic.exe", true, &ok); | ||
186 | - qDebug() << exitStatus; | ||
187 | -#else | ||
188 | - exitStatus = OCacic.startProcess("../install-cacic/debug/install-cacic", true, &ok); | ||
189 | -#endif | ||
190 | - QVERIFY(ok); | ||
191 | -} | ||
192 | - | ||
193 | void CTestCacic::testSetRegistry() | 166 | void CTestCacic::testSetRegistry() |
194 | { | 167 | { |
195 | QVariantMap valueMap; | 168 | QVariantMap valueMap; |
@@ -229,7 +202,7 @@ void CTestCacic::testGetTest() | @@ -229,7 +202,7 @@ void CTestCacic::testGetTest() | ||
229 | QJsonObject envio; | 202 | QJsonObject envio; |
230 | envio["computador"] = OCacicComp.toJsonObject(); | 203 | envio["computador"] = OCacicComp.toJsonObject(); |
231 | // qDebug() << envio; | 204 | // qDebug() << envio; |
232 | - OCacicComm->setUrlGerente("http://teste.cacic.cc"); | 205 | +// OCacicComm->setUrlGerente("http://teste.cacic.cc"); |
233 | OCacicComm->comm("/ws/neo/getTest", &ok, envio, true); | 206 | OCacicComm->comm("/ws/neo/getTest", &ok, envio, true); |
234 | QVERIFY(ok); | 207 | QVERIFY(ok); |
235 | } | 208 | } |
@@ -312,23 +285,43 @@ void CTestCacic::testLogger() | @@ -312,23 +285,43 @@ void CTestCacic::testLogger() | ||
312 | logFile06.close(); | 285 | logFile06.close(); |
313 | } | 286 | } |
314 | 287 | ||
315 | -void CTestCacic::testFtpDownload() | 288 | +void CTestCacic::testDownload() |
316 | { | 289 | { |
317 | - OCacicComm->ftpDownload("ftp://ftp.unicamp.br", "/pub/gnu/Licenses/gpl-2.0.txt", ""); | ||
318 | - QFile downloaded("gpl-2.0.txt"); | 290 | + QJsonObject ftp; |
291 | + ftp = OCacic.getJsonFromFile("getConfig.json")["agentcomputer"].toObject()["metodoDownload"].toObject(); | ||
292 | + OCacicComm->setFtpPass(ftp["senha"].toString()); | ||
293 | + OCacicComm->setFtpUser(ftp["usuario"].toString()); | ||
294 | + OCacicComm->fileDownload(ftp["tipo"].toString(), | ||
295 | + ftp["url"].toString(), | ||
296 | + "/" + ftp["path"].toString() + "install-cacic", | ||
297 | + ""); | ||
298 | + QFile downloaded("cacic-service"); | ||
319 | 299 | ||
320 | QVERIFY( downloaded.open(QIODevice::ReadOnly) ); | 300 | QVERIFY( downloaded.open(QIODevice::ReadOnly) ); |
321 | QVERIFY( downloaded.exists() ); | 301 | QVERIFY( downloaded.exists() ); |
322 | QVERIFY( downloaded.readAll() != "" ); | 302 | QVERIFY( downloaded.readAll() != "" ); |
323 | } | 303 | } |
324 | 304 | ||
305 | +void CTestCacic::testStartService() | ||
306 | +{ | ||
307 | + bool ok; | ||
308 | + QString exitStatus; | ||
309 | +#ifdef Q_OS_WIN | ||
310 | + exitStatus = OCacic.startProcess("install-cacic.exe", true, &ok); | ||
311 | + qDebug() << exitStatus; | ||
312 | +#else | ||
313 | + exitStatus = OCacic.startProcess("./install-cacic", false, &ok); | ||
314 | +// qDebug() << exitStatus; | ||
315 | +#endif | ||
316 | + QVERIFY(ok); | ||
317 | +} | ||
325 | void CTestCacic::testEnviaColeta() | 318 | void CTestCacic::testEnviaColeta() |
326 | { | 319 | { |
327 | bool ok; | 320 | bool ok; |
328 | QJsonObject coletaEnvio = oColeta.toJsonObject(); | 321 | QJsonObject coletaEnvio = oColeta.toJsonObject(); |
329 | OCacic.setJsonToFile(oColeta.toJsonObject(), "coleta.json"); | 322 | OCacic.setJsonToFile(oColeta.toJsonObject(), "coleta.json"); |
330 | // qDebug() << coletaEnvio; | 323 | // qDebug() << coletaEnvio; |
331 | - qDebug() << OCacicComm->comm("/ws/neo/coleta", &ok, coletaEnvio, true); | 324 | + OCacicComm->comm("/ws/neo/coleta", &ok, coletaEnvio, true); |
332 | QVERIFY(ok); | 325 | QVERIFY(ok); |
333 | } | 326 | } |
334 | 327 | ||
@@ -352,6 +345,6 @@ void CTestCacic::cleanupTestCase() | @@ -352,6 +345,6 @@ void CTestCacic::cleanupTestCase() | ||
352 | OCacic.deleteFolder("../logs"); | 345 | OCacic.deleteFolder("../logs"); |
353 | OCacic.deleteFile("configRequest.json"); | 346 | OCacic.deleteFile("configRequest.json"); |
354 | OCacic.deleteFile("teste.json"); | 347 | OCacic.deleteFile("teste.json"); |
355 | - OCacic.deleteFile("getConfig.json"); | 348 | +// OCacic.deleteFile("getConfig.json"); |
356 | OCacic.deleteFolder("./temp"); | 349 | OCacic.deleteFolder("./temp"); |
357 | } | 350 | } |
cacic-teste/testcacic.h
@@ -45,42 +45,42 @@ signals: | @@ -45,42 +45,42 @@ signals: | ||
45 | public slots: | 45 | public slots: |
46 | 46 | ||
47 | private slots: | 47 | private slots: |
48 | - void initTestCase(); | ||
49 | - void testCommStatus(); | ||
50 | -// void testComm(); | ||
51 | - void testGetAndSetValueFromFile(); | ||
52 | - void testGetValueFromTags(); | ||
53 | - void testCreateFolder(); | ||
54 | - void testDeleteFolder(); | ||
55 | - void testDeleteFile(); | ||
56 | - void testInterfaceDeRede(); | ||
57 | - void testConsole(); | ||
58 | - void testPegarUsu(); | ||
59 | - void testJsonValueFromJsonString(); | ||
60 | - void testcoletaIdOs(); | ||
61 | - void testpegarOS(); | ||
62 | - void testLogin(); | ||
63 | - void testSslConnection(); | ||
64 | - void testEnCrypt(); | ||
65 | - void testDeCrypt(); | ||
66 | - void testCacicCompToJsonObject(); | ||
67 | - void testOperatingSystemToJsonObject(); | ||
68 | - void testJsonToFile(); | ||
69 | - void testJsonFromFile(); | ||
70 | - void testStartService(); | ||
71 | - void testSetRegistry(); | ||
72 | - void testGetValueFromRegistry(); | ||
73 | - void testRemoveRegistry(); | ||
74 | - void testConvertDouble(); | ||
75 | - void testGetTest(); | ||
76 | - void testGetConfig(); | ||
77 | - void testColetaSoftware(); | ||
78 | - void testColetaHardware(); | ||
79 | - void testLogger(); | ||
80 | - void testFtpDownload(); | ||
81 | - void testEnviaColeta(); | ||
82 | - void testGetModulesValues(); | ||
83 | - void cleanupTestCase(); | 48 | + void initTestCase(); |
49 | + void testCommStatus(); | ||
50 | + // void testComm(); | ||
51 | + void testGetAndSetValueFromFile(); | ||
52 | + void testGetValueFromTags(); | ||
53 | + void testCreateFolder(); | ||
54 | + void testDeleteFolder(); | ||
55 | + void testDeleteFile(); | ||
56 | + void testInterfaceDeRede(); | ||
57 | + void testConsole(); | ||
58 | + void testPegarUsu(); | ||
59 | + void testJsonValueFromJsonString(); | ||
60 | + void testcoletaIdOs(); | ||
61 | + void testpegarOS(); | ||
62 | + void testLogin(); | ||
63 | + void testSslConnection(); | ||
64 | + void testEnCrypt(); | ||
65 | + void testDeCrypt(); | ||
66 | + void testCacicCompToJsonObject(); | ||
67 | + void testOperatingSystemToJsonObject(); | ||
68 | + void testJsonToFile(); | ||
69 | + void testJsonFromFile(); | ||
70 | + void testSetRegistry(); | ||
71 | + void testGetValueFromRegistry(); | ||
72 | + void testRemoveRegistry(); | ||
73 | + void testConvertDouble(); | ||
74 | + void testGetTest(); | ||
75 | + void testGetConfig(); | ||
76 | + void testColetaSoftware(); | ||
77 | + void testColetaHardware(); | ||
78 | + void testLogger(); | ||
79 | + void testDownload(); | ||
80 | + void testStartService(); | ||
81 | + void testEnviaColeta(); | ||
82 | + void testGetModulesValues(); | ||
83 | + void cleanupTestCase(); | ||
84 | }; | 84 | }; |
85 | 85 | ||
86 | #endif // TESTINSTALLCACIC_H | 86 | #endif // TESTINSTALLCACIC_H |
install-cacic/installcacic.cpp
@@ -48,7 +48,7 @@ void InstallCacic::run(QStringList argv, int argc) { | @@ -48,7 +48,7 @@ void InstallCacic::run(QStringList argv, int argc) { | ||
48 | #elif defined(Q_OS_LINUX) | 48 | #elif defined(Q_OS_LINUX) |
49 | oCacic.setCacicMainFolder(configsJson["cacic_main_folder"].isString() ? | 49 | oCacic.setCacicMainFolder(configsJson["cacic_main_folder"].isString() ? |
50 | configsJson["cacic_main_folder"].toString() : | 50 | configsJson["cacic_main_folder"].toString() : |
51 | - "/usr/cacic"); | 51 | + "/usr/share/cacic"); |
52 | #endif | 52 | #endif |
53 | 53 | ||
54 | oCacic.createFolder(oCacic.getCacicMainFolder()); | 54 | oCacic.createFolder(oCacic.getCacicMainFolder()); |
@@ -62,6 +62,8 @@ void InstallCacic::run(QStringList argv, int argc) { | @@ -62,6 +62,8 @@ void InstallCacic::run(QStringList argv, int argc) { | ||
62 | //TO DO: Fazer download do serviço | 62 | //TO DO: Fazer download do serviço |
63 | QJsonObject metodoDownload; | 63 | QJsonObject metodoDownload; |
64 | metodoDownload = configsJson["agentcomputer"].toObject()["metodoDownload"].toObject(); | 64 | metodoDownload = configsJson["agentcomputer"].toObject()["metodoDownload"].toObject(); |
65 | + oCacicComm->setFtpPass(metodoDownload["senha"].toString()); | ||
66 | + oCacicComm->setFtpUser(metodoDownload["usuario"].toString()); | ||
65 | #ifdef Q_OS_WIN | 67 | #ifdef Q_OS_WIN |
66 | oCacicComm->fileDownload(metodoDownload["tipo"].toString(), | 68 | oCacicComm->fileDownload(metodoDownload["tipo"].toString(), |
67 | metodoDownload["url"].toString(), | 69 | metodoDownload["url"].toString(), |
@@ -76,7 +78,7 @@ void InstallCacic::run(QStringList argv, int argc) { | @@ -76,7 +78,7 @@ void InstallCacic::run(QStringList argv, int argc) { | ||
76 | 78 | ||
77 | oCacicComm->fileDownload(metodoDownload["tipo"].toString(), | 79 | oCacicComm->fileDownload(metodoDownload["tipo"].toString(), |
78 | metodoDownload["url"].toString(), | 80 | metodoDownload["url"].toString(), |
79 | - metodoDownload["path"].toString() + "/cacic-service", | 81 | + metodoDownload["path"].toString() + "cacic-service", |
80 | oCacic.getCacicMainFolder()); | 82 | oCacic.getCacicMainFolder()); |
81 | 83 | ||
82 | QFile fileService(oCacic.getCacicMainFolder()+"/cacic-service"); | 84 | QFile fileService(oCacic.getCacicMainFolder()+"/cacic-service"); |
@@ -93,21 +95,26 @@ void InstallCacic::run(QStringList argv, int argc) { | @@ -93,21 +95,26 @@ void InstallCacic::run(QStringList argv, int argc) { | ||
93 | &ok, | 95 | &ok, |
94 | arguments); | 96 | arguments); |
95 | #endif | 97 | #endif |
96 | - if (!ok) | 98 | + if (!ok) { |
97 | std::cout << "Erro ao iniciar o processo: " | 99 | std::cout << "Erro ao iniciar o processo: " |
98 | << exitStatus.toStdString() << "\n"; | 100 | << exitStatus.toStdString() << "\n"; |
99 | - else { | 101 | + QLogger::QLog_Info("Install Cacic", QString("Erro ao iniciar o processo") + exitStatus); |
102 | + } else { | ||
100 | std::cout << "Instalação realizada com sucesso." << "\n"; | 103 | std::cout << "Instalação realizada com sucesso." << "\n"; |
104 | + QLogger::QLog_Info("Install Cacic", QString("Instalação realizada com sucesso.")); | ||
101 | } | 105 | } |
102 | 106 | ||
103 | } else { | 107 | } else { |
104 | std::cout << "Falha ao pegar configurações: " << configs["error"].toString().toStdString() << "\n"; | 108 | std::cout << "Falha ao pegar configurações: " << configs["error"].toString().toStdString() << "\n"; |
109 | + QLogger::QLog_Info("Install Cacic", QString("Falha ao pegar configurações: ") + configs["error"].toString()); | ||
105 | } | 110 | } |
106 | 111 | ||
107 | - } else | 112 | + } else { |
108 | std::cout << "Nao foi possivel realizar o login.\n" | 113 | std::cout << "Nao foi possivel realizar o login.\n" |
109 | << " Código: " << jsonLogin["codestatus"].toString().toStdString() << "\n" | 114 | << " Código: " << jsonLogin["codestatus"].toString().toStdString() << "\n" |
110 | << " " << jsonLogin["error"].toString().toStdString() << "\n"; | 115 | << " " << jsonLogin["error"].toString().toStdString() << "\n"; |
116 | + QLogger::QLog_Info("Install Cacic", QString("Falha no login: ") + jsonLogin["error"].toString()); | ||
117 | + } | ||
111 | } else if ((param.contains("default")) && (param["default"] == "uninstall")){ | 118 | } else if ((param.contains("default")) && (param["default"] == "uninstall")){ |
112 | this->uninstall(); | 119 | this->uninstall(); |
113 | } else { | 120 | } else { |
@@ -147,6 +154,7 @@ void InstallCacic::uninstall() | @@ -147,6 +154,7 @@ void InstallCacic::uninstall() | ||
147 | oCacic.deleteFolder("c:/cacic"); | 154 | oCacic.deleteFolder("c:/cacic"); |
148 | oCacic.removeRegistry("Lightbase", "Cacic"); | 155 | oCacic.removeRegistry("Lightbase", "Cacic"); |
149 | std::cout << "\nCacic desinstalado com sucesso.\n"; | 156 | std::cout << "\nCacic desinstalado com sucesso.\n"; |
157 | + QLogger::QLog_Info("Install Cacic", QString("Cacic desinstalado com sucesso.")); | ||
150 | emit finished(); | 158 | emit finished(); |
151 | } | 159 | } |
152 | 160 |
src/cacic_comm.cpp
@@ -192,15 +192,16 @@ bool CacicComm::fileDownload(const QString &mode, const QString &urlServer, cons | @@ -192,15 +192,16 @@ bool CacicComm::fileDownload(const QString &mode, const QString &urlServer, cons | ||
192 | 192 | ||
193 | QStringList splitPath = path.split("/"); | 193 | QStringList splitPath = path.split("/"); |
194 | 194 | ||
195 | - fileHandler = new QFile(pathDownload + "/" + splitPath[splitPath.size() - 1]); | 195 | + fileHandler = new QFile((!pathDownload.isEmpty() ? pathDownload + "/" : "") + splitPath[splitPath.size() - 1]); |
196 | + | ||
196 | if( !fileHandler->open(QIODevice::WriteOnly) ) { | 197 | if( !fileHandler->open(QIODevice::WriteOnly) ) { |
197 | qDebug() << "ftpDownload: fileHandler nâo pode abrir arquivo."; | 198 | qDebug() << "ftpDownload: fileHandler nâo pode abrir arquivo."; |
198 | - return false; | ||
199 | } | 199 | } |
200 | 200 | ||
201 | - QUrl url(urlServer); | ||
202 | - url.setScheme(mode); | ||
203 | - url.setPath(path); | 201 | + QUrl url(mode + "://" + (urlServer.endsWith("/") ? urlServer : urlServer + "/") + path); |
202 | +// url.setScheme(mode); | ||
203 | +// url.setUrl(urlServer); | ||
204 | +// url.setPath(path); | ||
204 | if (!this->ftpUser.isEmpty()) | 205 | if (!this->ftpUser.isEmpty()) |
205 | url.setUserName(ftpUser); | 206 | url.setUserName(ftpUser); |
206 | if (!this->ftpPass.isEmpty()) | 207 | if (!this->ftpPass.isEmpty()) |
@@ -223,6 +224,8 @@ void CacicComm::fileDownloadFinished(QNetworkReply* reply) | @@ -223,6 +224,8 @@ void CacicComm::fileDownloadFinished(QNetworkReply* reply) | ||
223 | if (reply->size() > 0){ | 224 | if (reply->size() > 0){ |
224 | QTextStream out(fileHandler); | 225 | QTextStream out(fileHandler); |
225 | out << reply->readAll(); | 226 | out << reply->readAll(); |
227 | + fileHandler->setPermissions(QFileDevice::ExeOwner); | ||
228 | +// qDebug() << fileHandler->permissions(); | ||
226 | fileHandler->close(); | 229 | fileHandler->close(); |
227 | reply->close(); | 230 | reply->close(); |
228 | } else | 231 | } else |
src/ccoleta.cpp
@@ -7,18 +7,18 @@ CColeta::CColeta(QObject *parent) | @@ -7,18 +7,18 @@ CColeta::CColeta(QObject *parent) | ||
7 | 7 | ||
8 | void CColeta::coletaHardware() | 8 | void CColeta::coletaHardware() |
9 | { | 9 | { |
10 | - qDebug() << "coletaHardware() começando sua execução"; | 10 | +// qDebug() << "coletaHardware() começando sua execução"; |
11 | oHardware.iniciaColeta(); | 11 | oHardware.iniciaColeta(); |
12 | - qDebug() << "coletaHardware() executado"; | 12 | +// qDebug() << "coletaHardware() executado"; |
13 | emit hardwareFinish(); | 13 | emit hardwareFinish(); |
14 | } | 14 | } |
15 | 15 | ||
16 | 16 | ||
17 | void CColeta::coletaSoftware() | 17 | void CColeta::coletaSoftware() |
18 | { | 18 | { |
19 | - qDebug() << "coletaSoftware() começando sua execução"; | 19 | +// qDebug() << "coletaSoftware() começando sua execução"; |
20 | oSoftware.iniciaColeta(); | 20 | oSoftware.iniciaColeta(); |
21 | - qDebug() << "coletaSoftware() executado"; | 21 | +// qDebug() << "coletaSoftware() executado"; |
22 | emit softwareFinish(); | 22 | emit softwareFinish(); |
23 | } | 23 | } |
24 | 24 |
src/checkmodules.cpp
@@ -11,7 +11,7 @@ CheckModules::CheckModules(const QString &workingPath) | @@ -11,7 +11,7 @@ CheckModules::CheckModules(const QString &workingPath) | ||
11 | qDebug() << applicationUrl; | 11 | qDebug() << applicationUrl; |
12 | QJsonArray modulos; | 12 | QJsonArray modulos; |
13 | //pega o jsonarray dos módulos | 13 | //pega o jsonarray dos módulos |
14 | - modulos = configFile["agentcomputer"].toObject()["modulos"].toArray(); | 14 | + modulos = configFile["agentcomputer"].toObject()["modulos"].toObject()["cacic"].toArray(); |
15 | foreach (QJsonValue modulo, modulos){ | 15 | foreach (QJsonValue modulo, modulos){ |
16 | //grava o nome com o hash de cada modulo | 16 | //grava o nome com o hash de cada modulo |
17 | modules[modulo.toObject()["nome"].toString()] = modulo.toObject()["hash"].toString(); | 17 | modules[modulo.toObject()["nome"].toString()] = modulo.toObject()["hash"].toString(); |
@@ -56,161 +56,26 @@ bool CheckModules::verificaModulo(const QString &moduloName, const QString &modu | @@ -56,161 +56,26 @@ bool CheckModules::verificaModulo(const QString &moduloName, const QString &modu | ||
56 | metodoDownload = oCacic.getJsonFromFile("getConfig.json")["agentcomputer"].toObject()["metodoDownload"].toObject(); | 56 | metodoDownload = oCacic.getJsonFromFile("getConfig.json")["agentcomputer"].toObject()["metodoDownload"].toObject(); |
57 | oCacicComm.setFtpUser(metodoDownload["usuario"].toString()); | 57 | oCacicComm.setFtpUser(metodoDownload["usuario"].toString()); |
58 | oCacicComm.setFtpPass(metodoDownload["senha"].toString()); | 58 | oCacicComm.setFtpPass(metodoDownload["senha"].toString()); |
59 | - if(metodoDownload["tipo"].toString() == "ftp"){ | ||
60 | - qDebug() << moduloName << "ftp download"; | ||
61 | - downloadOk = oCacicComm.ftpDownload(this->applicationUrl, | ||
62 | - metodoDownload["path"].toString() + "/" + moduloName, | ||
63 | - oCacic.getCacicMainFolder() + "/temp/"); | ||
64 | - } else if (metodoDownload["tipo"].toString() == "http"){ | ||
65 | - qDebug() << moduloName << "http download"; | ||
66 | - downloadOk = oCacicComm.httpDownload(this->applicationUrl, | ||
67 | - metodoDownload["path"].toString() + "/" + moduloName, | ||
68 | - oCacic.getCacicMainFolder() + "/temp/"); | 59 | + qDebug() << moduloName << "ftp download"; |
60 | + downloadOk = oCacicComm.fileDownload(metodoDownload["tipo"].toString(), | ||
61 | + this->applicationUrl, | ||
62 | + metodoDownload["path"].toString() + "/" + moduloName, | ||
63 | + oCacic.getCacicMainFolder() + "/temp/"); | ||
64 | + | ||
65 | + if (downloadOk){ | ||
66 | + //faz uma verificação do novo módulo. | ||
67 | + novoModulo = new QFile(oCacic.getCacicMainFolder() + "/temp/" + moduloName); | ||
68 | + if (!(novoModulo->exists() && novoModulo->size()>1 && oCacic.Md5IsEqual(QVariant::fromValue(modulo), moduloHash))){ | ||
69 | + qDebug() << moduloName << "falha no download.."; | ||
70 | + novoModulo->remove(); | ||
71 | + return false; | ||
72 | + } else { | ||
73 | + qDebug() << moduloName << "Sucesso!"; | ||
74 | + return true; | ||
75 | + } | ||
69 | } else { | 76 | } else { |
70 | - qDebug() << moduloName << "metodo de download incorreto"; | ||
71 | return false; | 77 | return false; |
72 | } | 78 | } |
73 | - //faz uma verificação do novo módulo. | ||
74 | - novoModulo = new QFile(oCacic.getCacicMainFolder() + "/temp/" + moduloName); | ||
75 | - if (!(novoModulo->exists() && novoModulo->size()>1 && oCacic.Md5IsEqual(QVariant::fromValue(modulo), moduloHash))){ | ||
76 | - qDebug() << moduloName << "falha no download.."; | ||
77 | - novoModulo->remove(); | ||
78 | - return false; | ||
79 | - } else { | ||
80 | - qDebug() << moduloName << "Sucesso!"; | ||
81 | - return true; | ||
82 | - } | ||
83 | 79 | ||
84 | } | 80 | } |
85 | } | 81 | } |
86 | - | ||
87 | -//QStringList CheckModules::verificaModulos(){ | ||
88 | -// // Compara o novo arquivo de configuração com um antigo e se forem diferentes | ||
89 | -// // mantem o mais recente; caso iguais simplesmente apaga o novo. | ||
90 | -// QFile *fileOld; | ||
91 | -// QFile *fileNew; | ||
92 | - | ||
93 | -// fileOld = new QFile(this->applicationDirPath + "/getConfig.json"); | ||
94 | -// fileNew = new QFile(this->applicationDirPath + "/getConfigNew.json"); | ||
95 | - | ||
96 | -// if( fileOld->exists() && fileNew->exists() ){ | ||
97 | -// if( Md5IsEqual(QVariant::fromValue(fileOld), QVariant::fromValue(fileNew)) ) { | ||
98 | -// fileNew->remove(); | ||
99 | -// } else { | ||
100 | -// // Renomeia getConfigNew.json para getConfig.json | ||
101 | -// fileOld->remove(); | ||
102 | -// fileNew->rename("getConfigNew.json","getConfig.json"); | ||
103 | -// } | ||
104 | -// jsonConfig = ccacic->getJsonFromFile(this->applicationDirPath + "/getConfig.json"); | ||
105 | -// } else if( fileOld->exists() ){ | ||
106 | -// jsonConfig = ccacic->getJsonFromFile(this->applicationDirPath + "/getConfig.json"); | ||
107 | -// } else { | ||
108 | -// QLogger::QLog_Error("Cacic Daemon (Timer)", "Arquivo de configuração não criado."); | ||
109 | -// } | ||
110 | -// delete fileOld; | ||
111 | -// delete fileNew; | ||
112 | -// lerArquivoConfig(jsonConfig["agentcomputer"].toObject()); | ||
113 | - | ||
114 | -// QStringList nomesModulos; | ||
115 | - | ||
116 | -// int countExecNotFound = 0; | ||
117 | -// QMap<QString, QString>::const_iterator moduloIterator = moduleMap.constBegin(); | ||
118 | -// while (moduloIterator != moduleMap.constEnd()) { | ||
119 | -// QString nomeModulo = moduloIterator.value(); | ||
120 | -// QString hashModulo = moduloIterator.key(); | ||
121 | -// // Calcula hash do binario atual | ||
122 | -//#if defined(Q_OS_WIN) | ||
123 | -// fileOld = new QFile(this->applicationDirPath + "/" + nomeModulo + ".exe"); | ||
124 | -//#else | ||
125 | -// fileOld = new QFile(this->applicationDirPath + "/" + nomeModulo); | ||
126 | -//#endif | ||
127 | -// if(!fileOld->exists()) { | ||
128 | -// QLogger::QLog_Error("Cacic Daemon (Timer)", QString("Módulo ").append(nomeModulo).append(" não encontrado.")); | ||
129 | -// countExecNotFound++; | ||
130 | - | ||
131 | -// if( countExecNotFound == moduleMap.size() ) { | ||
132 | -// QLogger::QLog_Error("Cacic Daemon (Timer)", "Não foi possível encontrar nenhum módulo executável!"); | ||
133 | -// return QStringList(); | ||
134 | -// } | ||
135 | - | ||
136 | -// // pula para o próximo módulo no moduloMap | ||
137 | -// moduloIterator++; | ||
138 | -// continue; | ||
139 | -// } | ||
140 | - | ||
141 | -// QString oldMd5 = QString(QCryptographicHash::hash(fileOld->readAll(),QCryptographicHash::Md5).toHex()); | ||
142 | -// if ( oldMd5 != hashModulo ) { | ||
143 | - | ||
144 | -//#if defined(Q_OS_WIN) | ||
145 | -// fileOld->rename(this->applicationDirPath + "/" + nomeModulo + ".exe", | ||
146 | -// this->applicationDirPath + "/" + nomeModulo + "Old.exe"); | ||
147 | -//#elif defined(Q_OS_LINUX) | ||
148 | -// fileOld->rename(this->applicationDirPath + "/" + nomeModulo, | ||
149 | -// this->applicationDirPath + "/" + nomeModulo + "Old"); | ||
150 | -//#endif | ||
151 | - | ||
152 | -// // Download nova versão do executável | ||
153 | -// QList<QMap<QString,QString> >::const_iterator metodosIterator = metodosDownload.constBegin(); | ||
154 | -// bool downloadSucess = false; | ||
155 | -// while ( !downloadSucess && metodosIterator != metodosDownload.constEnd() ) { | ||
156 | -// if( metodosIterator->value("tipo") == "ftp" || metodosIterator->value("tipo") == "" ) { | ||
157 | -// if ( OCacicComm->ftpDownload( metodosIterator->value("url"), metodosIterator->value("path") ) ) | ||
158 | -// downloadSucess = true; | ||
159 | -// } else if ( metodosIterator->value("tipo") == "http" ) { | ||
160 | -// if( OCacicComm->httpDownload( metodosIterator->value("url"), metodosIterator->value("path") ) ) | ||
161 | -// downloadSucess = true; | ||
162 | -// } | ||
163 | -// metodosIterator++; | ||
164 | -// } | ||
165 | -// fileOld->remove(); | ||
166 | -// delete fileOld; | ||
167 | -// } | ||
168 | - | ||
169 | -// nomesModulos.append(nomeModulo); | ||
170 | - | ||
171 | -// moduloIterator++; | ||
172 | -// } | ||
173 | - | ||
174 | -// return nomesModulos; | ||
175 | -//} | ||
176 | - | ||
177 | -//void CheckModules::lerArquivoConfig ( const QJsonObject& jsonConfig ) | ||
178 | -//{ | ||
179 | -// /* lê json de configurações e armazena quais módulos executáveis. | ||
180 | -// * E faz o mesmo tipo de comparação de hashs, com o fim de: | ||
181 | -// * ou mantem o binário do módulo ou baixa um novo. | ||
182 | -// */ | ||
183 | -// foreach( QJsonValue individualModule, jsonConfig["modulos"].toArray() ) { | ||
184 | -// QString moduloKey, moduloValue; | ||
185 | - | ||
186 | -// moduloKey = individualModule.toObject()["hash"].toString(); | ||
187 | -// moduloValue = individualModule.toObject()["nome"].toString(); | ||
188 | - | ||
189 | -// moduleMap.insert(moduloKey, moduloValue); | ||
190 | -// } | ||
191 | - | ||
192 | -// if ( jsonConfig["metodoDownload"].isArray() ) { | ||
193 | - | ||
194 | -// foreach (QJsonValue individualMetodo, jsonConfig["metodoDownload"].toArray() ) { | ||
195 | -// QMap<QString, QString> newEntry; | ||
196 | - | ||
197 | -// newEntry.insert(QString("tipo"), individualMetodo.toObject()["tipo"].toString() ); | ||
198 | -// newEntry.insert(QString("url"), individualMetodo.toObject()["url"].toString() ); | ||
199 | -// newEntry.insert(QString("path"), individualMetodo.toObject()["path"].toString() ); | ||
200 | -// newEntry.insert(QString("usuario"), individualMetodo.toObject()["usario"].toString() ); | ||
201 | -// newEntry.insert(QString("senha"), individualMetodo.toObject()["senha"].toString() ); | ||
202 | - | ||
203 | -// metodosDownload.append( newEntry ); | ||
204 | -// } | ||
205 | -// } else { | ||
206 | -// QMap<QString, QString> newEntry; | ||
207 | - | ||
208 | -// newEntry.insert(QString("tipo"), jsonConfig["metodoDownload"].toObject()["tipo"].toString() ); | ||
209 | -// newEntry.insert(QString("url"), jsonConfig["metodoDownload"].toObject()["url"].toString() ); | ||
210 | -// newEntry.insert(QString("path"), jsonConfig["metodoDownload"].toObject()["path"].toString() ); | ||
211 | -// newEntry.insert(QString("usuario"), jsonConfig["metodoDownload"].toObject()["usario"].toString() ); | ||
212 | -// newEntry.insert(QString("senha"), jsonConfig["metodoDownload"].toObject()["senha"].toString() ); | ||
213 | - | ||
214 | -// metodosDownload.append( newEntry ); | ||
215 | -// } | ||
216 | -//} |