From c8acac767f8831958a6d61e432239bbd70b5911a Mon Sep 17 00:00:00 2001 From: Brian Martin Date: Fri, 27 Sep 2019 17:25:57 -0400 Subject: [PATCH 1/4] More MQTT Logging MQTT Server logs routed to mqttserver.log --- Pipfile | 3 +- Pipfile.lock | 265 +++++++++++++++++++++---------------------- bumper/__init__.py | 19 ++++ bumper/mqttserver.py | 11 -- conftest.py | 0 5 files changed, 150 insertions(+), 148 deletions(-) create mode 100644 conftest.py diff --git a/Pipfile b/Pipfile index bfb75b6..321e7f1 100644 --- a/Pipfile +++ b/Pipfile @@ -15,13 +15,14 @@ coverage = "*" mock = "*" pylint = "*" pbr = "*" -pytest-asyncio = "*" pytest-aiohttp = "*" pytest-cov = "*" testfixtures = "*" codecov = "*" autoflake = "*" pytest-env = "*" +pytest = "==5.0.1" +pytest-asyncio = "*" [pipenv] allow_prereleases = true diff --git a/Pipfile.lock b/Pipfile.lock index 05354a2..d5b6c66 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "309c2ca578f67a8663325695e4d283f7e3f604c7cec451bf57e71af7dcdb7294" + "sha256": "1aa141a03e494ce194eb124bf884b58efa8d265ad2513344e410c85dbcf4024f" }, "pipfile-spec": 6, "requires": {}, @@ -127,20 +127,22 @@ }, "pyyaml": { "hashes": [ - "sha256:57acc1d8533cbe51f6662a55434f0dbecfa2b9eaf115bede8f6fd00115a0c0d3", - "sha256:588c94b3d16b76cfed8e0be54932e5729cc185caffaa5a451e7ad2f7ed8b4043", - "sha256:68c8dd247f29f9a0d09375c9c6b8fdc64b60810ebf07ba4cdd64ceee3a58c7b7", - "sha256:70d9818f1c9cd5c48bb87804f2efc8692f1023dac7f1a1a5c61d454043c1d265", - "sha256:86a93cccd50f8c125286e637328ff4eef108400dd7089b46a7be3445eecfa391", - "sha256:a0f329125a926876f647c9fa0ef32801587a12328b4a3c741270464e3e4fa778", - "sha256:a3c252ab0fa1bb0d5a3f6449a4826732f3eb6c0270925548cac342bc9b22c225", - "sha256:b4bb4d3f5e232425e25dda21c070ce05168a786ac9eda43768ab7f3ac2770955", - "sha256:cd0618c5ba5bda5f4039b9398bb7fb6a317bb8298218c3de25c47c4740e4b95e", - "sha256:ceacb9e5f8474dcf45b940578591c7f3d960e82f926c707788a570b51ba59190", - "sha256:fe6a88094b64132c4bb3b631412e90032e8cfe9745a58370462240b8cb7553cd" + "sha256:0113bc0ec2ad727182326b61326afa3d1d8280ae1122493553fd6f4397f33df9", + "sha256:01adf0b6c6f61bd11af6e10ca52b7d4057dd0be0343eb9283c878cf3af56aee4", + "sha256:5124373960b0b3f4aa7df1707e63e9f109b5263eca5976c66e08b1c552d4eaf8", + "sha256:5ca4f10adbddae56d824b2c09668e91219bb178a1eee1faa56af6f99f11bf696", + "sha256:7907be34ffa3c5a32b60b95f4d95ea25361c951383a894fec31be7252b2b6f34", + "sha256:7ec9b2a4ed5cad025c2278a1e6a19c011c80a3caaac804fd2d329e9cc2c287c9", + "sha256:87ae4c829bb25b9fe99cf71fbb2140c448f534e24c998cc60f39ae4f94396a73", + "sha256:9de9919becc9cc2ff03637872a440195ac4241c80536632fffeb6a1e25a74299", + "sha256:a5a85b10e450c66b49f98846937e8cfca1db3127a9d5d1e31ca45c3d0bef4c5b", + "sha256:b0997827b4f6a7c286c01c5f60384d218dca4ed7d9efa945c3e1aa623d5709ae", + "sha256:b631ef96d3222e62861443cc89d6563ba3eeb816eeb96b2629345ab795e53681", + "sha256:bf47c0607522fdbca6c9e817a6e81b08491de50f3766a7a0e6a5be7905961b41", + "sha256:f81025eddd0327c7d4cfe9b62cf33190e1e736cc6e97502b3ec425f574b3e7a8" ], "index": "pypi", - "version": "==5.1.1" + "version": "==5.1.2" }, "six": { "hashes": [ @@ -151,44 +153,34 @@ }, "tinydb": { "hashes": [ - "sha256:260b1f69168a24518af63f0270c72dc026476607016a0105aef6a966d8d2fbdc", - "sha256:a05c4c81e6e867c4f8a2e51c5236d0d897019aa5e9296f5947455b0bdd3c519d" + "sha256:be396c95e05802cad39fc2e5528faa933d9be2b3b063c28fc1aa85d83233df0c", + "sha256:c92ddb8155b85dfecc7661465127b79d6972e3f5df5b1f04ee089f4f84184ecf" ], "index": "pypi", - "version": "==3.13.0" + "version": "==3.14.1" }, "transitions": { "hashes": [ - "sha256:00bfa91b0cfe3f649731b2f28478c4314bb9e830c600b422973f1b3a704ac710", - "sha256:afe0f498cf1f3f3b0fc13562011b8895a172df8f891dbb5118923d46e78a96d7" + "sha256:2822e51bd4108bb9730cd883da0949d9948c2d8638b3fb78f19c80f6865dfa4c", + "sha256:b73015080833b753cbb4a10f51f8234924ddfbdbaf33539fee4e4f3abfff454d" ], - "version": "==0.6.9" + "version": "==0.7.1" }, "websockets": { "hashes": [ - "sha256:04b42a1b57096ffa5627d6a78ea1ff7fad3bc2c0331ffc17bc32a4024da7fea0", - "sha256:08e3c3e0535befa4f0c4443824496c03ecc25062debbcf895874f8a0b4c97c9f", - "sha256:10d89d4326045bf5e15e83e9867c85d686b612822e4d8f149cf4840aab5f46e0", - "sha256:232fac8a1978fc1dead4b1c2fa27c7756750fb393eb4ac52f6bc87ba7242b2fa", - "sha256:4bf4c8097440eff22bc78ec76fe2a865a6e658b6977a504679aaf08f02c121da", - "sha256:51642ea3a00772d1e48fb0c492f0d3ae3b6474f34d20eca005a83f8c9c06c561", - "sha256:55d86102282a636e195dad68aaaf85b81d0bef449d7e2ef2ff79ac450bb25d53", - "sha256:564d2675682bd497b59907d2205031acbf7d3fadf8c763b689b9ede20300b215", - "sha256:5d13bf5197a92149dc0badcc2b699267ff65a867029f465accfca8abab95f412", - "sha256:5eda665f6789edb9b57b57a159b9c55482cbe5b046d7db458948370554b16439", - "sha256:5edb2524d4032be4564c65dc4f9d01e79fe8fad5f966e5b552f4e5164fef0885", - "sha256:79691794288bc51e2a3b8de2bc0272ca8355d0b8503077ea57c0716e840ebaef", - "sha256:7fcc8681e9981b9b511cdee7c580d5b005f3bb86b65bde2188e04a29f1d63317", - "sha256:8e447e05ec88b1b408a4c9cde85aa6f4b04f06aa874b9f0b8e8319faf51b1fee", - "sha256:90ea6b3e7787620bb295a4ae050d2811c807d65b1486749414f78cfd6fb61489", - "sha256:9e13239952694b8b831088431d15f771beace10edfcf9ef230cefea14f18508f", - "sha256:d40f081187f7b54d7a99d8a5c782eaa4edc335a057aa54c85059272ed826dc09", - "sha256:e1df1a58ed2468c7b7ce9a2f9752a32ad08eac2bcd56318625c3647c2cd2da6f", - "sha256:e98d0cec437097f09c7834a11c69d79fe6241729b23f656cfc227e93294fc242", - "sha256:f8d59627702d2ff27cb495ca1abdea8bd8d581de425c56e93bff6517134e0a9b", - "sha256:fc30cdf2e949a2225b012a7911d1d031df3d23e99b7eda7dfc982dc4a860dae9" + "sha256:049e694abe33f8a1d99969fee7bfc0ae6761f7fd5f297c58ea933b27dd6805f2", + "sha256:73ce69217e4655783ec72ce11c151053fcbd5b837cc39de7999e19605182e28a", + "sha256:83e63aa73331b9ca21af61df8f115fb5fbcba3f281bee650a4ad16a40cd1ef15", + "sha256:882a7266fa867a2ebb2c0baaa0f9159cabf131cf18c1b4270d79ad42f9208dc5", + "sha256:8c77f7d182a6ea2a9d09c2612059f3ad859a90243e899617137ee3f6b7f2b584", + "sha256:8d7a20a2f97f1e98c765651d9fb9437201a9ccc2c70e94b0270f1c5ef29667a3", + "sha256:a7affaeffbc5d55681934c16bb6b8fc82bb75b175e7fd4dcca798c938bde8dda", + "sha256:c82e286555f839846ef4f0fdd6910769a577952e1e26aa8ee7a6f45f040e3c2b", + "sha256:e906128532a14b9d264a43eb48f9b3080d53a9bda819ab45bf56b8039dc606ac", + "sha256:e9102043a81cdc8b7c8032ff4bce39f6229e4ac39cb2010946c912eeb84e2cb6", + "sha256:f5cb2683367e32da6a256b60929a3af9c29c212b5091cf5bace9358d03011bf5" ], - "version": "==7.0" + "version": "==8.0.2" }, "yarl": { "hashes": [ @@ -245,10 +237,10 @@ }, "astroid": { "hashes": [ - "sha256:6560e1e1749f68c64a4b5dee4e091fce798d2f0d84ebe638cf0e0585a343acf4", - "sha256:b65db1bbaac9f9f4d190199bb8680af6f6f84fd3769a5ea883df8a91fe68b4c4" + "sha256:9b3f17b0550f82e28a6776a4e5222441f48e523b0773df4bc505bb6b7c2093b7", + "sha256:c7e2e5773d87ccc00d01c273e439386f4d6d63cce61317a79ccce5880162f9fb" ], - "version": "==2.2.5" + "version": "==2.3.0" }, "async-timeout": { "hashes": [ @@ -273,10 +265,10 @@ }, "autoflake": { "hashes": [ - "sha256:6b59e5b9b82e30077499578856282debb81186d10b4f899e8c2e1d616cdef973" + "sha256:680cb9dade101ed647488238ccb8b8bfb4369b53d58ba2c8cdf7d5d54e01f95b" ], "index": "pypi", - "version": "==1.3" + "version": "==1.3.1" }, "black": { "hashes": [ @@ -288,10 +280,10 @@ }, "certifi": { "hashes": [ - "sha256:59b7658e26ca9c7339e00f8f4636cdfe59d34fa37b9b04f6f9e9926b3cece1a5", - "sha256:b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae" + "sha256:e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50", + "sha256:fd7c7c74727ddcf00e9acd26bba8da604ffec95bf1c2144e67aff7a8b50e6cef" ], - "version": "==2019.3.9" + "version": "==2019.9.11" }, "chardet": { "hashes": [ @@ -317,36 +309,36 @@ }, "coverage": { "hashes": [ - "sha256:0402b1822d513d0231589494bceddb067d20581f5083598c451b56c684b0e5d6", - "sha256:0644e28e8aea9d9d563607ee8b7071b07dd57a4a3de11f8684cd33c51c0d1b93", - "sha256:0874a283686803884ec0665018881130604956dbaa344f2539c46d82cbe29eda", - "sha256:0988c3837df4bc371189bb3425d5232cf150055452034c232dda9cbe04f9c38e", - "sha256:20bc3205b3100956bb72293fabb97f0ed972c81fed10b3251c90c70dcb0599ab", - "sha256:2cc9142a3367e74eb6b19d58c53ebb1dfd7336b91cdcc91a6a2888bf8c7af984", - "sha256:3ae9a0a59b058ce0761c3bd2c2d66ecb2ee2b8ac592620184370577f7a546fb3", - "sha256:3b2e30b835df58cb973f478d09f3d82e90c98c8e5059acc245a8e4607e023801", - "sha256:401e9b04894eb1498c639c6623ee78a646990ce5f095248e2440968aafd6e90e", - "sha256:41ec5812d5decdaa72708be3018e7443e90def4b5a71294236a4df192cf9eab9", - "sha256:475769b638a055e75b3d3219e054fe2a023c0b077ff15bff6c95aba7e93e6cac", - "sha256:61424f4e2e82c4129a4ba71e10ebacb32a9ecd6f80de2cd05bdead6ba75ed736", - "sha256:811969904d4dd0bee7d958898be8d9d75cef672d9b7e7db819dfeac3d20d2d0c", - "sha256:86224bb99abfd672bf2f9fcecad5e8d7a3fa94f7f71513f2210460a0350307cd", - "sha256:9a238a20a3af00665f8381f7e53e9c606f9bb652d2423f6b822f6cb790d887e8", - "sha256:a23b3fbc14d4e6182ecebfd22f3729beef0636d151d94764a1c28330d185e4e5", - "sha256:ac162b4ebe51b7a2b7f5e462c4402802633eb81e77c94f8a7c1ed8a556e72c75", - "sha256:b6187378726c84365bf297b5dcdae8789b6a5823b200bea23797777e5a63be09", - "sha256:bcd5723d905ed4a825f17410a53535f880b6d7548ae3d89078db7b1ceefcd853", - "sha256:c48a4f9c5fb385269bb7fbaf9c1326a94863b65ec7f5c96b2ea56b252f01ad08", - "sha256:cd40199d6f1c29c85b170d25589be9a97edff8ee7e62be180a2a137823896030", - "sha256:d1bc331a7d069485ac1d8c25a0ea1f6aab6cb2a87146fb652222481c1bddc9ff", - "sha256:d7e0cdc249aa0f94aa2e531b03999ddaf03a10b4fa090a894712d4c8066abd89", - "sha256:e9ee8fcd8e067fcc5d7276d46e07e863102b70a52545ef4254df1ff0893ce75f", - "sha256:eb313c23d983b7810504f42104e8dcd1c7ccdda8fbaab82aab92ab79fea19345", - "sha256:f9cfd478654b509941b85ed70f870f5e3c74678f566bec12fd26545e5340ba47", - "sha256:fae1fa144034d021a52cb9ea200eb8dedf91869c6df8202ad5d149b41ed91cc8" + "sha256:094378c3a35594335a840ea04d473c019e6d4fe10e343cd0d7fb5e87f8b7e926", + "sha256:10216222f3e4139910b6230d0ca0fe9d10ee98837eb83d29525722d628729d20", + "sha256:147478e21cba12c63b3454df5a2fb77b44df630428cffa3a36a6813e38157eab", + "sha256:230ce08965190c0f69196be34a07a795981b2b02b21419c2e1918a882b3eeab0", + "sha256:2469621d680a4c71cdbd3ea4dbed9d199bba93f21d2be1c107ded907b2db41a8", + "sha256:26526174d11fb2163832628d943edd452e07528b0ecc0c83c88256a59a32287c", + "sha256:2690bf0835f34ef3451860b02471e9560e4b3caf7413abeaa7544af72eb6d9ed", + "sha256:2b6f2d9a60413e75651cebe33c3f2f66d61209db44e8b9cf6d8d66fb0cb01fda", + "sha256:3ce91c6b92160ecefedf95a8c61fbf4fb36b0addef1a40c654acf1ad390653d0", + "sha256:43d16d7e9e9eaace3d9f1828b617b1be248f90d031a4b2dc1b6e1c88f1602dcf", + "sha256:52b6455da5f547cad72fd5cfc57a16678573fda6c695d257b5c266a44dbbd172", + "sha256:533f3036c8f58e6381fcca3306fe988740638c62c7fc86b7fae9c74b85ac3cdc", + "sha256:62d2abe5c733394058cb381d088bcab64a18da3ce9dc9a8ef2a18e122cbe47f1", + "sha256:72c34f99164679e44a5cbf19bf1a13be4e715c680816302b6ceca49b979fde91", + "sha256:81fc07feed4e40a7c0bdd266efa65e5afc83b5e0f1063007acc6759a957322a1", + "sha256:82093e673182c761ce54dfab17f026a06be3c011fee9b653855b9a2649f20232", + "sha256:87947fef728f72860407c446fd9b4a0f98e39e91ad7ae80803c02a85738e63ef", + "sha256:8b18c5a5a6b35b6311d2c356782ce3c7bacf6d987d9dc479178577391bf1c7dd", + "sha256:90e1850e993aa6b81bafaf672c8e508eaa17fbb5eb23aba93f7f4df822f3bd29", + "sha256:99f71e365bcb03a8debe1a75061329c9e45379f244a229442319d64c53c4e844", + "sha256:9b2c559104a90bf0043d6ef262ca205326d1fe6ec572dcf59e34be9289432793", + "sha256:ad22b073d92ea65b063e612154c72d6367dec3dd47ed33c02e3ab339eabe7bf3", + "sha256:bc3648da235fee2113a8cb80154d9fff4e2689d2d4a11ad35c1ecae23454b539", + "sha256:d0e2478bde68c5d853bcd306b5aae8fbe80417e87957a21fa6ee71edb90639f2", + "sha256:d3e6912d2370925222d2bfb3bd2ba02e9698b8da89cf7192ddf80cbb9f2455ee", + "sha256:d4fa98e3e15863568ea89eaec5e0866ca763980bdc56098dd9316865c111a28e", + "sha256:ee924a23457b373241ff39d21570360afd8ccb58520eb1e8e18eb00827b73e2d" ], "index": "pypi", - "version": "==5.0a5" + "version": "==5.0a7" }, "idna": { "hashes": [ @@ -357,40 +349,41 @@ }, "importlib-metadata": { "hashes": [ - "sha256:a9f185022cfa69e9ca5f7eabfd5a58b689894cb78a11e3c8c89398a8ccbb8e7f", - "sha256:df1403cd3aebeb2b1dcd3515ca062eecb5bd3ea7611f18cba81130c68707e879" + "sha256:aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26", + "sha256:d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af" ], - "version": "==0.17" + "markers": "python_version < '3.8'", + "version": "==0.23" }, "isort": { "hashes": [ - "sha256:c40744b6bc5162bbb39c1257fe298b7a393861d50978b565f3ccd9cb9de0182a", - "sha256:f57abacd059dc3bd666258d1efb0377510a89777fda3e3274e3c01f7c03ae22d" + "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1", + "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd" ], - "version": "==4.3.20" + "version": "==4.3.21" }, "lazy-object-proxy": { "hashes": [ - "sha256:159a745e61422217881c4de71f9eafd9d703b93af95618635849fe469a283661", - "sha256:23f63c0821cc96a23332e45dfaa83266feff8adc72b9bcaef86c202af765244f", - "sha256:3b11be575475db2e8a6e11215f5aa95b9ec14de658628776e10d96fa0b4dac13", - "sha256:3f447aff8bc61ca8b42b73304f6a44fa0d915487de144652816f950a3f1ab821", - "sha256:4ba73f6089cd9b9478bc0a4fa807b47dbdb8fad1d8f31a0f0a5dbf26a4527a71", - "sha256:4f53eadd9932055eac465bd3ca1bd610e4d7141e1278012bd1f28646aebc1d0e", - "sha256:64483bd7154580158ea90de5b8e5e6fc29a16a9b4db24f10193f0c1ae3f9d1ea", - "sha256:6f72d42b0d04bfee2397aa1862262654b56922c20a9bb66bb76b6f0e5e4f9229", - "sha256:7c7f1ec07b227bdc561299fa2328e85000f90179a2f44ea30579d38e037cb3d4", - "sha256:7c8b1ba1e15c10b13cad4171cfa77f5bb5ec2580abc5a353907780805ebe158e", - "sha256:8559b94b823f85342e10d3d9ca4ba5478168e1ac5658a8a2f18c991ba9c52c20", - "sha256:a262c7dfb046f00e12a2bdd1bafaed2408114a89ac414b0af8755c696eb3fc16", - "sha256:acce4e3267610c4fdb6632b3886fe3f2f7dd641158a843cf6b6a68e4ce81477b", - "sha256:be089bb6b83fac7f29d357b2dc4cf2b8eb8d98fe9d9ff89f9ea6012970a853c7", - "sha256:bfab710d859c779f273cc48fb86af38d6e9210f38287df0069a63e40b45a2f5c", - "sha256:c10d29019927301d524a22ced72706380de7cfc50f767217485a912b4c8bd82a", - "sha256:dd6e2b598849b3d7aee2295ac765a578879830fb8966f70be8cd472e6069932e", - "sha256:e408f1eacc0a68fed0c08da45f31d0ebb38079f043328dce69ff133b95c29dc1" + "sha256:02b260c8deb80db09325b99edf62ae344ce9bc64d68b7a634410b8e9a568edbf", + "sha256:18f9c401083a4ba6e162355873f906315332ea7035803d0fd8166051e3d402e3", + "sha256:1f2c6209a8917c525c1e2b55a716135ca4658a3042b5122d4e3413a4030c26ce", + "sha256:2f06d97f0ca0f414f6b707c974aaf8829c2292c1c497642f63824119d770226f", + "sha256:616c94f8176808f4018b39f9638080ed86f96b55370b5a9463b2ee5c926f6c5f", + "sha256:63b91e30ef47ef68a30f0c3c278fbfe9822319c15f34b7538a829515b84ca2a0", + "sha256:77b454f03860b844f758c5d5c6e5f18d27de899a3db367f4af06bec2e6013a8e", + "sha256:83fe27ba321e4cfac466178606147d3c0aa18e8087507caec78ed5a966a64905", + "sha256:84742532d39f72df959d237912344d8a1764c2d03fe58beba96a87bfa11a76d8", + "sha256:874ebf3caaf55a020aeb08acead813baf5a305927a71ce88c9377970fe7ad3c2", + "sha256:9f5caf2c7436d44f3cec97c2fa7791f8a675170badbfa86e1992ca1b84c37009", + "sha256:a0c8758d01fcdfe7ae8e4b4017b13552efa7f1197dd7358dc9da0576f9d0328a", + "sha256:a4def978d9d28cda2d960c279318d46b327632686d82b4917516c36d4c274512", + "sha256:ad4f4be843dace866af5fc142509e9b9817ca0c59342fdb176ab6ad552c927f5", + "sha256:ae33dd198f772f714420c5ab698ff05ff900150486c648d29951e9c70694338e", + "sha256:b4a2b782b8a8c5522ad35c93e04d60e2ba7f7dcb9271ec8e8c3e08239be6c7b4", + "sha256:c462eb33f6abca3b34cdedbe84d761f31a60b814e173b98ede3c81bb48967c4f", + "sha256:fd135b8d35dfdcdb984828c84d695937e58cc5f49e1c854eb311c4d6aa03f4f1" ], - "version": "==1.4.1" + "version": "==1.4.2" }, "mccabe": { "hashes": [ @@ -409,11 +402,10 @@ }, "more-itertools": { "hashes": [ - "sha256:2112d2ca570bb7c3e53ea1a35cd5df42bb0fd10c45f0fb97178679c3c03d64c7", - "sha256:c3e4748ba1aad8dba30a4886b0b1a2004f9a863837b8654e7059eebf727afa5a" + "sha256:409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832", + "sha256:92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4" ], - "markers": "python_version > '2.7'", - "version": "==7.0.0" + "version": "==7.2.0" }, "multidict": { "hashes": [ @@ -451,25 +443,25 @@ }, "packaging": { "hashes": [ - "sha256:0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af", - "sha256:9e1cbf8c12b1f1ce0bb5344b8d7ecf66a6f8a6e91bcb0c84593ed6d3ab5c4ab3" + "sha256:28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47", + "sha256:d9551545c6d761f3def1677baf08ab2a3ca17c56879e70fecba2fc4dde4ed108" ], - "version": "==19.0" + "version": "==19.2" }, "pbr": { "hashes": [ - "sha256:0ce920b865091450bbcd452b35cf6d6eb8a6d9ce13ad2210d6e77557f85cf32b", - "sha256:93d2dc6ee0c9af4dbc70bc1251d0e545a9910ca8863774761f92716dece400b6" + "sha256:2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8", + "sha256:b32c8ccaac7b1a20c0ce00ce317642e6cf231cf038f9875e0280e28af5bf7ac9" ], "index": "pypi", - "version": "==5.2.1" + "version": "==5.4.3" }, "pluggy": { "hashes": [ - "sha256:0825a152ac059776623854c1543d65a4ad408eb3d33ee114dff91e57ec6ae6fc", - "sha256:b9817417e95936bf75d85d3f8767f7df6cdde751fc40aed3bb3074cbcb77757c" + "sha256:0db4b7601aae1d35b4a033282da476845aa19185c1e6964b25cf324b5e4ec3e6", + "sha256:fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34" ], - "version": "==0.12.0" + "version": "==0.13.0" }, "py": { "hashes": [ @@ -487,25 +479,26 @@ }, "pylint": { "hashes": [ - "sha256:5d77031694a5fb97ea95e828c8d10fc770a1df6eb3906067aaed42201a8a6a09", - "sha256:723e3db49555abaf9bf79dc474c6b9e2935ad82230b10c1138a71ea41ac0fff1" + "sha256:2d64b4b8fa044480b1a49d47535da53557f8f426b8c5bd6a23beb65e905101a1", + "sha256:6cbd124a1a5ed1fd3f3fed4178a6c2ba166862ea0dac6ab2ff8d9f0998b13e5c" ], "index": "pypi", - "version": "==2.3.1" + "version": "==2.4.1" }, "pyparsing": { "hashes": [ - "sha256:1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a", - "sha256:9b6323ef4ab914af344ba97510e966d64ba91055d6b9afa6b30799340e89cc03" + "sha256:6f98a7b9397e206d78cc01df10131398f1c8b8510a2f4d97d9abd82e1aacdd80", + "sha256:d9338df12903bbf5d65a0e4e87c2161968b10d2e489652bb47001d82a9b028b4" ], - "version": "==2.4.0" + "version": "==2.4.2" }, "pytest": { "hashes": [ - "sha256:6032845e68a17a96e8da3088037f899b56357769a724122056265ca2ea1890ee", - "sha256:bea27a646a3d74cbbcf8d3d4a06b2dfc336baf3dc2cc85cf70ad0157e73e8322" + "sha256:6ef6d06de77ce2961156013e9dff62f1b2688aa04d0dc244299fe7d67e09370d", + "sha256:a736fed91c12681a7b34617c8fcefe39ea04599ca72c608751c31d89579a3f77" ], - "version": "==4.6.2" + "index": "pypi", + "version": "==5.0.1" }, "pytest-aiohttp": { "hashes": [ @@ -554,11 +547,11 @@ }, "testfixtures": { "hashes": [ - "sha256:819e9090bf3cce5dfaf56817f55ede76b3ae490ad0e9ffe3060a6618d11894c3", - "sha256:a6e95634a80bd6e5adc7e861729f4abd84433e91b4215d48a2098a096c0261b7" + "sha256:665a298976c8d77f311b65c46f16b7cda7229a47dff5ad7c822e5b3371a439e2", + "sha256:9d230c5c80746f9f86a16a1f751a5cf5d8e317d4cc48243a19fb180d22303bce" ], "index": "pypi", - "version": "==6.8.2" + "version": "==6.10.0" }, "toml": { "hashes": [ @@ -585,15 +578,15 @@ "sha256:d896919306dd0aa22d0132f62a1b78d11aaf4c9fc5b3410d3c666b818191630a", "sha256:ffde2fbfad571af120fcbfbbc61c72469e72f550d676c3342492a9dfdefb8f12" ], - "markers": "implementation_name == 'cpython'", + "markers": "implementation_name == 'cpython' and python_version >= '3.7' and python_version < '3.8'", "version": "==1.4.0" }, "urllib3": { "hashes": [ - "sha256:b246607a25ac80bedac05c6f282e3cdaf3afb65420fd024ac94435cabe6e18d1", - "sha256:dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232" + "sha256:3de946ffbed6e6746608990594d08faac602528ac7015ac28d33cee6a45b7398", + "sha256:9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86" ], - "version": "==1.25.3" + "version": "==1.25.6" }, "wcwidth": { "hashes": [ @@ -604,9 +597,9 @@ }, "wrapt": { "hashes": [ - "sha256:4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533" + "sha256:565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1" ], - "version": "==1.11.1" + "version": "==1.11.2" }, "yarl": { "hashes": [ @@ -626,10 +619,10 @@ }, "zipp": { "hashes": [ - "sha256:8c1019c6aad13642199fbe458275ad6a84907634cc9f0989877ccc4a2840139d", - "sha256:ca943a7e809cc12257001ccfb99e3563da9af99d52f261725e96dfe0f9275bc3" + "sha256:3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e", + "sha256:f06903e9f1f43b12d371004b4ac7b06ab39a44adc747266928ae6debfa7b3335" ], - "version": "==0.5.1" + "version": "==0.6.0" } } } diff --git a/bumper/__init__.py b/bumper/__init__.py index f379e97..4835994 100644 --- a/bumper/__init__.py +++ b/bumper/__init__.py @@ -89,6 +89,25 @@ mqttserverlog.addHandler(mqtt_rotate) # Override the logging level # mqttserverlog.setLevel(logging.INFO) +### Additional MQTT Logs +translog = logging.getLogger("transitions") +translog.addHandler(mqtt_rotate) +translog.setLevel(logging.CRITICAL + 1) # Ignore this logger +logging.getLogger("passlib").setLevel(logging.CRITICAL + 1) # Ignore this logger +brokerlog = logging.getLogger("hbmqtt.broker") +#brokerlog.setLevel( +# logging.CRITICAL + 1 +#) # Ignore this logger #There are some sublogs that could be set if needed (.plugins) +brokerlog.addHandler(mqtt_rotate) +protolog = logging.getLogger("hbmqtt.mqtt.protocol") +#protolog.setLevel( +# logging.CRITICAL + 1 +#) # Ignore this logger +protolog.addHandler(mqtt_rotate) +clientlog = logging.getLogger("hbmqtt.client") +#clientlog.setLevel(logging.CRITICAL + 1) # Ignore this logger +clientlog.addHandler(mqtt_rotate) + helperbotlog = logging.getLogger("helperbot") helperbot_rotate = RotatingFileHandler( "logs/helperbot.log", maxBytes=5000000, backupCount=5 diff --git a/bumper/mqttserver.py b/bumper/mqttserver.py index 72b1feb..6f06a23 100644 --- a/bumper/mqttserver.py +++ b/bumper/mqttserver.py @@ -18,17 +18,6 @@ helperbotlog = logging.getLogger("helperbot") boterrorlog = logging.getLogger("boterror") mqttserverlog = logging.getLogger("mqttserver") -logging.getLogger("transitions").setLevel(logging.CRITICAL + 1) # Ignore this logger -logging.getLogger("passlib").setLevel(logging.CRITICAL + 1) # Ignore this logger -logging.getLogger("hbmqtt.broker").setLevel( - logging.CRITICAL + 1 -) # Ignore this logger #There are some sublogs that could be set if needed (.plugins) -logging.getLogger("hbmqtt.mqtt.protocol").setLevel( - logging.CRITICAL + 1 -) # Ignore this logger -logging.getLogger("hbmqtt.client").setLevel(logging.CRITICAL + 1) # Ignore this logger - - class MQTTHelperBot: Client = None diff --git a/conftest.py b/conftest.py new file mode 100644 index 0000000..e69de29 From e873e22fd35cecf66fa178e897e950bb47e12c9d Mon Sep 17 00:00:00 2001 From: Brian Martin Date: Tue, 1 Oct 2019 09:57:30 -0400 Subject: [PATCH 2/4] create certs valid 2 years Update create_certs to generate certificates valid for 2 years per (https://support.apple.com/en-us/HT210176) --- create_certs/create_certs_linux | Bin 3810495 -> 3810495 bytes create_certs/create_certs_osx | Bin 3794368 -> 3794368 bytes create_certs/create_certs_rpi | Bin 3422836 -> 3422836 bytes create_certs/create_certs_windows.exe | Bin 3830784 -> 3830784 bytes create_certs/src/create_certs.go | 4 ++-- 5 files changed, 2 insertions(+), 2 deletions(-) diff --git a/create_certs/create_certs_linux b/create_certs/create_certs_linux index 7e57e0413856588a523fc33368fa03a487be7e77..c1a0448faf39dd86e678b25385f69533228d20a4 100755 GIT binary patch delta 393 zcmXBLJ4-?V0L5{x+RGkSuf6U4(jIoxx|Ul;p;4$Ln6-qWmRR(lpgT9*kKmVRsKvYK z6qL}?lvA{bQ#iHSUmAX#bB0rTs|h7MJ&Msob^A{7XOiLUbuQsvbFXfnoXhF({nlIczgXY%)tKJZ$;;UfLi=UFsLVnaFV{6{~-D$}?za*>v z`y)LI%`Iw$x&#|~(T9EvU=TwXh8-gq#Tdphfk{kZ8Z(&H3-!78ipg#;3wf>V*!*wH mFAlp_Ej!@EJQlEsCAhE*87pwZgH^0Sffwu8(5q!%<>(I)Z?#1L delta 397 zcmXBL%Sr+P0EJ;DubDPBT3L26v+U}Onzvn6;0%b?=rlMRN$IL)5`?yGF-Q;KOSEVq z%uZK9xd~e33y494Z(t`{eEer~+HZZL4bM+x>L!=GKg*|mf|%ix*?8?(kQmxqJgp^a zJb#`lpTzQ^aJg_L(fe6}DOCf0>4>{NEEKuQCAUXcA~7*~7p$hm=xsDsx{#8I+{2KR zha>?bpaL~$Knpt1!zdVF42)ocarpb1VL};_RO^*6D6LP*Vn#puluFxhep6QE>xXI) zCI|Z%ciGsw(Z$veyniBGmlj2cC|B7Nux<-YS@@+$RiU{Xlq6vp^t&pwXkT< z_b_AU8~A7On{&?MbUwd@4qj#XU|+3fu2M&_%;|2$f8Wq@hZiTlLM&HIAE&k8R;|1j z%2pEf!mY2W6;sjLUAmr6*76U2?{@H}>Ptp6zj~H!UOqMh_2_vyl-Rj`D#@*qEI@<- z5_(`nFHGoz85Zm_~1tX>j)wQ6=7)D(4}zXhhP3@Io{_N|p>vxJBtI?2qmHT?BS||&HzWh)+Yj-8n zHtlY`qMA)p&?L*MJ+_R?i)+icYn~j-H>!}+Wvy&i+nRaQyDe*{hSULxpB~S`>D1&m4%)CV3ULAzH`>o?H7)S4Z8|Vd-srmU% zuk6*7%di^^cA8<=7;JKeWsTD;Re54OW@)ta;N_NaT)MCr&0qAZX7d?^JI&S$Ihkg{ zByMig@lE5ToZ?^Q&M-kPl&Q-f3KighN~nTrsDWCj11Gqk9vYw#nxGkE^YW+VY{OzB z#H{rzG7*bhyptFcnxa|+7jMKg#UqF|(Q4dl%8ekph%@C2D9{RR&<-8Y30=?)JO`G){6vrk%#iEAbf5IWk|&qt+j<@t-joKgdVL#sdx|W3Bw< zaK_@4w8amb?oYDEl$K*nlgrp~_zlz|&OP!3+GfJ&%>YN&x)sDpZFfJP9_^RK4U zILk3Mvoa)!OcBG-w9OdOB$;JuSRMjCKIjD*6i}hh42J#c&oAQ5xD5aR diff --git a/create_certs/create_certs_windows.exe b/create_certs/create_certs_windows.exe index 2c84b99b7c9e765c8e8f920bcbf25cb0352bd355..244385ad0d4e7647dd2aba0b879f61c6a22451aa 100755 GIT binary patch delta 392 zcmW;A%Sr+P0EJ;jZ7M4ro9=eM+Qr7vN`)4M7#NaJCOQOB69_sg$T-waXd%(k#XLn& zt9b$6pa-aBy+G^!T73M6)BgGv+IW@3i+fEoBBpU1&YmW;axQflucVZWZfdo(es-d^ zteSdWELr6{#WbvZC97AW;bfzkjq5j7qoq{S4<)slOJ%I zc+iKxzaIk_gcm~?#t3}yLqY(fjxNf9g5YvmSF$Y8Cqs6Nw)pIq?2lVH;Jh^DH^KgS z_e-6+DPs)dn7|~aFpU`mF^f6OV*!g;!ZKE{iZ!fb!>OAg--0LT@(Oml8#?-5onAMD eO>AKsI|ySJ3L;PuMGSk`#{uFd}7ybU^tboAh* z57BM+@Pl-$Z_!hSAODBP{r(|b_@Kygp`2H`cbcGEj?>MQ9K+1Nh<5U#^DGpyiqxt- z)e>6ep)HG#Mmm*lOIMf8X4SmT*f~qR7ah|oYI;MKD@FNSZaGTzru1r%J%c1*41C~+ z0Q~(y2*EgnVFDr$g-MtK3TT-243eRBBJ4T03`3#)2IC`#91)?s_YU((L|OGs<6>$* z!m0giuWmCi1G6v(^ALjtScD~5h80+aIIyq=>#zYFY{C|7dv%+q<9;?22oBu=fA+t6 jqX7>)unT*z4+0#32!|kn3`cMb2~gk!lHO>LI{o?uEy{}9 diff --git a/create_certs/src/create_certs.go b/create_certs/src/create_certs.go index ce61b37..8607c5d 100644 --- a/create_certs/src/create_certs.go +++ b/create_certs/src/create_certs.go @@ -95,7 +95,7 @@ func make_CA(outCertDirectory string) { Organization: []string{"Bumper"}, }, NotBefore: time.Now(), - NotAfter: time.Now().AddDate(10, 0, 0), + NotAfter: time.Now().AddDate(2, 0, 0), SubjectKeyId: bigIntHash(priv.N), AuthorityKeyId: bigIntHash(priv.N), KeyUsage: x509.KeyUsageCertSign | x509.KeyUsageCRLSign, @@ -198,7 +198,7 @@ func signCert(outCertDirectory string, inBumperSan string) { SubjectKeyId: bigIntHash(privateKey.N), AuthorityKeyId: ca.RawSubject, NotBefore: time.Now(), - NotAfter: time.Now().AddDate(10, 0, 0), + NotAfter: time.Now().AddDate(2, 0, 0), IsCA: false, BasicConstraintsValid: true, ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth, x509.ExtKeyUsageServerAuth}, From e233fe933e4a102f462eb5bf7eaa169b97a00504 Mon Sep 17 00:00:00 2001 From: Brian Martin Date: Tue, 1 Oct 2019 16:27:58 -0400 Subject: [PATCH 3/4] send_command json instead of str send_command json instead of str --- bumper/mqttserver.py | 13 ++++++--- tests/test_mqttserver.py | 58 +++++++++++++++++++++++++++++++++++----- 2 files changed, 61 insertions(+), 10 deletions(-) diff --git a/bumper/mqttserver.py b/bumper/mqttserver.py index 6f06a23..14e7b49 100644 --- a/bumper/mqttserver.py +++ b/bumper/mqttserver.py @@ -183,9 +183,16 @@ class MQTTHelperBot: cmdjson["payloadType"], ) try: - await self.Client.publish( - ttopic, str(cmdjson["payload"]).encode(), QOS_0 - ) + if cmdjson["toType"] == "x": + await self.Client.publish( + ttopic, str(cmdjson["payload"]).encode(), QOS_0 + ) + + if cmdjson["toType"] == "j": + await self.Client.publish( + ttopic, json.dumps(cmdjson["payload"]).encode(), QOS_0 + ) + except Exception as e: helperbotlog.exception("{}".format(e)) diff --git a/tests/test_mqttserver.py b/tests/test_mqttserver.py index 0f0ccb2..c685e15 100644 --- a/tests/test_mqttserver.py +++ b/tests/test_mqttserver.py @@ -280,8 +280,9 @@ async def test_helperbot_sendcommand(): "ret": "ok", } - mqtt_helperbot.Client.disconnect() + #mqtt_helperbot.Client.disconnect() + # Test GetLifeSpan (xml command) cmdjson = { "toType": "ls1ok3", "payloadType": "x", @@ -303,11 +304,7 @@ async def test_helperbot_sendcommand(): 0.2 ) # Override wait_resp_timeout (so we don't wait 10 seconds for timeout) # Send response beforehand - msg_payload = ( - "{'id': 'testx', 'ret': 'ok', 'resp': " - "" - "}" - ) + msg_payload = "" msg_topic_name = ( "iot/p2p/GetLifeSpan/bot_serial/ls1ok3/wC3g/helper1/bumper/helper1/p/testx/q" ) @@ -318,7 +315,54 @@ async def test_helperbot_sendcommand(): commandresult = await mqtt_helperbot.send_command(cmdjson, "testx") assert commandresult == { "id": "testx", - "resp": "{'id': 'testx', 'ret': 'ok', 'resp': }", + "resp": "", + "ret": "ok", + } + + # Test json payload (OZMO950) + cmdjson = { + "toType": "ls1ok3", + "payloadType": "j", + "toRes": "wC3g", + "payload": { + "header": { + "pri": 1, + "ts": "1569380075887", + "tzm": -240, + "ver": "0.0.50" + } + }, + "td": "q", + "toId": "bot_serial", + "cmdName": "getStats", + "auth": { + "token": "us_52cb21fef8e547f38f4ec9a699a5d77e", + "resource": "IOSF53D07BA", + "userid": "fuid_tmpuser", + "with": "users", + "realm": "ecouser.net", + }, + } + + mqtt_helperbot.wait_resp_timeout_seconds = ( + 0.2 + ) # Override wait_resp_timeout (so we don't wait 10 seconds for timeout) + # Send response beforehand + msg_payload = ( + '{"body":{"code":0,"data":{"area":0,"cid":"111","start":"1569378657","time":6,"type":"auto"},"msg":"ok"},"header":{"fwVer":"1.6.4","hwVer":"0.1.1","pri":1,"ts":"1569380074036","tzm":480,"ver":"0.0.1"}}' + ) + msg_topic_name = ( + "iot/p2p/getStats/bot_serial/ls1ok3/wC3g/helper1/bumper/helper1/p/testj/j" + ) + await mqtt_helperbot.Client.publish( + msg_topic_name, msg_payload.encode(), hbmqtt.client.QOS_0 + ) + + commandresult = await mqtt_helperbot.send_command(cmdjson, "testj") + + assert commandresult == { + "id": "testj", + "resp": {'body':{'code':0,'data':{'area':0,'cid':'111','start':'1569378657','time':6,'type':'auto'},'msg':'ok'},'header':{'fwVer':'1.6.4','hwVer':'0.1.1','pri':1,'ts':'1569380074036','tzm':480,'ver':'0.0.1'}}, "ret": "ok", } From 5ac6663502b5db85159106fae97209cd47bb8a14 Mon Sep 17 00:00:00 2001 From: Brian Martin Date: Tue, 1 Oct 2019 20:20:23 -0400 Subject: [PATCH 4/4] fix send_command payloadType Used toType instead of payloadType... --- bumper/mqttserver.py | 4 ++-- tests/test_mqttserver.py | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/bumper/mqttserver.py b/bumper/mqttserver.py index 14e7b49..c7ff20e 100644 --- a/bumper/mqttserver.py +++ b/bumper/mqttserver.py @@ -183,12 +183,12 @@ class MQTTHelperBot: cmdjson["payloadType"], ) try: - if cmdjson["toType"] == "x": + if cmdjson["payloadType"] == "x": await self.Client.publish( ttopic, str(cmdjson["payload"]).encode(), QOS_0 ) - if cmdjson["toType"] == "j": + if cmdjson["payloadType"] == "j": await self.Client.publish( ttopic, json.dumps(cmdjson["payload"]).encode(), QOS_0 ) diff --git a/tests/test_mqttserver.py b/tests/test_mqttserver.py index c685e15..b4f4aa0 100644 --- a/tests/test_mqttserver.py +++ b/tests/test_mqttserver.py @@ -348,9 +348,8 @@ async def test_helperbot_sendcommand(): 0.2 ) # Override wait_resp_timeout (so we don't wait 10 seconds for timeout) # Send response beforehand - msg_payload = ( - '{"body":{"code":0,"data":{"area":0,"cid":"111","start":"1569378657","time":6,"type":"auto"},"msg":"ok"},"header":{"fwVer":"1.6.4","hwVer":"0.1.1","pri":1,"ts":"1569380074036","tzm":480,"ver":"0.0.1"}}' - ) + msg_payload = '{"body":{"code":0,"data":{"area":0,"cid":"111","start":"1569378657","time":6,"type":"auto"},"msg":"ok"},"header":{"fwVer":"1.6.4","hwVer":"0.1.1","pri":1,"ts":"1569380074036","tzm":480,"ver":"0.0.1"}}' + msg_topic_name = ( "iot/p2p/getStats/bot_serial/ls1ok3/wC3g/helper1/bumper/helper1/p/testj/j" )