diff options
| -rw-r--r-- | .gitlab-ci.yml | 4 | ||||
| -rw-r--r-- | test/test_api.py | 26 |
2 files changed, 15 insertions, 15 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2503a4e..8c2f5ab 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml | |||
| @@ -37,8 +37,8 @@ tests:debian: | |||
| 37 | - apt update | 37 | - apt update |
| 38 | script: | 38 | script: |
| 39 | - apt-get -qqy update | 39 | - apt-get -qqy update |
| 40 | - apt-get -qqy install --no-install-recommends build-essential libgirepository-2.0-dev mat2 python3-venv python3-dev python3-pip python3-setuptools libcairo2-dev pkg-config | 40 | - apt-get -qqy install --no-install-recommends build-essential libgirepository-2.0-dev python3-venv python3-dev python3-pip python3-setuptools libcairo2-dev pkg-config gir1.2-poppler-0.18 gir1.2-gdkpixbuf-2.0 gir1.2-rsvg-2.0 libimage-exiftool-perl |
| 41 | - python3 -m venv .venv | 41 | - python3 -m venv --system-site-packages .venv |
| 42 | - source .venv/bin/activate | 42 | - source .venv/bin/activate |
| 43 | - pip3 install -r requirements.txt -r requirements-test.txt | 43 | - pip3 install -r requirements.txt -r requirements-test.txt |
| 44 | - coverage run --branch --include ./main.py,matweb/*.py -m unittest discover -s test | 44 | - coverage run --branch --include ./main.py,matweb/*.py -m unittest discover -s test |
diff --git a/test/test_api.py b/test/test_api.py index 0ceb846..d5fb6de 100644 --- a/test/test_api.py +++ b/test/test_api.py | |||
| @@ -36,8 +36,8 @@ class Mat2APITestCase(unittest.TestCase): | |||
| 36 | request = self.app.post( | 36 | request = self.app.post( |
| 37 | '/api/upload', | 37 | '/api/upload', |
| 38 | data='{"file_name": "test_name.jpg", ' | 38 | data='{"file_name": "test_name.jpg", ' |
| 39 | '"file": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAf' | 39 | '"file": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8' |
| 40 | 'FcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="}', | 40 | 'UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAABAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDi6KKK+ZP3E//Z"}', |
| 41 | headers={'content-type': 'application/json'} | 41 | headers={'content-type': 'application/json'} |
| 42 | ) | 42 | ) |
| 43 | self.assertEqual(request.headers['Content-Type'], 'application/json') | 43 | self.assertEqual(request.headers['Content-Type'], 'application/json') |
| @@ -78,8 +78,8 @@ class Mat2APITestCase(unittest.TestCase): | |||
| 78 | def test_api_not_supported(self): | 78 | def test_api_not_supported(self): |
| 79 | request = self.app.post('/api/upload', | 79 | request = self.app.post('/api/upload', |
| 80 | data='{"file_name": "test_name.pdf", ' | 80 | data='{"file_name": "test_name.pdf", ' |
| 81 | '"file": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAf' | 81 | '"file": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8' |
| 82 | 'FcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="}', | 82 | 'UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAABAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDi6KKK+ZP3E//Z"}', |
| 83 | headers={'content-type': 'application/json'} | 83 | headers={'content-type': 'application/json'} |
| 84 | ) | 84 | ) |
| 85 | self.assertEqual(request.headers['Content-Type'], 'application/json') | 85 | self.assertEqual(request.headers['Content-Type'], 'application/json') |
| @@ -153,8 +153,8 @@ class Mat2APITestCase(unittest.TestCase): | |||
| 153 | def test_api_download(self): | 153 | def test_api_download(self): |
| 154 | request = self.app.post('/api/upload', | 154 | request = self.app.post('/api/upload', |
| 155 | data='{"file_name": "test_name.jpg", ' | 155 | data='{"file_name": "test_name.jpg", ' |
| 156 | '"file": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAf' | 156 | '"file": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8' |
| 157 | 'FcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="}', | 157 | 'UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAABAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDi6KKK+ZP3E//Z"}', |
| 158 | headers={'content-type': 'application/json'} | 158 | headers={'content-type': 'application/json'} |
| 159 | ) | 159 | ) |
| 160 | print(request.get_json()) | 160 | print(request.get_json()) |
| @@ -193,7 +193,7 @@ class Mat2APITestCase(unittest.TestCase): | |||
| 193 | 193 | ||
| 194 | request = self.app.head(data['download_link']) | 194 | request = self.app.head(data['download_link']) |
| 195 | self.assertEqual(request.status_code, 200) | 195 | self.assertEqual(request.status_code, 200) |
| 196 | self.assertEqual(request.headers['Content-Length'], '633') | 196 | self.assertEqual(request.headers['Content-Length'], '632') |
| 197 | 197 | ||
| 198 | request = self.app.get(data['download_link']) | 198 | request = self.app.get(data['download_link']) |
| 199 | self.assertEqual(request.status_code, 200) | 199 | self.assertEqual(request.status_code, 200) |
| @@ -205,8 +205,8 @@ class Mat2APITestCase(unittest.TestCase): | |||
| 205 | def test_api_bulk_download(self): | 205 | def test_api_bulk_download(self): |
| 206 | request = self.app.post('/api/upload', | 206 | request = self.app.post('/api/upload', |
| 207 | data='{"file_name": "test_name.jpg", ' | 207 | data='{"file_name": "test_name.jpg", ' |
| 208 | '"file": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAf' | 208 | '"file": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8' |
| 209 | 'FcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="}', | 209 | 'UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAABAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDi6KKK+ZP3E//Z"}', |
| 210 | headers={'content-type': 'application/json'} | 210 | headers={'content-type': 'application/json'} |
| 211 | ) | 211 | ) |
| 212 | upload_one = request.get_json() | 212 | upload_one = request.get_json() |
| @@ -214,8 +214,8 @@ class Mat2APITestCase(unittest.TestCase): | |||
| 214 | 214 | ||
| 215 | request = self.app.post('/api/upload', | 215 | request = self.app.post('/api/upload', |
| 216 | data='{"file_name": "test_name_two.jpg", ' | 216 | data='{"file_name": "test_name_two.jpg", ' |
| 217 | '"file": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42' | 217 | '"file": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8' |
| 218 | 'mO0vqpQDwAENAGxOnU0jQAAAABJRU5ErkJggg=="}', | 218 | 'UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAABAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDi6KKK+ZP3E//Z"}', |
| 219 | headers={'content-type': 'application/json'} | 219 | headers={'content-type': 'application/json'} |
| 220 | ) | 220 | ) |
| 221 | self.assertEqual(request.status_code, 201) | 221 | self.assertEqual(request.status_code, 201) |
| @@ -418,8 +418,8 @@ class Mat2APITestCase(unittest.TestCase): | |||
| 418 | def upload_download_test_jpg_and_assert_response_code(self, app, code): | 418 | def upload_download_test_jpg_and_assert_response_code(self, app, code): |
| 419 | request = app.post('/api/upload', | 419 | request = app.post('/api/upload', |
| 420 | data='{"file_name": "test_name.jpg", ' | 420 | data='{"file_name": "test_name.jpg", ' |
| 421 | '"file": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAf' | 421 | '"file": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8' |
| 422 | 'FcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="}', | 422 | 'UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAABAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDi6KKK+ZP3E//Z"}', |
| 423 | headers={'content-type': 'application/json'} | 423 | headers={'content-type': 'application/json'} |
| 424 | ) | 424 | ) |
| 425 | download_link = request.get_json()['download_link'] | 425 | download_link = request.get_json()['download_link'] |
