diff --git a/Website/__init__.py b/Website/__init__.py index 33617d7..497fcc6 100644 --- a/Website/__init__.py +++ b/Website/__init__.py @@ -44,7 +44,7 @@ def create_app(test_config=None): # app.logger.info("Website exited") #var - users = queue.Queue() + user_queue = queue.Queue() #website @app.route('/favicon.ico') @@ -215,15 +215,14 @@ def create_app(test_config=None): return '

user and tag list | Documentation

Error: 043

' @app.route("/addtag", methods=['GET']) - def get_addtag_request(): - global users + def get_addtag_request(): try: user_id = int(request.args.get("id")) except: #except im Normalen Code! return "Error: 095" session_id = uuid.uuid4() session[id] = session_id - users.put([user_id, "add", session_id]) + user_queue.put([user_id, "add", session_id]) return render_template("addtag.html", user=user_id) @socketio.on('addtag') @@ -231,8 +230,8 @@ def create_app(test_config=None): global finished global message join_room(session[id]) - if len(users.queue) > 0: - user = users.queue[len(users.queue) - 1] + if len(user_queue.queue) > 0: + user = user_queue.queue[len(user_queue.queue) - 1] if user == [data["data"], "add", session[id]]: socketio.emit("wait", "wait", to=session[id]) i = 0 @@ -241,7 +240,7 @@ def create_app(test_config=None): i += 1 if i > 20: socketio.emit("error", "352", to=session[id]) - notimportant = users.get() + notimportant = user_queue.get() break else: finished = None @@ -254,15 +253,14 @@ def create_app(test_config=None): leave_room(session[id]) @app.route("/removetag", methods=['GET']) - def get_removetag_request(): - global users + def get_removetag_request(): try: user_id = int(request.args.get("id")) except: #except im Normalen Code! return "Wrong user id!" session_id = uuid.uuid4() session[id] = session_id - users.put([user_id, "remove", session_id]) + user_queue.put([user_id, "remove", session_id]) return render_template("removetag.html", user=user_id) @socketio.on('removetag') @@ -270,8 +268,8 @@ def create_app(test_config=None): global finished global message join_room(session[id]) - if len(users.queue) > 0: - queue_item = users.queue[len(users.queue) - 1] + if len(user_queue.queue) > 0: + queue_item = user_queue.queue[len(user_queue.queue) - 1] user = queue_item[0] if queue_item == [data["data"], "remove", session[id]]: socketio.emit("wait", "wait", to=session[id]) @@ -281,7 +279,7 @@ def create_app(test_config=None): i += 1 if i > 20: socketio.emit("error", "352", to=session[id]) - notimportant = users.get() + notimportant = user_queue.get() break else: finished = None @@ -327,8 +325,8 @@ def create_app(test_config=None): c.execute(f"SELECT * FROM tags WHERE tagid=?", [tag_id]) tag_list = c.fetchall() - if users.qsize() > 0: - queue_item = users.get() + if user_queue.qsize() > 0: + queue_item = user_queue.get() user = queue_item[0] state = queue_item[1] @@ -371,7 +369,7 @@ def create_app(test_config=None): user_list = c.fetchall() if user_list != []: balance_old = user_list[0][2] - if users.qsize() == 0: + if user_queue.qsize() == 0: c.execute(f"UPDATE users SET balance = balance - 1 WHERE id={tag[1]}") db.commit() c.execute(f"SELECT * FROM users WHERE id={tag[1]}") diff --git a/Website/__pycache__/__init__.cpython-311.pyc b/Website/__pycache__/__init__.cpython-311.pyc index f6faef9..385456e 100644 Binary files a/Website/__pycache__/__init__.cpython-311.pyc and b/Website/__pycache__/__init__.cpython-311.pyc differ diff --git a/tests/__pycache__/test_website.cpython-311-pytest-7.4.0.pyc b/tests/__pycache__/test_website.cpython-311-pytest-7.4.0.pyc index b874607..2296751 100644 Binary files a/tests/__pycache__/test_website.cpython-311-pytest-7.4.0.pyc and b/tests/__pycache__/test_website.cpython-311-pytest-7.4.0.pyc differ diff --git a/tests/test_website.py b/tests/test_website.py index c06615b..07e9653 100644 --- a/tests/test_website.py +++ b/tests/test_website.py @@ -43,10 +43,22 @@ def test_addtag_userid_nan(client): response = client.get('/addtag?id=test') assert response.data.decode('utf-8') == "Error: 095" -def test_addtag(app, client): - response_addtag = client.get('/addtag?id=1') - #hier muss der userque was hinzugefĆ¼gt werden! - response_tagid = client.get('/api/tag_id?id=12345678') +def test_add_tag_direktli(app): + with app.app_context(): + db = get_db() + assert db is get_db() + c = db.cursor() + c.execute("INSERT INTO tags (tagid, userid) VALUES (12345678, 1)") + c.execute("INSERT INTO tags (tagid, userid) VALUES (23456789, 1)") + db.commit() + c.execute("SELECT * FROM tags WHERE tagid = 12345678") + data_1 = c.fetchone() + c.execute("SELECT * FROM tags WHERE tagid = 23456789") + data_2 = c.fetchone() + assert data_1[0] == 12345678 + assert data_1[1] == 1 + assert data_2[0] == 23456789 + assert data_2[1] == 1 #/api def test_api_change(client): @@ -90,3 +102,41 @@ def test_api_change_right_negativ(app, client): assert data[0] == 1 assert data[1] == "test" assert data[2] == 0 + +def test_api_tagid(app, client): + response = client.get("/api/tag_id") + assert json.loads(response.data.decode('utf-8')) == {'error': '054', 'mode': 'error'} + +def test_api_tagid_NaN(app, client): + response = client.get("/api/tag_id?id=test") + assert json.loads(response.data.decode('utf-8')) == {'error': '054', 'mode': 'error'} + +def test_api_tagid_wrong_id(app, client): + response = client.get("/api/tag_id?id=1234") + assert json.loads(response.data.decode('utf-8')) == {'error': '054', 'mode': 'error'} + +def test_api_tagid_right_firsttag(app, client): + response = client.get("/api/tag_id?id=12345678") + with app.app_context(): + db = get_db() + assert db is get_db() + c = db.cursor() + c.execute("SELECT * FROM users WHERE id = 1") + data = c.fetchone() + assert data[0] == 1 + assert data[1] == "test" + assert data[2] == -1 + assert json.loads(response.data.decode('utf-8')) == {'balance': -1, 'mode': 'balance', 'username': 'test'} + +def test_api_tagid_right_firsttag(app, client): + response = client.get("/api/tag_id?id=23456789") + with app.app_context(): + db = get_db() + assert db is get_db() + c = db.cursor() + c.execute("SELECT * FROM users WHERE id = 1") + data = c.fetchone() + assert data[0] == 1 + assert data[1] == "test" + assert data[2] == -2 + assert json.loads(response.data.decode('utf-8')) == {'balance': -2, 'mode': 'balance', 'username': 'test'} \ No newline at end of file