Skip to content

Commit

Permalink
Add more test
Browse files Browse the repository at this point in the history
  • Loading branch information
hv0905 committed May 6, 2024
1 parent 0f8aed6 commit 23fe7d7
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 3 deletions.
34 changes: 31 additions & 3 deletions tests/api/test_home.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import pytest
from fastapi.testclient import TestClient

from app.config import config
from app.webapp import app

client = TestClient(app)
Expand All @@ -11,6 +12,33 @@ def anyio_backend():
return 'asyncio'


def test_get_home():
response = client.get("/")
assert response.status_code == 200
class TestHome:

# noinspection PyMethodMayBeStatic
def setup_class(self):
config.admin_api_enable = True
config.access_protected = True
config.access_token = 'test_token'
config.admin_token = 'test_admin_token'

def test_get_home_no_tokens(self):
response = client.get("/")
assert response.status_code == 200
assert response.json()['authorization']['required']
assert not response.json()['authorization']['passed']
assert response.json()['admin_api']['available']
assert not response.json()['admin_api']['passed']

def test_get_home_access_token(self):
response = client.get("/", headers={'x-access-token': 'test_token'})
assert response.status_code == 200
assert response.json()['authorization']['required']
assert response.json()['authorization']['passed']

def test_get_home_admin_token(self):
response = client.get("/", headers={'x-admin-token': 'test_admin_token', 'x-access-token': 'test_token'})
assert response.status_code == 200
assert response.json()['admin_api']['available']
assert response.json()['admin_api']['passed']
assert response.json()['authorization']['required']
assert response.json()['authorization']['passed']
Binary file added tests/assets/test_images/cat_0.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added tests/assets/test_images/cat_1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file added tests/unit/__init__.py
Empty file.
34 changes: 34 additions & 0 deletions tests/unit/test_transformers_service.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
from pathlib import Path

from PIL import Image

from app.Services.transformers_service import TransformersService
from app.util.calculate_vectors_cosine import calculate_vectors_cosine


class TestTransformersService:

def setup_class(self):
self.transformers_service = TransformersService()
self.assets_root = Path(__file__).parent / '..' / 'assets'

def test_get_image_vector(self):
vector1 = self.transformers_service.get_image_vector(Image.open(self.assets_root / 'test_images/cat_0.jpg'))
vector2 = self.transformers_service.get_image_vector(Image.open(self.assets_root / 'test_images/cat_1.jpg'))
assert vector1.shape == (768,)
assert vector2.shape == (768,)
assert calculate_vectors_cosine(vector1, vector2) > 0.8

def test_get_text_vector(self):
vector1 = self.transformers_service.get_text_vector('1girl')
vector2 = self.transformers_service.get_text_vector('girl, solo')
assert vector1.shape == (768,)
assert vector2.shape == (768,)
assert calculate_vectors_cosine(vector1, vector2) > 0.8

def test_get_bert_vector(self):
vector1 = self.transformers_service.get_bert_vector('hi')
vector2 = self.transformers_service.get_bert_vector('hello')
assert vector1.shape == (768,)
assert vector2.shape == (768,)
assert calculate_vectors_cosine(vector1, vector2) > 0.8

0 comments on commit 23fe7d7

Please sign in to comment.