Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added unit tests for framework/core files #9733

Merged
merged 21 commits into from Sep 6, 2021

Conversation

noise-kngdm
Copy link
Contributor

@noise-kngdm noise-kngdm commented Aug 17, 2021

Related issue
Closes #9424

Description

The following files from framework/wazuh/core had no explicit unit tests, and some parts of them had no unit tests at all: exception.py sca.py task.py syscheck.py security.py wlogging.py database.py.
I've added tests for those files.

Coverage

After the new additions, the coverage of the framework module has gone up to a 78%:

Name                                            Stmts   Miss  Cover   Missing
-----------------------------------------------------------------------------
framework/__init__.py                               0      0   100%
framework/setup.py                                 19     19     0%   7-42
framework/wazuh/__init__.py                        56     13    77%   32-34, 60, 63-65, 90-91, 99-101, 107
framework/wazuh/__main__.py                         2      2     0%   7-9
framework/wazuh/active_response.py                 25      0   100%
framework/wazuh/agent.py                          459      5    99%   231-232, 414-415, 843
framework/wazuh/cdb_list.py                        77      2    97%   101-102
framework/wazuh/ciscat.py                          27      0   100%
framework/wazuh/cluster.py                         52      0   100%
framework/wazuh/core/InputValidator.py             18      0   100%
framework/wazuh/core/__init__.py                    0      0   100%
framework/wazuh/core/active_response.py            49      0   100%
framework/wazuh/core/agent.py                     654     44    93%   209-213, 384, 395-396, 491-494, 525, 536-542, 631, 636-637, 697-700, 832, 839, 852-853, 1030, 1174, 1259-1261, 1268-1270, 1330-1331, 1365-1394
framework/wazuh/core/cdb_list.py                  105      2    98%   126, 235
framework/wazuh/core/cluster/__init__.py            5      0   100%
framework/wazuh/core/cluster/client.py            145     92    37%   76-87, 92-126, 173-179, 189-191, 204-212, 216-217, 234-237, 257, 276, 286-302, 314-322, 334-339, 351-355, 367-371
framework/wazuh/core/cluster/cluster.py           223     95    57%   41, 70-87, 98, 109, 120, 197, 206-229, 232-236, 319, 327, 335-336, 358-376, 403-460, 474-505, 544
framework/wazuh/core/cluster/common.py            429    253    41%   35-37, 41-42, 52-53, 95-103, 117-120, 140-145, 155, 165, 172-180, 217, 227, 234-239, 305, 315-316, 338-379, 389-403, 423-438, 455-476, 492, 529-530, 544, 554-569, 579-593, 606-635, 649-661, 665, 685, 687, 689, 691, 693, 695, 697, 716-721, 738, 755-756, 773-776, 793-800, 817-819, 836-838, 859-868, 900-905, 948, 967-969, 986-1000, 1020-1034, 1044, 1061, 1081-1082, 1094-1097, 1107-1109, 1119, 1127, 1130-1131
framework/wazuh/core/cluster/control.py            69      1    99%   203
framework/wazuh/core/cluster/dapi/__init__.py       0      0   100%
framework/wazuh/core/cluster/dapi/dapi.py         363     88    76%   118, 133, 135, 260, 294, 330-336, 409-411, 439, 466, 468, 472-474, 476-477, 503-504, 514-516, 523, 527-531, 552-553, 557, 568-569, 575-578, 631-667, 677-679, 683-710
framework/wazuh/core/cluster/local_client.py       95     62    35%   28-30, 43, 46, 65-97, 114-116, 120, 151, 154-155, 174-192, 214-218, 235-236
framework/wazuh/core/cluster/local_server.py      146    146     0%   5-504
framework/wazuh/core/cluster/master.py            383    383     0%   4-1010
framework/wazuh/core/cluster/server.py            146    146     0%   3-408
framework/wazuh/core/cluster/utils.py             124      0   100%
framework/wazuh/core/cluster/worker.py            421    167    60%   84, 86-90, 108, 110, 186, 303-309, 403, 405, 410-411, 413-419, 421-427, 429-430, 529-536, 553-556, 584, 599-617, 631-656, 671-713, 747, 752, 819-822, 830-832, 845-934, 950, 966-972, 983, 994
framework/wazuh/core/common.py                    165     23    86%   19, 60-66, 70-84, 89, 94, 99
framework/wazuh/core/configuration.py             416      2    99%   207-208
framework/wazuh/core/database.py                   55      5    91%   57, 63, 90-91, 113
framework/wazuh/core/decoder.py                    50      0   100%
framework/wazuh/core/exception.py                 112      3    97%   608, 612, 634
framework/wazuh/core/manager.py                    94      0   100%
framework/wazuh/core/mitre.py                     263     15    94%   51, 93, 114, 125, 143, 196, 214, 251, 283, 300, 343, 418, 443, 485, 512
framework/wazuh/core/pyDaemonModule.py             44      2    95%   72-73
framework/wazuh/core/results.py                   334     31    91%   32-35, 55, 64, 68, 80, 87-95, 109, 121, 133, 153, 165-168, 180-184, 200, 207
framework/wazuh/core/rootcheck.py                  60      0   100%
framework/wazuh/core/rule.py                      121      0   100%
framework/wazuh/core/sca.py                        67      0   100%
framework/wazuh/core/security.py                   62     16    74%   36-48, 105-109
framework/wazuh/core/stats.py                      34      0   100%
framework/wazuh/core/syscheck.py                   21      0   100%
framework/wazuh/core/syscollector.py               38      0   100%
framework/wazuh/core/task.py                       38      0   100%
framework/wazuh/core/utils.py                     920     63    93%   55-62, 186, 192, 286-287, 416, 762-783, 1011, 1069, 1072, 1093-1094, 1132, 1453, 1475-1478, 1494-1495, 1711-1714, 1727-1743, 1756-1762
framework/wazuh/core/vulnerability.py              11      0   100%
framework/wazuh/core/wazuh_queue.py                60      0   100%
framework/wazuh/core/wazuh_socket.py              151     73    52%   79-82, 85, 88-89, 92-96, 102-105, 120-130, 133, 137-139, 158-171, 186-191, 197, 209, 223-230, 250-256, 269-282
framework/wazuh/core/wdb.py                       168      9    95%   55, 105, 114, 125, 215, 283-284, 288-289
framework/wazuh/core/wlogging.py                   66      2    97%   109-110
framework/wazuh/decoder.py                        121      0   100%
framework/wazuh/manager.py                        132      7    95%   134-135, 170, 275-276, 311-312
framework/wazuh/mitre.py                           53      0   100%
framework/wazuh/rbac/__init__.py                    0      0   100%
framework/wazuh/rbac/auth_context.py              196     37    81%   51, 54-55, 59-60, 82, 89, 179-180, 301-309, 313-315, 320-329, 334-337, 342-348
framework/wazuh/rbac/decorators.py                229     62    73%   33-78, 92, 98, 109, 183, 319-320, 334-349, 402-405, 410
framework/wazuh/rbac/orm.py                      1151    232    80%   186-187, 196, 287, 410, 459, 504-505, 520-521, 528-529, 564-566, 570-572, 594-595, 599-601, 629-630, 633-635, 659-660, 664-666, 705-707, 731-732, 762-764, 787-789, 798-799, 841-843, 852-854, 897-898, 917-918, 930-931, 953-954, 983-985, 1005-1008, 1026-1028, 1089-1090, 1109-1110, 1122-1123, 1143, 1150-1151, 1174, 1179-1181, 1201-1204, 1222-1224, 1248, 1256-1260, 1295-1296, 1315-1316, 1328-1329, 1349, 1360, 1363, 1377-1378, 1383-1387, 1413-1415, 1436-1439, 1457-1459, 1485, 1492, 1495, 1547, 1550, 1575, 1582-1585, 1627-1629, 1646-1648, 1675-1677, 1693, 1717, 1720, 1728-1732, 1773-1775, 1794, 1797-1799, 1824, 1828, 1904, 1906, 1914-1916, 1966-1968, 1986-1988, 2015-2017, 2057, 2083-2085, 2105, 2124, 2127-2129, 2150-2152, 2175, 2179, 2220, 2223, 2230-2233, 2253-2255, 2275-2277, 2304-2306, 2326-2345, 2365, 2384-2387, 2406-2408, 2426-2436, 2508-2509
framework/wazuh/rbac/preprocessor.py               72     22    69%   73, 76, 90-96, 105-115, 124-136
framework/wazuh/rbac/utils.py                      19      7    63%   35-44
framework/wazuh/rootcheck.py                       65      3    95%   56-57, 160
framework/wazuh/rule.py                           137      0   100%
framework/wazuh/sca.py                             50      0   100%
framework/wazuh/security.py                       546    199    64%   37-63, 183, 206, 211, 248-249, 257, 338, 365, 390, 475, 532, 577-597, 608-620, 631-651, 663-683, 698-702, 724-755, 768-794, 816-841, 856-884, 1018-1020, 1059, 1079, 1106, 1126-1132
framework/wazuh/stats.py                          123      2    98%   20-21
framework/wazuh/syscheck.py                        99      2    98%   58-59
framework/wazuh/syscollector.py                    35      8    77%   61-68
framework/wazuh/task.py                            23      0   100%
framework/wazuh/vulnerability.py                   14      0   100%
-----------------------------------------------------------------------------
TOTAL                                           10507   2345    78%

