agrc / forklift

:tractor::package::sparkles: Slinging data all over the place :tractor::package::sparkles:
MIT License
27 stars 3 forks source link

fix: handle null value for servers #358

Closed stdavis closed 1 year ago

stdavis commented 1 year ago

Description of Changes

I believe that before this change, you had to have an options prop even if you had no servers.

Test results and coverage

============================================================== test session starts ===============================================================
platform win32 -- Python 3.9.11, pytest-6.2.4, py-1.11.0, pluggy-0.13.1
rootdir: C:\projects\forklift, configfile: pytest.ini, testpaths: tests
plugins: cov-3.0.0, instafail-0.4.2, isort-2.0.0, pylint-0.19.0
collected 218 items                                                                                                                               
--------------------------------------------------------------------------------
Linting files
....................................
--------------------------------------------------------------------------------

tests\__init__.py ..                                                                                                                     [  2/218]
tests\PalletWithSyntaxErrors.py ..                                                                                                       [  4/218]
tests\SchemaLockPallet.py ..                                                                                                             [  6/218]
tests\benchmark_arcgis.py ..                                                                                                             [  8/218]
tests\conftest.py ..                                                                                                                     [ 10/218]
tests\mocks.py ..                                                                                                                        [ 12/218]
tests\test_arcgis.py ...................                                                                                                 [ 31/218]
tests\test_change_detection.py ............                                                                                              [ 43/218]
tests\test_changes.py ........                                                                                                           [ 51/218]
tests\test_config.py .........                                                                                                           [ 60/218]
tests\test_core.py ........................................                                                                              [100/218]
tests\test_crate.py .....................                                                                                                [121/218]
tests\test_engine.py ........................s..........                                                                                 [156/218]
tests\test_lift.py ...........                                                                                                           [167/218]
tests\test_messaging.py .......                                                                                                          [174/218]
tests\test_pallet.py ..................................                                                                                  [208/218]
tests\test_seat.py ......                                                                                                                [214/218]
tests\test_slack.py ....                                                                                                                 [218/218]

================================================================ warnings summary ================================================================
..\..\Users\agrc-arcgis\AppData\Local\ESRI\conda\envs\forklift\lib\site-packages\_pytest\config\__init__.py:1232
  C:\Users\agrc-arcgis\AppData\Local\ESRI\conda\envs\forklift\lib\site-packages\_pytest\config\__init__.py:1232: PytestConfigWarning: Unknown config option: log_print

    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

-- Docs: https://docs.pytest.org/en/stable/warnings.html

---------- coverage: platform win32, python 3.9.11-final-0 -----------
Name                               Stmts   Miss Branch BrPart     Cover   Missing
---------------------------------------------------------------------------------
src\forklift\arcgis.py               113     29     32      2    70.34%   26, 79-107, 137-138, 143, 146, 163, 181, 198-200, 222-224
src\forklift\change_detection.py      62      5     16      2    91.03%   32-34, 52, 55
src\forklift\config.py                52      1     20      2    95.83%   89, 124->123
src\forklift\core.py                 206      8    104     10    92.90%   98->168, 98->exit, 100, 130, 156-157, 169->98, 212->215, 275, 279-281, 299->304, 317->316, 444
src\forklift\engine.py               477    171    160     12    61.54%   136, 155-156, 221, 234-314, 318->364, 329-331, 354-355, 393-464, 494, 504, 518-534, 539-552, 568, 588, 607, 620-623, 663, 680-689, 720-721, 726, 740-746, 752, 759, 805, 910-953
src\forklift\lift.py                 148     52     52      4    61.00%   34, 42, 153-156, 163-164, 187-198, 233-254, 281, 285, 292-295, 310-317, 346-357
src\forklift\messaging.py             82     31     20      2    57.84%   56, 64-76, 88-123, 142, 163-169, 183-186
src\forklift\models.py               201      8     54      3    94.12%   97, 184->183, 409-414, 466-467
src\forklift\slack.py                212     33    102     33    75.80%   25-27, 57, 72-77, 80-85, 90->93, 101, 103, 105, 111->114, 117-118, 120->87, 137, 151->184, 155->158, 161-164, 165->168, 168->171, 174->177, 189->192, 195->197, 197->200, 202->205, 236, 260, 265, 276->278, 279, 284->287,
288, 305, 332, 334, 348, 351->354, 354->357, 360, 372, 375
---------------------------------------------------------------------------------
TOTAL                               1575    338    566     70    75.15%

3 files skipped due to complete coverage.

============================================= 217 passed, 1 skipped, 1 warning in 386.86s (0:06:26) ==============================================

Speed test results