Merge branch 'dev'

This commit is contained in:
Pünkösd Marcell 2020-05-14 22:41:58 +02:00
commit 0b2cfbd760
8 changed files with 53 additions and 38 deletions

2
.coveragerc Normal file
View File

@ -0,0 +1,2 @@
[run]
omit=venv/*

View File

@ -1,6 +1,5 @@
import os
# Setup environment variables for testing
os.environ["INITIAL_SERVERS"] = "192.168.111.22"
os.environ["LOCAL_UUID"] = "d8b2e5e2-f675-4194-9324-af58e4b70c54"
os.environ["REDIS_URL"] = "redis://192.168.111.121/0"

View File

@ -1,21 +1,22 @@
import json
import os
import db
import pytest
from flask import current_app
@pytest.fixture
def client():
current_app.config['TESTING'] = True
def client(mocker):
mocker.patch("db.redis_client")
db.redis_client.get.side_effect=lambda a: None
with current_app.test_client() as client:
from app import app
app.config['TESTING'] = True
with app.test_client() as client:
yield client
def test_response_length(client):
data = {
"uuid": os.environ["LOCAL_UUID"],
"message": "Hello There!"
}
r = client.get('/consumers', data = json.dumps(data))
assert len(r) == 0
r = client.get('/consumers')
assert r.status_code == 200

View File

@ -1,16 +1,16 @@
import json
import os
import db
import pytest
from flask import current_app
@pytest.fixture
def client():
current_app.config['TESTING'] = True
def client(mocker):
mocker.patch("db.redis_client")
db.redis_client.get.side_effect=lambda a: None
with current_app.test_client() as client:
from app import app
app.config['TESTING'] = True
with app.test_client() as client:
yield client
@ -22,9 +22,9 @@ def test_log_code_get(client):
def test_log_code_post(client):
data = {
"uuid": os.environ["LOCAL_UUID"],
"uuid": "asdasdasd",
"message": "Hello There!"
}
r = client.post('/log', data = json.dumps(data))
r = client.post('/log', json=data)
assert r.status_code == 204

View File

@ -1,19 +1,20 @@
import json
import os
import db
import pytest
from flask import current_app
@pytest.fixture
def client():
current_app.config['TESTING'] = True
def client(mocker):
mocker.patch("db.redis_client")
db.redis_client.get.side_effect=lambda a: None
with current_app.test_client() as client:
from app import app
app.config['TESTING'] = True
with app.test_client() as client:
yield client
def test_log_code_get(client):
r = client.get('/sync')
@ -22,8 +23,8 @@ def test_log_code_get(client):
def test_log_code_post(client):
data = {
"uuid": os.environ["LOCAL_UUID"]
"uuid": "tesuuid"
}
r = client.post('/sync', data = json.dumps(data))
r = client.post('/sync', json=data)
assert r.status_code == 204
assert r.status_code == 200

View File

@ -1,7 +1,7 @@
import json
from db import redis_client
from flask import jsonify, request
from flask import jsonify
from flask_classful import FlaskView

View File

@ -9,7 +9,15 @@ class SyncView(FlaskView):
def post(self):
remote_uuid = request.json['uuid']
remote_ip = request.remote_addr
if 'ip' in request.json:
remote_ip = request.json['ip']
if request.remote_addr != remote_ip:
current_app.logger.debug(f"IP was overriden by the remote consumer {remote_ip} instead of {request.remote_addr}")
else:
remote_ip = request.remote_addr
cust_key = f"consumer_{remote_uuid}"

4
requirements_dev.txt Normal file
View File

@ -0,0 +1,4 @@
pytest
pytest-mock
mock
coverage