Tests

Unit tests

=================================================================================== test session starts ===================================================================================
platform linux -- Python 3.9.6, pytest-5.4.3, py-1.10.0, pluggy-0.13.1
rootdir: /home/gonzz/git/wazuh
plugins: asyncio-0.15.1, cov-2.12.0
collected 1883 items                                                                                                                                                                      

framework/wazuh/core/cluster/dapi/tests/test_dapi.py .......................                                                                                                        [  1%]
framework/wazuh/core/cluster/tests/test_cluster.py ...................                                                                                                              [  2%]
framework/wazuh/core/cluster/tests/test_common.py .......                                                                                                                           [  2%]
framework/wazuh/core/cluster/tests/test_control.py .....                                                                                                                            [  2%]
framework/wazuh/core/cluster/tests/test_local_client.py .                                                                                                                           [  2%]
framework/wazuh/core/cluster/tests/test_utils.py .......                                                                                                                            [  3%]
framework/wazuh/core/cluster/tests/test_worker.py .................                                                                                                                 [  4%]
framework/wazuh/core/tests/test_active_response.py ..............                                                                                                                   [  4%]
framework/wazuh/core/tests/test_agent.py .......................................................................................................................................... [ 12%]
............................                                                                                                                                                        [ 13%]
framework/wazuh/core/tests/test_cdb_list.py ......................................                                                                                                  [ 15%]
framework/wazuh/core/tests/test_common.py .......                                                                                                                                   [ 16%]
framework/wazuh/core/tests/test_configuration.py ....................................                                                                                               [ 18%]
framework/wazuh/core/tests/test_database.py .............                                                                                                                           [ 18%]
framework/wazuh/core/tests/test_decoder.py ................                                                                                                                         [ 19%]
framework/wazuh/core/tests/test_exception.py ...                                                                                                                                    [ 19%]
framework/wazuh/core/tests/test_input_validator.py ...                                                                                                                              [ 19%]
framework/wazuh/core/tests/test_logtest.py ..                                                                                                                                       [ 20%]
framework/wazuh/core/tests/test_manager.py ...............                                                                                                                          [ 20%]
framework/wazuh/core/tests/test_mitre.py .............                                                                                                                              [ 21%]
framework/wazuh/core/tests/test_pyDaemonModule.py .....                                                                                                                             [ 21%]
framework/wazuh/core/tests/test_results.py ........................................                                                                                                 [ 23%]
framework/wazuh/core/tests/test_rootcheck.py ..........                                                                                                                             [ 24%]
framework/wazuh/core/tests/test_rule.py ......................                                                                                                                      [ 25%]
framework/wazuh/core/tests/test_sca.py ............                                                                                                                                 [ 26%]
framework/wazuh/core/tests/test_security.py ............                                                                                                                            [ 26%]
framework/wazuh/core/tests/test_stats.py ....                                                                                                                                       [ 27%]
framework/wazuh/core/tests/test_syscheck.py ...                                                                                                                                     [ 27%]
framework/wazuh/core/tests/test_syscollector.py ...                                                                                                                                 [ 27%]
framework/wazuh/core/tests/test_task.py ....x...                                                                                                                                    [ 27%]
framework/wazuh/core/tests/test_utils.py .......................................................................................................................................... [ 35%]
..........................................................................................                                                                                          [ 39%]
framework/wazuh/core/tests/test_vulnerability.py .                                                                                                                                  [ 39%]
framework/wazuh/core/tests/test_wazuh_queue.py ..................                                                                                                                   [ 40%]
framework/wazuh/core/tests/test_wazuh_socket.py ....................                                                                                                                [ 42%]
framework/wazuh/core/tests/test_wdb.py ......................                                                                                                                       [ 43%]
framework/wazuh/core/tests/test_wlogging.py ........                                                                                                                                [ 43%]
framework/wazuh/rbac/tests/test_auth_context.py ..                                                                                                                                  [ 43%]
framework/wazuh/rbac/tests/test_decorators.py .........................................................................................................                             [ 49%]
framework/wazuh/rbac/tests/test_default_configuration.py .......................................................                                                                    [ 52%]
framework/wazuh/rbac/tests/test_orm.py ......................................................                                                                                       [ 55%]
framework/wazuh/rbac/tests/test_preprocessor.py ...........                                                                                                                         [ 55%]
framework/wazuh/tests/test_active_response.py ............                                                                                                                          [ 56%]
framework/wazuh/tests/test_agent.py .............................................................................................................                                   [ 62%]
framework/wazuh/tests/test_cdb_list.py .....................................................                                                                                        [ 64%]
framework/wazuh/tests/test_ciscat.py .................................                                                                                                              [ 66%]
framework/wazuh/tests/test_cluster.py .......                                                                                                                                       [ 67%]
framework/wazuh/tests/test_decoder.py ...................................                                                                                                           [ 68%]
framework/wazuh/tests/test_group.py ........                                                                                                                                        [ 69%]
framework/wazuh/tests/test_logtest.py ......                                                                                                                                        [ 69%]
framework/wazuh/tests/test_manager.py ....................................                                                                                                          [ 71%]
framework/wazuh/tests/test_mitre.py .......                                                                                                                                         [ 71%]
framework/wazuh/tests/test_rootcheck.py ..................................................                                                                                          [ 74%]
framework/wazuh/tests/test_rule.py ........................................................                                                                                         [ 77%]
framework/wazuh/tests/test_sca.py .......                                                                                                                                           [ 77%]
framework/wazuh/tests/test_security.py .........................................................................                                                                    [ 81%]
framework/wazuh/tests/test_stats.py ................                                                                                                                                [ 82%]
framework/wazuh/tests/test_syscheck.py .......................                                                                                                                      [ 83%]
framework/wazuh/tests/test_syscollector.py ............                                                                                                                             [ 84%]
framework/wazuh/tests/test_task.py ............................                                                                                                                     [ 85%]
framework/wazuh/tests/test_vulnerability.py ..........................                                                                                                              [ 87%]
api/api/models/test/test_model.py ............                                                                                                                                      [ 87%]
api/api/test/test_alogging.py ..........                                                                                                                                            [ 88%]
api/api/test/test_authentication.py ..........                                                                                                                                      [ 89%]
api/api/test/test_configuration.py ..........................................                                                                                                       [ 91%]
api/api/test/test_util.py ...................................                                                                                                                       [ 93%]
api/api/test/test_validator.py .................................................................................................................................                    [100%]

