diff --git a/backend/authentication/tests/test_urls.py b/backend/authentication/tests/test_urls.py index d9906b5..f4106d9 100644 --- a/backend/authentication/tests/test_urls.py +++ b/backend/authentication/tests/test_urls.py @@ -11,16 +11,16 @@ def setUp(self): self.register_url = reverse('auth register') self.user_info_url = reverse('auth user info') - def test_root_url_GET(self): + def test_root_url_resolve(self): self.assertEquals(resolve(self.root_url).func.view_class, UserAuthentication) - def test_login_url_GET(self): + def test_login_url_resolve(self): self.assertEquals(resolve(self.login_url).func, UserAuthentication.login) - def test_register_url_GET(self): + def test_register_url_resolve(self): self.assertEquals(resolve(self.register_url).func.view_class, UserAccountCRUD.Create) - def test_user_info_url_GET(self): + def test_user_info_url_resolve(self): self.assertEquals(resolve(self.user_info_url).func.view_class, UserInfoCRUD.Create) diff --git a/backend/authentication/tests/test_views.py b/backend/authentication/tests/test_views.py new file mode 100644 index 0000000..4ff633f --- /dev/null +++ b/backend/authentication/tests/test_views.py @@ -0,0 +1,84 @@ +from django.test import TestCase, Client +from django.urls import reverse +from django.contrib import auth + +from authentication.views import UserAccount + +class TestAuthenticationViews(TestCase): + def setUp(self): + self.client = Client() + self.root_url = reverse('auth homepage') + self.login_url = reverse('auth login') + self.register_url = reverse('auth register') + self.user_info_url = reverse('auth user info') + + self.user = UserAccount.objects.create( + cpf = "51937463060", + password = "123", + username = "thisisanusername", + email = "thisisanemail@gmail.com", + phone = "42977451163", + user_info = None + ) + + auth.models.User.objects.create_user( + username= "thisisanusername", email = "thisisanemail@gmail.com", password = "123") + + def test_root_url_GET(self): + response = self.client.get(self.root_url) + self.assertEquals(response.status_code, 200) + + def test_login_url_GET(self): + response = self.client.get(self.login_url) + self.assertEquals(response.status_code, 200) + + def test_register_url_GET(self): + response = self.client.get(self.register_url) + self.assertEquals(response.status_code, 200) + + def test_user_info_url_GET(self): + response = self.client.get(self.user_info_url) + self.assertEquals(response.status_code, 200) + + def test_login_url_POST(self): + response = self.client.post( + self.login_url, + { + "cpf": "51937463060", + "password": "123" + } + , + 'application/json' + ) + + self.assertEquals(response.status_code, 200) + + def test_register_url_POST(self): + response = self.client.post( + self.register_url, + { + "cpf": "20906291003", + "password": "123", + "username": "supermegausername", + "email": "supermegaemail@gmail.com", + "phone": "42944578814", + "user_info": "" + } + ) + + self.assertEquals(response.status_code, 201) + + def test_user_info_url_POST(self): + response = self.client.post( + self.user_info_url, + { + "city": "São Paulo", + "state": "São Paulo", + "street": "Avenida Faria Lima", + "neighbourhood": "", + "age": 20 + } + ) + + self.assertEquals(response.status_code, 201) + diff --git a/backend/db.sqlite3 b/backend/db.sqlite3 index c76e4ad..5ca9fce 100644 Binary files a/backend/db.sqlite3 and b/backend/db.sqlite3 differ diff --git a/backend/setups/ai_models/strategies/__pycache__/svr_model.cpython-38.pyc b/backend/setups/ai_models/strategies/__pycache__/svr_model.cpython-38.pyc index 7a4916a..d5b94a4 100644 Binary files a/backend/setups/ai_models/strategies/__pycache__/svr_model.cpython-38.pyc and b/backend/setups/ai_models/strategies/__pycache__/svr_model.cpython-38.pyc differ diff --git a/backend/setups/ai_models/strategies/svr_model.py b/backend/setups/ai_models/strategies/svr_model.py index 68fe478..23cd2e0 100644 --- a/backend/setups/ai_models/strategies/svr_model.py +++ b/backend/setups/ai_models/strategies/svr_model.py @@ -29,8 +29,7 @@ def model_run(self, name, X_train, X_test, y_train, y_test, X_deploy, y_deploy): return True else: y_pred = model.predict(X_test) - print(model.model_summary(y_pred, y_test, - None, None)) + print(model.model_summary(y_pred, y_test,None, None)) model.save_model(f'{name}/SVR') return True diff --git a/backend/setups/tests/test_urls.py b/backend/setups/tests/test_urls.py index 8ffca49..eb4f3d3 100644 --- a/backend/setups/tests/test_urls.py +++ b/backend/setups/tests/test_urls.py @@ -1,5 +1,4 @@ -from django.http import response -from django.test import TestCase, Client +from django.test import TestCase from django.urls import reverse, resolve from setups.views import HomeView, SVRModelView @@ -11,14 +10,14 @@ def setUp(self): self.svr_model_fit_url = reverse('SVR Model fit') self.svr_model_predict_url = reverse('SVR Model predict') - def test_root_URL(self): + def test_root_url_GET(self): self.assertEquals(resolve(self.root_url).func.view_class, HomeView) - def test_svr_model_URL(self): + def test_svr_model_url_GET(self): self.assertEquals(resolve(self.svr_model_url).func.view_class, SVRModelView) - def test_svr_model_fit_URL(self): + def test_svr_model_fit_url_GET(self): self.assertEquals(resolve(self.svr_model_fit_url).func, SVRModelView.fit) - def test_svr_model_predict_URL(self): + def test_svr_model_predict_url_GET(self): self.assertEquals(resolve(self.svr_model_predict_url).func, SVRModelView.predict) diff --git a/backend/setups/tests/test_views.py b/backend/setups/tests/test_views.py new file mode 100644 index 0000000..231ae52 --- /dev/null +++ b/backend/setups/tests/test_views.py @@ -0,0 +1,41 @@ +from django.http import response +import requests +from django.test import TestCase, Client +from django.urls import reverse +from django.contrib import auth +import json + +class TestSetupsViews(TestCase): + def setUp(self): + self.root_url = reverse('Setups homepage') + self.svr_model_url = reverse('SVR Model GET/POST') + self.svr_model_fit_url = reverse('SVR Model fit') + self.svr_model_predict_url = reverse('SVR Model predict') + + def test_root_url_GET(self): + response = self.client.get(self.root_url) + self.assertEquals(response.status_code, 200) + + def test_svr_model_url_GET(self): + response = requests.get( + 'https://btk-ai-app.herokuapp.com/setups/svr_model/', + json = { + 'name': "PETR4" + } + ) + self.assertEquals(response.status_code, 200) + + def test_svr_model_fit_url_GET(self): + response = requests.get( + 'http://localhost:8000'+self.svr_model_fit_url, + json = { + 'name': "PETR4", + 'start_date': '2020-01-01', + 'end_date': '2020-12-31', + 'train_size': 0.6, + 'test_size': 0.3, + 'deploy_size': 0.1 + } + ) + + self.assertEquals(response.status_code, 200) \ No newline at end of file diff --git a/backend/setups/views.py b/backend/setups/views.py index 7e6902b..9133952 100644 --- a/backend/setups/views.py +++ b/backend/setups/views.py @@ -60,7 +60,6 @@ def fit(request): @api_view(['GET']) def predict(request): - if request.method == 'GET': body_data = json.dumps(request.data) body = json.loads(body_data) @@ -76,8 +75,9 @@ def predict(request): return JsonResponse({'prediction': y_pred[0]}) def get(self, request): - body = json.loads(request.body) - asset_name = body['name'] + body_data = json.dumps(request.data) + body_data = json.loads(body_data) + asset_name = body_data['name'] model_summary = joblib.load( f'static/saved_models/{asset_name}/SVR_summary.pkl') diff --git a/backend/tools/tests/test_urls.py b/backend/tools/tests/test_urls.py index 5ff927a..3e80e6f 100644 --- a/backend/tools/tests/test_urls.py +++ b/backend/tools/tests/test_urls.py @@ -1,5 +1,4 @@ -from django.http import response -from django.test import TestCase, Client +from django.test import TestCase from django.urls import reverse, resolve from tools.views import HomeView, MarkowitzView diff --git a/backend/tools/tests/test_views.py b/backend/tools/tests/test_views.py new file mode 100644 index 0000000..16bd761 --- /dev/null +++ b/backend/tools/tests/test_views.py @@ -0,0 +1,22 @@ +from django.test import TestCase, Client +from django.urls import reverse + +class TestToolsViews(TestCase): + def setUp(self) -> None: + self.client = Client() + self.root_url = reverse('Tools homepage') + self.markowivtz_url = reverse('Tools Markowitz') + + def test_root_url_GET(self): + response = self.client.get( + self.root_url + ) + + self.assertEquals(response.status_code, 200) + + def test_markowitz_url_GET(self): + response = self.client.get( + self.markowivtz_url + ) + + self.assertEquals(response.status_code, 200) \ No newline at end of file