-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtest_app.py
More file actions
59 lines (51 loc) · 1.93 KB
/
test_app.py
File metadata and controls
59 lines (51 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import pytest
from flask import url_for
import config
def generate_vector():
return ('0.0,' * config.CONFIG_INDEX['index_vector_len'])[:-1]
def generate_missformated_vector():
return ('a,' * config.CONFIG_INDEX['index_vector_len'])[:-1]
def generate_different_len_vector():
return ('0.0,' * (config.CONFIG_INDEX['index_vector_len'] - 1))[:-1]
class TestApp:
def test_ping(self, client):
res = client.get(url_for('ping'))
assert res.status_code == 200
assert res.json == {'ping': 'pong'}
def test_get_similarities(self, client):
data = {}
data['vector'] = generate_vector()
data['n'] = 7
response = client.post(
url_for('get_similarities'), data=data, follow_redirects=True
)
assert response.status_code == 200
assert response.json['status'] == 'ok'
assert len(response.json['keys']) == 7
def test_missformated_string_similarities(self, client):
data = {}
data['vector'] = generate_missformated_vector()
data['n'] = 7
response = client.post(
url_for('get_similarities'), data=data, follow_redirects=True
)
assert response.status_code == 400
assert response.json['status'] == 'error'
def test_empty_string_similarities(self, client):
data = {}
data['vector'] = ''
data['n'] = 7
response = client.post(
url_for('get_similarities'), data=data, follow_redirects=True
)
assert response.status_code == 400
assert response.json['status'] == 'error'
def test_different_len_similarities(self, client):
data = {}
data['vector'] = generate_different_len_vector()
data['n'] = 7
response = client.post(
url_for('get_similarities'), data=data, follow_redirects=True
)
assert response.status_code == 400
assert response.json['status'] == 'error'