fix tests

fix tests broken by lack of certs
- pytest.ini provides environment variables that load tests/test_certs
This commit is contained in:
Brian Martin 2019-06-07 02:00:42 -04:00
parent d1dffcff0e
commit 422a28cd8d
13 changed files with 134 additions and 28 deletions

2
.gitignore vendored
View file

@ -11,6 +11,8 @@ __pycache__
# Ignore items in test (report, cache, etc), except files starting with test
tests/*
!tests/test*
!tests/test_certs
!tests/pytest.ini
# Ignore logs/data/certs
logs/

View file

@ -9,7 +9,7 @@ install:
- pip install pipenv
- pipenv install --dev
script: pipenv run python -m pytest --cov=./
script: pipenv run python -m pytest --cov=./ tests
after_success:
- codecov

View file

@ -21,6 +21,7 @@ pytest-cov = "*"
testfixtures = "*"
codecov = "*"
autoflake = "*"
pytest-env = "*"
[pipenv]
allow_prereleases = true

9
Pipfile.lock generated
View file

@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
"sha256": "077603b06fdb2e79c639d5006db173afd97762d435e05e987a3c9b2ba6e6fedf"
"sha256": "309c2ca578f67a8663325695e4d283f7e3f604c7cec451bf57e71af7dcdb7294"
},
"pipfile-spec": 6,
"requires": {},
@ -531,6 +531,13 @@
"index": "pypi",
"version": "==2.7.1"
},
"pytest-env": {
"hashes": [
"sha256:7e94956aef7f2764f3c147d216ce066bf6c42948bb9e293169b1b1c880a580c2"
],
"index": "pypi",
"version": "==0.6.2"
},
"requests": {
"hashes": [
"sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4",

View file

@ -19,7 +19,7 @@ test_script:
# Note that you must use the environment variable %PYTHON% to refer to
# the interpreter you're using - Appveyor does not do anything special
# to put the Python version you want to use on PATH.
- "pipenv run python -m pytest --cov=./"
- "pipenv run python -m pytest --cov=./ tests"
after_test:
- "pipenv run python -m codecov"

5
tests/pytest.ini Normal file
View file

@ -0,0 +1,5 @@
[pytest]
env =
BUMPER_CA=tests/test_certs/ca.crt
BUMPER_CERT=tests/test_certs/bumper.crt
BUMPER_KEY=tests/test_certs/bumper.key

View file

@ -0,0 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEXDCCA0SgAwIBAgICBnowDQYJKoZIhvcNAQELBQAwJTEPMA0GA1UEChMGQnVt
cGVyMRIwEAYDVQQDEwlCdW1wZXIgQ0EwHhcNMTkwNjA2MTMwMTE3WhcNMjkwNjA2
MTMwMTE3WjApMQ8wDQYDVQQKEwZCdW1wZXIxFjAUBgNVBAMTDUJ1bXBlciBTZXJ2
ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDN94pW5U+IJ70BQRKO
5Va2Inuef9AMvTm11pZMStvIskuzCi+fiIXhrPyKXRNbg21MX9eTrbEfc8t1sBKU
3rYdZ+JteE+9f4pJjHXEyJSMiPZcmGKC3CbSZyuPgw9asLch6FENrwDcxEV7HbJd
oINOjwVqXXPdsSRk2GPuvHjvlwC0h0vt/fErQhlD8U3TIIRDtCfg0BSQUuLXBfJh
R1aksl2nwWQTu62akWTxlZ7hQnkk1WldjIqQarjyaY7Uh0L0/kRpnbhmnW085gzc
E2bi0YwZ7WPwAwPvEszJr30piPtt71JzPPvPUdIcsTj2HotWyAT1ljdxfaKvWgI3
HemrAgMBAAGjggGQMIIBjDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB
BQUHAwIGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFMiQCLdfA6g8
0xTW2wROUJ42R06hMB8GA1UdIwQYMBaAFKYPByFyuubjTQKzczNsX045VPDbMIIB
CwYDVR0RBIIBAjCB/4ILZWNvdmFjcy5jb22CDSouZWNvdmFjcy5jb22CC2Vjb3Vz
ZXIubmV0gg0qLmVjb3VzZXIubmV0ggtlY292YWNzLm5ldIINKi5lY292YWNzLm5l
dIIIbWFjYm9vazGCCWxvY2FsaG9zdIcEfwAAAYcQAAAAAAAAAAAAAAAAAAAAAYcQ
/oAAAAAAAAAAAAAAAAAAAYcQ/oAAAAAAAAAE2n0e5bOcu4cECgABKIcQ/oAAAAAA
AABAPHz//ktLWIcQ/oAAAAAAAAD+dglg8MXdSIcQ/oAAAAAAAAALkYrhchk/YIcQ
/oAAAAAAAAAY1ZBa52Ist4cECgABCocEfwAAATANBgkqhkiG9w0BAQsFAAOCAQEA
QSFKoR3LxCk0N1eaNm44WF7ho57l1XhqQKWojljsJYWoc+LwcWamdyfTJ5M1o07/
yIMh16VRFnjr1NPTk9WmLCcy5VN0oP24XAF9VeX5Q2Rkj8j3e7RmRn5jn0BH6sxk
X/a9GMuEqSDYi6j9ggi9AEdAM8tyfcEkXEP3pdVW29je8F0u7Hia42zGUjGwjndl
2Q8mYBKr0ViG1UV7bKAEJl/WvnOTxpp8ZSTLr6RSleGZ7JvCGpISPzNgeIuPRKOT
D77LiGnDdKgJnuwx266tuKV5AN4B3okG/AqbmFtB/LFfNE2769g94pG6jpVZpSum
kq2jok6bnc1fdGkO0ou15w==
-----END CERTIFICATE-----

View file

@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAzfeKVuVPiCe9AUESjuVWtiJ7nn/QDL05tdaWTErbyLJLswov
n4iF4az8il0TW4NtTF/Xk62xH3PLdbASlN62HWfibXhPvX+KSYx1xMiUjIj2XJhi
gtwm0mcrj4MPWrC3IehRDa8A3MRFex2yXaCDTo8Fal1z3bEkZNhj7rx475cAtIdL
7f3xK0IZQ/FN0yCEQ7Qn4NAUkFLi1wXyYUdWpLJdp8FkE7utmpFk8ZWe4UJ5JNVp
XYyKkGq48mmO1IdC9P5EaZ24Zp1tPOYM3BNm4tGMGe1j8AMD7xLMya99KYj7be9S
czz7z1HSHLE49h6LVsgE9ZY3cX2ir1oCNx3pqwIDAQABAoIBADpMVLXf1jEdvlu6
hXw44eBPxlnIp6TTcqBLiuMxVSBrhw24Vl57kBmekyS+z5nZi3hQsH42baoPZol7
Ouc0WqvcGbUOltN2ZDgJL9RxScq1gbYX09piYgKv/R5z5EaxOkS4syiCXmYej+QX
NcNWiZQU212N8hvP5hM9RJvwcPKvcpQIrW5NdcMvhok+kd/abJcIzXhLXEyLcrRJ
XZh6cCesUZQnZWPVecM+bc/Wt9U5pbw/PNTTiQSFW6wrjCOXVKA57p/zmeb3EWFd
V/rlho+QXLBo9I0DLZKScCfMHgVoguK5Ud7drGiB5rPlgPAv0sFW7fhUd1j7hX7H
l4uDrqECgYEA+6xJgJzJp//6eR3wNiSp/4Y8vY+WCtWNCOwhJbw1a8co5Sex0vAk
0y3mye+4rOgRbfXhhpPm+y+EnHbXlVk8Ux37OfxHviewCiRbkjRU3uycE60ZFtLr
rdqA9FNwutfz3AJqJ/zjVoMneeO7h/GkIAHqxOJHAACV/+lObrSMO0MCgYEA0YIV
M032bk+q9zgfd0IY1ZdUhUS2QyQhMY380F+Dym69Xv2FmG+zeynJT5jxrZs3kmcN
X9jnscTIMGO70EHq2sI/h9IFfqr/7iTlbwgpYeKEPYqWkmuetiKziVOL/Uf4USPd
bQiWRIaQpSZFXUCjVrKL8nGdxhA73iOuQKLmjXkCgYEA2mHxlex2/5Sbn6Ve31yJ
NvUgl8yUgeo0a12alcfvAwrabZ44K7W9/pGCBhBBy6fEGAqYG9MTRztAcxSclTfN
pMILUZGcH2EI3IQYAZHvY1ElTd2SO7/iSgWkiF4vH7JsJKjjvLcv/c3o31fBToFb
zXpcYWOIAHSBtIKaUG3SkUkCgYBiJq4l9f1gWqR+42Uiau3ViusG8FTvCYsfeySY
vlawzMadLOqcqqAMMFxmlQGMUq5rQSor4CNTzhv3R5Iik+8iA2TeDY+Tcyspd1Gh
fdJdUFChwD6gZBjbvVAdIu3vf/sekE3ZGe/ENMKpDE/syy56nHUh5QaEVvClNlQZ
ZffbCQKBgHM2fk3Nlsjk7UCVb8P2hZdX4gx83OJDJPfIfpu/Sf5vPDpmeADI0L30
wlMLo+px1bYBqP6sNx0E1iaBces+WqALnR1tIypItVJmZF7eGeWmJ/KJX1FwtYec
D0cElOusX7pIo6s3lTw4KMxPOMPYRt75zlboVEi+z4cNOCXjf49B
-----END RSA PRIVATE KEY-----

19
tests/test_certs/ca.crt Normal file
View file

@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDKTCCAhGgAwIBAgICBnUwDQYJKoZIhvcNAQELBQAwJTEPMA0GA1UEChMGQnVt
cGVyMRIwEAYDVQQDEwlCdW1wZXIgQ0EwHhcNMTkwNjA2MTMwMTE3WhcNMjkwNjA2
MTMwMTE3WjAlMQ8wDQYDVQQKEwZCdW1wZXIxEjAQBgNVBAMTCUJ1bXBlciBDQTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPOE/zW15yRS7jZhlF0K1s8c
8tN5tYWVieeGCbmdk89vtTA/doYbvbP0ut95OUSS8YEDP98UdqzoTXpYqNehnk5q
VjRyHyXxv2KekhxmTmv+f5OXns8fCgoNlOWAugAlXgk+LGy7non+RLNQ5/vh8E/C
IE0lbxelptkOMirboFPP4LIFqHMjERlC6m63LBftVjRCjDzoWtN9XNCquan27fBd
5/I3wdEBdDcGA7heGPXKrkzyaiZUncHQD3oqbn05ScUFvSJAs7bz4Qdslkna7zK1
AAJoXEBAjWTTau8xp4Fp1qzloMMh0RrqCBgeBlGeL6OcqvMUNRrFNnuDxEXXuTsC
AwEAAaNjMGEwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
BBYEFKYPByFyuubjTQKzczNsX045VPDbMB8GA1UdIwQYMBaAFKYPByFyuubjTQKz
czNsX045VPDbMA0GCSqGSIb3DQEBCwUAA4IBAQCy0dzBuANBlmL58XtvwvrSxhJr
oBscfqeYRvWaUkSAbVX4aH7UsUQWDiLtJZdLsWxMLl0LqbDo+t3I8kpSxOAkJ+Dn
zkLAL2ze0ivZEYkLqGXhO+lEK8YcFWJxkgIA/aykmI7suQyv/1x67mTpCVbxMjbI
iVv11L2o9Ilu/ZLIlRg5G3vnTz7Eql3JMFUN+hHzEzuNTyl9JkSUIZJLQyqg3u4Y
NIGD3nxFiNM1LL17Baz2EjfloAoSyaPGZUzKyRT2BUzHCs2vBNnbTN+XRBHJGZX/
VU76YW8l/f6OPzP6XR3noI6Rpm5OpTOrQTTqmYkcb3QwhBD3I4Aqyjs/qxIT
-----END CERTIFICATE-----

27
tests/test_certs/ca.key Normal file
View file

@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA84T/NbXnJFLuNmGUXQrWzxzy03m1hZWJ54YJuZ2Tz2+1MD92
hhu9s/S633k5RJLxgQM/3xR2rOhNelio16GeTmpWNHIfJfG/Yp6SHGZOa/5/k5ee
zx8KCg2U5YC6ACVeCT4sbLueif5Es1Dn++HwT8IgTSVvF6Wm2Q4yKtugU8/gsgWo
cyMRGULqbrcsF+1WNEKMPOha031c0Kq5qfbt8F3n8jfB0QF0NwYDuF4Y9cquTPJq
JlSdwdAPeipufTlJxQW9IkCztvPhB2yWSdrvMrUAAmhcQECNZNNq7zGngWnWrOWg
wyHRGuoIGB4GUZ4vo5yq8xQ1GsU2e4PERde5OwIDAQABAoIBAQCUveGcjvUWDMmP
0d5rTlmSvB3d6fNkGsjW79o00/katSK4y6q7k2o15v/VzBecuRxmLvPucHNkfagF
WO4Yd5FYWD87XZGE/bpmpHCehCbWc+a84dmQrWbWaSFPZWc2+5wKjT1ZVOgrZXHV
DVAFXCYKsYpFVN4cVYQqBC/EWc3+IkQXcw8POLNwa0ml6ZyFZOcmpik/5o+EbCH2
KL+Rqqi1iKnMKdR9HG9yg7PCk140/Zn0Z5ROWpGehFy1xNlh/+DO9Fjbkm+Zj3sU
/X3UfRRe1Gtbt8z68fZxLqjJfBMujc+J5kSVMn0MH3vXfCLTSktGaxZmHC5xhk36
59QzpQ7hAoGBAPdvFoaD9jJ8bF3nwIJ2uxYAhH/y9IYb4rW4FN1Dz/fBJuIZ8JO9
NBDHX1JK1NzgjTE0mqZ0C5UQTNR9FMBVe0iTFDpndL6YcOtU0LIyHeePNGqnVWMp
SjjrjtjSO0Uug7YKSuLOrfMtKZyN0t19KDllThoMZlxSoiTL1Jzor0BJAoGBAPvz
N4kp8t+ngCl/BoHVEKjhtYe90m0VQflwVfl+myJwIVjtEJliAn2ZZ4uKeTqY1EGE
cAKwikpxI3yDVetM/hrivOEcULbk1SwhcmtTaaGCAw6iLm32suPcEROnSQF/FVyj
BxyvHyrSG7FRh6f4YcMg3G6W7VxE4IYVgoVdLPVjAoGBAKBOnK1x+aQj8KG2cIcW
HYfXtgCfi8UHdA5/wSTJtoex4FtEqxVM09q7EQrj6J1h7pgemMOXE5n0AZL5puQl
fcY7ZDOiq4SAh0gwnzWUOsO3iCJBX5TrP2c5VkcrjbL4u+TJLlNbzF9stzTyvdc6
K0FkXQGLXxYZg2uLk6hFKKXhAoGAODCN+jE40Vhx5M9HjD0QchmkepmDDIDpLdA3
3GS4BH4tcb+tLAgHtis4RI6lasQa0mHO+UqWDPQeje5cgxWwth5LMYk3FxMB1829
zuHTdQmh1OmmoS+bxeWWiWONjJ/jC73wIB2OPeaN9oXQU025v+LcRm2ykhlqWX0C
luuo0zECgYEA6FI0/2L+3prIQ6ravX2sWNMEFeWMEUg/ld8lHcOZ+amAuLzMvrPO
oSVb3JQ+OQbpVsorNBjWqQwbUKTJ3zU9/ievyptCs3G39aQ2wUsDdYKfpkxnfKFe
ZgU5YfwB54rgkQc4vCheTnWo/JuhyB5cgvtjtKOdtMKhXfwpX0bFA/w=
-----END RSA PRIVATE KEY-----

View file

@ -726,7 +726,6 @@ async def test_lg_logs(aiohttp_client):
return_value=async_return(command_getstatus_resp)
)
# Test GetGlobalDeviceList
postbody = {
"auth": {

View file

@ -18,13 +18,6 @@ async def test_helperbot_message():
mqtt_address = ("127.0.0.1", 8883)
mqtt_server = bumper.MQTTServer(mqtt_address)
await mqtt_server.broker_coro()
#broker = mqtt_server.broker
#mqtt_address = ("127.0.0.1", 8883)
#mqtt_server = bumper.MQTTServer(mqtt_address)
#broker = hbmqtt.broker.Broker(
# mqtt_server.default_config, plugin_namespace="hbmqtt.test.plugins"
#)
#await broker.start()
# Test broadcast message
mqtt_helperbot = bumper.MQTTHelperBot(mqtt_address)

View file

@ -5,12 +5,12 @@ Bumper uses pytest for the majority of test cases. Install requirements using `
Enter pipenv shell `pipenv shell`
### Run tests
`python -m pytest`
`python -m pytest tests`
### Run tests with coverage
`python -m pytest --cov=bumper tests/`
`python -m pytest --cov=./ tests`
### Run tests with coverage html report
`python -m pytest --cov=bumper tests/ --cov-report html:tests/report`
`python -m pytest --cov=./ tests --cov-report html:tests/report`
The report will be output into tests/report/index.html for further analysis.