This repository has been archived by the owner on Mar 17, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug/SK-414 | Limit apps per project should not be based on user (#115)
- Loading branch information
1 parent
8f19ad4
commit 02e9693
Showing
5 changed files
with
96 additions
and
43 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
from django.conf import settings | ||
|
||
|
||
def get_apps_per_project_limit(slug): | ||
"""get_apps_per_project_limit | ||
Args: | ||
slug (App.slug): slug for the app type | ||
Returns: | ||
Integer or None: returns the limit or None if not set | ||
""" | ||
try: | ||
apps_per_project_limit = ( | ||
settings.APPS_PER_PROJECT_LIMIT | ||
if settings.APPS_PER_PROJECT_LIMIT is not None | ||
else {} | ||
) | ||
except Exception: | ||
apps_per_project_limit = {} | ||
|
||
return ( | ||
apps_per_project_limit[slug] | ||
if slug in apps_per_project_limit | ||
else None | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,39 @@ | ||
from django.test import TestCase, override_settings | ||
|
||
from apps.helpers.get_apps_limit_per_user import get_apps_limit_per_user | ||
from apps.helpers.get_apps_per_project_limit import get_apps_per_project_limit | ||
|
||
|
||
class HelpersTestCase(TestCase): | ||
@override_settings( | ||
APPS_PER_USER_LIMIT={ | ||
APPS_PER_PROJECT_LIMIT={ | ||
"vscode": 1, | ||
"volumeK8s": 2, | ||
"pytorch-serve": 0, | ||
"tensorflow-serve": None, | ||
} | ||
) | ||
def test_get_apps_limit_per_user(self): | ||
result = get_apps_limit_per_user("vscode") | ||
result = get_apps_per_project_limit("vscode") | ||
self.assertEqual(1, result) | ||
|
||
result = get_apps_limit_per_user("volumeK8s") | ||
result = get_apps_per_project_limit("volumeK8s") | ||
self.assertEqual(2, result) | ||
|
||
result = get_apps_limit_per_user("pytorch-serve") | ||
result = get_apps_per_project_limit("pytorch-serve") | ||
self.assertEqual(0, result) | ||
|
||
result = get_apps_limit_per_user("tensorflow-serve") | ||
result = get_apps_per_project_limit("tensorflow-serve") | ||
self.assertIsNone(result) | ||
|
||
result = get_apps_limit_per_user("no-app") | ||
result = get_apps_per_project_limit("no-app") | ||
self.assertIsNone(result) | ||
|
||
@override_settings(APPS_PER_USER_LIMIT={}) | ||
@override_settings(APPS_PER_PROJECT_LIMIT={}) | ||
def test_get_apps_limit_per_user_handle_empty(self): | ||
result = get_apps_limit_per_user("vscode") | ||
result = get_apps_per_project_limit("vscode") | ||
self.assertIsNone(result) | ||
|
||
@override_settings(APPS_PER_USER_LIMIT=None) | ||
@override_settings(APPS_PER_PROJECT_LIMIT=None) | ||
def test_get_apps_limit_per_user_handle_none(self): | ||
result = get_apps_limit_per_user("vscode") | ||
result = get_apps_per_project_limit("vscode") | ||
self.assertIsNone(result) |