Commit 1c127fd643e212e7f4860cfc1735e510f5cc72a3
1 parent
91353399
Exists in
master
Inclusão do teste e dos métodos:
-getValueFromTags -getValueFromFile -setValueToFile -createFolder -deleteFolder -deleteFile
Showing
4 changed files
with
108 additions
and
24 deletions
Show diff stats
cacic-teste/testcacic.cpp
@@ -14,8 +14,8 @@ CTestCacic::CTestCacic(QObject *parent) : | @@ -14,8 +14,8 @@ CTestCacic::CTestCacic(QObject *parent) : | ||
14 | "1", | 14 | "1", |
15 | "0", | 15 | "0", |
16 | "0", | 16 | "0", |
17 | - "YwpgjzZ86/eCsjvOki1KkQ==__CRYPTED__", | ||
18 | - "8PT6U445MPNr3S7WHFa20ge/8NJSspSYE/UL3zf[[MAIS]]wkEfNZ7p1B/2o6i89gTZ44Ok__CRYPTED__", | 17 | + /*QDir::currentPath(), */"YwpgjzZ86/eCsjvOki1KkQ==__CRYPTED__", |
18 | + /*QTest::currentAppName(), */"8PT6U445MPNr3S7WHFa20ge/8NJSspSYE/UL3zf[[MAIS]]wkEfNZ7p1B/2o6i89gTZ44Ok__CRYPTED__", | ||
19 | "wshPlZWvLPhbUEQFQ1aQmA==__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__", | 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__", | 21 | "Yot8BeM9lOh431SB7dYQXw==__CRYPTED__", |
@@ -23,8 +23,26 @@ CTestCacic::CTestCacic(QObject *parent) : | @@ -23,8 +23,26 @@ CTestCacic::CTestCacic(QObject *parent) : | ||
23 | "2.5.1.1.256.32", | 23 | "2.5.1.1.256.32", |
24 | "2.8.1.7", | 24 | "2.8.1.7", |
25 | "2.8.1.6"); | 25 | "2.8.1.6"); |
26 | + testPath = QDir::currentPath() + "/teste"; | ||
27 | + testIniPath = testPath + "/teste.ini"; | ||
26 | } | 28 | } |
27 | 29 | ||
30 | +void CTestCacic::testCreateFolder() | ||
31 | +{ | ||
32 | + QVERIFY(OCacic.createFolder(testPath)); | ||
33 | +} | ||
34 | + | ||
35 | +void CTestCacic::testGetAndSetValueFromFile() | ||
36 | +{ | ||
37 | + OCacic.setValueToFile("Teste", "teste", "Valor de teste", testIniPath); | ||
38 | + QVERIFY( OCacic.getValueFromFile("Teste", "teste", testIniPath) == "Valor de teste"); | ||
39 | +} | ||
40 | + | ||
41 | +void CTestCacic::testGetValueFromTags() | ||
42 | +{ | ||
43 | + QString value = "blablab[teste]Valor de teste[/teste]feihgj"; | ||
44 | + QVERIFY(OCacic.getValueFromTags(value, "teste") == "Valor de teste"); | ||
45 | +} | ||
28 | 46 | ||
29 | void CTestCacic::testCommStatus() | 47 | void CTestCacic::testCommStatus() |
30 | { | 48 | { |
@@ -34,21 +52,18 @@ void CTestCacic::testCommStatus() | @@ -34,21 +52,18 @@ void CTestCacic::testCommStatus() | ||
34 | void CTestCacic::testComm() | 52 | void CTestCacic::testComm() |
35 | { | 53 | { |
36 | 54 | ||
37 | - if (OCacicComm.commStatus()) | ||
38 | - QVERIFY(OCacicComm.comm("/ws/get/test") != QString("")); | ||
39 | - else | 55 | + if (OCacicComm.commStatus()){ |
56 | + QVERIFY(OCacic.getValueFromTags(OCacicComm.comm("/ws/get/test"), "Comm_Status", "<>") == QString("OK")); | ||
57 | + } else | ||
40 | QSKIP("Teste de comunicação negativo!"); | 58 | QSKIP("Teste de comunicação negativo!"); |
41 | } | 59 | } |
42 | 60 | ||
43 | -void CTestCacic::testGetValueFromFile() | 61 | +void CTestCacic::testDeleteFile() |
44 | { | 62 | { |
45 | - QVERIFY( OCacic.getValueFromFile("Teste", "teste","E:/teste.txt") == "Valor de teste"); | 63 | + QVERIFY(OCacic.deleteFile(testIniPath)); |
46 | } | 64 | } |
47 | 65 | ||
48 | -void CTestCacic::testGetValueFromTags() | 66 | +void CTestCacic::testDeleteFolder() |
49 | { | 67 | { |
50 | - QString value = "blablab[teste]Valor de teste[/teste]feihgj"; | ||
51 | - QString retorno = OCacic.getValueFromTags(value, "teste"); | ||
52 | - qDebug(retorno.toLocal8Bit()); | ||
53 | - QVERIFY(retorno == "Valor de teste"); | 68 | + QVERIFY(OCacic.deleteFolder(testPath)); |
54 | } | 69 | } |
cacic-teste/testcacic.h
@@ -14,6 +14,8 @@ public: | @@ -14,6 +14,8 @@ public: | ||
14 | private: | 14 | private: |
15 | CacicComm OCacicComm; | 15 | CacicComm OCacicComm; |
16 | CCacic OCacic; | 16 | CCacic OCacic; |
17 | + QString testPath; | ||
18 | + QString testIniPath; | ||
17 | 19 | ||
18 | signals: | 20 | signals: |
19 | 21 | ||
@@ -22,8 +24,11 @@ public slots: | @@ -22,8 +24,11 @@ public slots: | ||
22 | private slots: | 24 | private slots: |
23 | void testCommStatus(); | 25 | void testCommStatus(); |
24 | void testComm(); | 26 | void testComm(); |
25 | - void testGetValueFromFile(); | 27 | + void testGetAndSetValueFromFile(); |
26 | void testGetValueFromTags(); | 28 | void testGetValueFromTags(); |
29 | + void testCreateFolder(); | ||
30 | + void testDeleteFolder(); | ||
31 | + void testDeleteFile(); | ||
27 | }; | 32 | }; |
28 | 33 | ||
29 | #endif // TESTINSTALLCACIC_H | 34 | #endif // TESTINSTALLCACIC_H |
src/ccacic.cpp
@@ -4,35 +4,61 @@ CCacic::CCacic(QObject *parent) : | @@ -4,35 +4,61 @@ CCacic::CCacic(QObject *parent) : | ||
4 | QObject(parent) | 4 | QObject(parent) |
5 | { | 5 | { |
6 | } | 6 | } |
7 | - | 7 | +/* getValueFromFile |
8 | + * Pega valor específico dentro de um arquivo | ||
9 | + * @parameter QString sectionName: nome da seção onde estará a key) | ||
10 | + * @parameter QString keyName: nome da key que está o valor) | ||
11 | + * @parameter QString filePath: caminho do arquivo que será aberto; | ||
12 | + * | ||
13 | + * @return QString: "" (vazio) Caso não encontre, | ||
14 | + * "0" caso não seja possível abrir o arquivo; | ||
15 | + */ | ||
8 | QString CCacic::getValueFromFile(QString sectionName, QString keyName, QString filePath) | 16 | QString CCacic::getValueFromFile(QString sectionName, QString keyName, QString filePath) |
9 | { | 17 | { |
10 | QFile file(filePath); | 18 | QFile file(filePath); |
11 | - sectionName = "<" + sectionName + ">"; | 19 | + QString line = ""; |
20 | + sectionName = "[" + sectionName + "]"; | ||
12 | keyName = keyName + "="; | 21 | keyName = keyName + "="; |
13 | int sizeKeyName = keyName.size(); | 22 | int sizeKeyName = keyName.size(); |
14 | 23 | ||
15 | if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) | 24 | if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) |
16 | return "0"; | 25 | return "0"; |
17 | - | ||
18 | - QString line = file.readLine(); | ||
19 | - while (!file.atEnd()) { | 26 | + while (!file.atEnd()){ |
27 | + line = file.readLine(); | ||
20 | if (line.contains(sectionName, Qt::CaseInsensitive)) { | 28 | if (line.contains(sectionName, Qt::CaseInsensitive)) { |
21 | - line = file.readLine(); | ||
22 | - while (!file.atEnd()){ | 29 | + do { |
30 | + line = file.readLine(); | ||
23 | if (line.contains(keyName, Qt::CaseInsensitive)) { | 31 | if (line.contains(keyName, Qt::CaseInsensitive)) { |
24 | file.close(); | 32 | file.close(); |
25 | return line.mid(sizeKeyName).trimmed(); | 33 | return line.mid(sizeKeyName).trimmed(); |
26 | } | 34 | } |
27 | - } | ||
28 | - } else { | ||
29 | - line = file.readLine(); | 35 | + } while (!file.atEnd()); |
30 | } | 36 | } |
31 | } | 37 | } |
32 | file.close(); | 38 | file.close(); |
33 | return ""; | 39 | return ""; |
34 | } | 40 | } |
41 | +/*getValueFromTags | ||
42 | + * @parameter QString sectionName: Grupo onde está a chave; | ||
43 | + * @parameter QString keyName: chave que queremos para colocar o valor; | ||
44 | + * @parameter QString value: valor para colocar dentro da chave; | ||
45 | + * @parameter QString filePath: Local do arquivo; | ||
46 | + */ | ||
47 | +void CCacic::setValueToFile(QString sectionName, QString keyName, QString value, QString filePath) | ||
48 | +{ | ||
49 | + QSettings settings(filePath, QSettings::IniFormat); | ||
50 | + settings.beginGroup(sectionName); | ||
51 | + settings.setValue(keyName, value); | ||
52 | + settings.endGroup(); | ||
53 | +} | ||
35 | 54 | ||
55 | +/*getValueFromTags | ||
56 | + * @parameter QString fullString: string onde será pesquisado o valor desejado; | ||
57 | + * @parameter QString tag: nome da tag onde estará o valor; | ||
58 | + * @parameter QString tagType: padrão "[]", tipo da tag; | ||
59 | + * | ||
60 | + * @return: QString: valor entre as tags. | ||
61 | + */ | ||
36 | QString CCacic::getValueFromTags(QString fullString, QString tag, QString tagType) { | 62 | QString CCacic::getValueFromTags(QString fullString, QString tag, QString tagType) { |
37 | QString tagFim = tagType.mid(0,1) + "/" + tag + tagType.mid(1); | 63 | QString tagFim = tagType.mid(0,1) + "/" + tag + tagType.mid(1); |
38 | int tagSize; | 64 | int tagSize; |
@@ -41,6 +67,39 @@ QString CCacic::getValueFromTags(QString fullString, QString tag, QString tagTyp | @@ -41,6 +67,39 @@ QString CCacic::getValueFromTags(QString fullString, QString tag, QString tagTyp | ||
41 | return fullString.mid(fullString.indexOf(tag) + tagSize, | 67 | return fullString.mid(fullString.indexOf(tag) + tagSize, |
42 | fullString.indexOf(tagFim) - (fullString.indexOf(tag) + tagSize)).trimmed(); | 68 | fullString.indexOf(tagFim) - (fullString.indexOf(tag) + tagSize)).trimmed(); |
43 | } | 69 | } |
70 | +/*createFolder | ||
71 | + * @parameter QString path: caminho onde será criado o diretório, sendo criado toda a árvore se necessário. | ||
72 | + * @return bool: true se conseguir ou já existir, false se não. | ||
73 | + */ | ||
74 | +bool CCacic::createFolder(QString path) | ||
75 | +{ | ||
76 | + QDir folder(path); | ||
77 | + return folder.mkpath(path); | ||
78 | +} | ||
79 | +/*deleteFolder | ||
80 | + * @parameter QString path: caminho do diretório; | ||
81 | + * @return bool: true se conseguir ou já não existir, false se não conseguir. | ||
82 | + */ | ||
83 | +bool CCacic::deleteFolder(QString path) | ||
84 | +{ | ||
85 | + QDir folder(path); | ||
86 | + if (folder.exists()) | ||
87 | + return folder.removeRecursively(); | ||
88 | + else | ||
89 | + return true; | ||
90 | +} | ||
91 | +/*deleteFile | ||
92 | + * @parameter QString path: caminho do arquivo; | ||
93 | + * @return bool: true se conseguir ou já não existir, false se não conseguir. | ||
94 | + */ | ||
95 | +bool CCacic::deleteFile(QString path) | ||
96 | +{ | ||
97 | + QDir folder(path); | ||
98 | + if (folder.exists()) | ||
99 | + return folder.remove(path); | ||
100 | + else | ||
101 | + return true; | ||
102 | +} | ||
44 | 103 | ||
45 | /*Getters/Setters | 104 | /*Getters/Setters |
46 | * Begin: | 105 | * Begin: |
src/ccacic.h
@@ -5,7 +5,8 @@ | @@ -5,7 +5,8 @@ | ||
5 | #include <QObject> | 5 | #include <QObject> |
6 | #include <QDebug> | 6 | #include <QDebug> |
7 | #include <QFile> | 7 | #include <QFile> |
8 | -#include <iostream> | 8 | +#include <QSettings> |
9 | +#include <QDir> | ||
9 | 10 | ||
10 | class CCacic : public QObject | 11 | class CCacic : public QObject |
11 | { | 12 | { |
@@ -13,7 +14,11 @@ class CCacic : public QObject | @@ -13,7 +14,11 @@ class CCacic : public QObject | ||
13 | public: | 14 | public: |
14 | explicit CCacic(QObject *parent = 0); | 15 | explicit CCacic(QObject *parent = 0); |
15 | QString getValueFromFile(QString sectionName, QString keyName, QString filePath); | 16 | QString getValueFromFile(QString sectionName, QString keyName, QString filePath); |
17 | + void setValueToFile(QString sectionName, QString keyName, QString value, QString filePath); | ||
16 | QString getValueFromTags(QString fullString, QString tag, QString tagType = "[]"); | 18 | QString getValueFromTags(QString fullString, QString tag, QString tagType = "[]"); |
19 | + bool createFolder(QString path); | ||
20 | + bool deleteFolder(QString path); | ||
21 | + bool deleteFile(QString path); | ||
17 | 22 | ||
18 | //Geters/seters: | 23 | //Geters/seters: |
19 | 24 |