Handle total=None on get_bootstraped_percent
This commit is contained in:
parent
aee0267f17
commit
bd42b83ea3
|
@ -1,9 +1,37 @@
|
|||
from django.test import TestCase
|
||||
|
||||
from .models import UserAccount
|
||||
from .models import DatabaseService, UserAccount
|
||||
from .utils import get_bootstraped_percent
|
||||
|
||||
|
||||
class DatabaseTest(TestCase):
|
||||
def test_database_from_json(self):
|
||||
data = {
|
||||
"url": "https://example.org/api/databases/1/",
|
||||
"id": 1,
|
||||
"name": "bluebird",
|
||||
"type": "mysql",
|
||||
"users": [
|
||||
{
|
||||
"url": "https://example.org/api/databaseusers/2/",
|
||||
"id": 2,
|
||||
"username": "bluebird"
|
||||
}
|
||||
],
|
||||
"resources": [
|
||||
{
|
||||
"name": "disk",
|
||||
"used": "1.798",
|
||||
"allocated": None,
|
||||
"unit": "MiB"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
database = DatabaseService.new_from_json(data)
|
||||
self.assertEqual(0, database.usage['percent'])
|
||||
|
||||
|
||||
class DomainsTestCase(TestCase):
|
||||
def test_domain_not_found(self):
|
||||
response = self.client.post(
|
||||
|
@ -118,3 +146,8 @@ class GetBootstrapedPercentTest(TestCase):
|
|||
|
||||
def test_invalid_total_is_zero(self):
|
||||
value = get_bootstraped_percent(25, 0)
|
||||
self.assertEqual(value, 0)
|
||||
|
||||
def test_invalid_total_is_none(self):
|
||||
value = get_bootstraped_percent(25, None)
|
||||
self.assertEqual(value, 0)
|
||||
|
|
|
@ -6,7 +6,7 @@ def get_bootstraped_percent(value, total):
|
|||
"""
|
||||
try:
|
||||
percent = value / total
|
||||
except ZeroDivisionError:
|
||||
except (TypeError, ZeroDivisionError):
|
||||
return 0
|
||||
|
||||
bootstraped = round(percent * 4) * 100 // 4
|
||||
|
|
Loading…
Reference in New Issue