changed the Usage.values() function to return a list of all the combined resources,
rather than a tuple. Changed all the places that used it to take advantage of the change. Have begun setting up testing of the database module.
This commit is contained in:
parent
054703b91a
commit
0b7b1fd08a
@ -136,11 +136,10 @@ def run_usage_collection():
|
|||||||
replace(minute=0, second=0, microsecond=0)
|
replace(minute=0, second=0, microsecond=0)
|
||||||
|
|
||||||
usage = tenant.usage(start, end)
|
usage = tenant.usage(start, end)
|
||||||
# .values() returns a tuple of lists of artifice Resource models
|
|
||||||
# enter expects a list of direct resource models.
|
# enter all resources into the db
|
||||||
# So, unwind the list.
|
d.enter(usage.values(), start, end)
|
||||||
for resource in usage.values():
|
|
||||||
d.enter(resource, start, end)
|
|
||||||
try:
|
try:
|
||||||
session.commit()
|
session.commit()
|
||||||
resp["tenants"].append(
|
resp["tenants"].append(
|
||||||
|
@ -291,7 +291,8 @@ class Usage(object):
|
|||||||
# self._replace()
|
# self._replace()
|
||||||
|
|
||||||
def values(self):
|
def values(self):
|
||||||
return (self.vms, self.objects, self.volumes, self.networks, self.ips)
|
return (self.vms + self.objects + self.volumes +
|
||||||
|
self.networks + self.ips)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def vms(self):
|
def vms(self):
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
from . import test_interface, helpers
|
from . import test_interface, helpers
|
||||||
from decimal import Decimal
|
|
||||||
from artifice import database
|
from artifice import database
|
||||||
from artifice.models import Tenant, UsageEntry, billing
|
from artifice import models
|
||||||
from sqlalchemy.ext.declarative import declarative_base
|
from sqlalchemy.ext.declarative import declarative_base
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
@ -28,16 +27,15 @@ class TestDatabaseModels(test_interface.TestInterface):
|
|||||||
usage = helpers.get_usage()
|
usage = helpers.get_usage()
|
||||||
|
|
||||||
db = self.artifice_start_session()
|
db = self.artifice_start_session()
|
||||||
db.session.add(Tenant(id="3f7b702e4ca14cd99aebf4c4320e00ec",
|
db.insert_tenant("3f7b702e4ca14cd99aebf4c4320e00ec",
|
||||||
name="demo", info="", created=datetime.now()))
|
"demo", "")
|
||||||
|
|
||||||
db.enter(usage.vms, self.start, self.end)
|
db.enter(usage.values(), self.start, self.end)
|
||||||
db.enter(usage.objects, self.start, self.end)
|
|
||||||
db.enter(usage.networks, self.start, self.end)
|
|
||||||
db.enter(usage.volumes, self.start, self.end)
|
|
||||||
db.enter(usage.ips, self.start, self.end)
|
|
||||||
|
|
||||||
self.assertEqual(self.session.query(UsageEntry).count(), 17)
|
self.assertEqual(self.session.query(models.UsageEntry).count(), 17)
|
||||||
|
self.assertEqual(self.session.query(models.Resource).count(),
|
||||||
|
len(usage.values()))
|
||||||
|
self.assertEqual(self.session.query(models.Tenant).count(), 1)
|
||||||
|
|
||||||
def test_get_from_db_1(self):
|
def test_get_from_db_1(self):
|
||||||
"""Test to return a list of billable tenant objects,
|
"""Test to return a list of billable tenant objects,
|
||||||
@ -46,8 +44,8 @@ class TestDatabaseModels(test_interface.TestInterface):
|
|||||||
usage = helpers.get_usage()
|
usage = helpers.get_usage()
|
||||||
|
|
||||||
db = self.artifice_start_session()
|
db = self.artifice_start_session()
|
||||||
db.session.add(Tenant(id="3f7b702e4ca14cd99aebf4c4320e00ec",
|
db.insert_tenant("3f7b702e4ca14cd99aebf4c4320e00ec",
|
||||||
name="demo", info="", created=datetime.now()))
|
"demo", "")
|
||||||
|
|
||||||
db.enter(usage.vms, self.start, self.end)
|
db.enter(usage.vms, self.start, self.end)
|
||||||
db.enter(usage.objects, self.start, self.end)
|
db.enter(usage.objects, self.start, self.end)
|
||||||
@ -55,9 +53,6 @@ class TestDatabaseModels(test_interface.TestInterface):
|
|||||||
db.enter(usage.volumes, self.start, self.end)
|
db.enter(usage.volumes, self.start, self.end)
|
||||||
db.enter(usage.ips, self.start, self.end)
|
db.enter(usage.ips, self.start, self.end)
|
||||||
|
|
||||||
query = db.usage(self.start, self.end, "3f7b702e4ca14cd99aebf4c4320e00ec")
|
|
||||||
|
|
||||||
# tenant = billing.build_billable(query, db.session)
|
|
||||||
|
|
||||||
# def test_get_from_db_2(self):
|
# def test_get_from_db_2(self):
|
||||||
# """Test to return a list of billable tenant objects,
|
# """Test to return a list of billable tenant objects,
|
||||||
|
@ -51,10 +51,8 @@ class TestApi(test_interface.TestInterface):
|
|||||||
usages = self.session.query(models.UsageEntry)
|
usages = self.session.query(models.UsageEntry)
|
||||||
self.assertTrue(usages.count() > 0)
|
self.assertTrue(usages.count() > 0)
|
||||||
resources = self.session.query(models.Resource)
|
resources = self.session.query(models.Resource)
|
||||||
count = 0
|
|
||||||
for res_type in usage.values():
|
self.assertEquals(resources.count(), len(usage.values()))
|
||||||
count += len(res_type)
|
|
||||||
self.assertEquals(resources.count(), count)
|
|
||||||
|
|
||||||
def test_sales_run_for_all(self):
|
def test_sales_run_for_all(self):
|
||||||
""""Assertion that a sales run generates all tenant orders"""
|
""""Assertion that a sales run generates all tenant orders"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user