================================================================= 1883 passed, 14 warnings in 174.48s (0:02:54) =================================================================

@noise-kngdm noise-kngdm force-pushed the feature/9424-add-unit-tests-framework-core branch from a101a04 to 1e04d7e Compare August 17, 2021 11:28
@noise-kngdm noise-kngdm self-assigned this Aug 19, 2021
@Selutario Selutario self-requested a review August 30, 2021 11:08
framework/wazuh/core/tests/test_database.py Outdated Show resolved Hide resolved
framework/wazuh/core/tests/test_sca.py Outdated Show resolved Hide resolved
framework/wazuh/core/tests/test_wlogging.py Outdated Show resolved Hide resolved
@noise-kngdm noise-kngdm marked this pull request as draft September 2, 2021 11:54
@noise-kngdm noise-kngdm force-pushed the feature/9424-add-unit-tests-framework-core branch from 73797bd to 271cdf0 Compare September 2, 2021 12:26
@noise-kngdm noise-kngdm marked this pull request as ready for review September 2, 2021 12:33
@davidjiglesias davidjiglesias merged commit 2ad53b8 into master Sep 6, 2021
@davidjiglesias davidjiglesias deleted the feature/9424-add-unit-tests-framework-core branch September 6, 2021 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add unit tests for files in framework/wazuh/core
3 participants