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)
|
||||
|
||||
usage = tenant.usage(start, end)
|
||||
# .values() returns a tuple of lists of artifice Resource models
|
||||
# enter expects a list of direct resource models.
|
||||
# So, unwind the list.
|
||||
for resource in usage.values():
|
||||
d.enter(resource, start, end)
|
||||
|
||||
# enter all resources into the db
|
||||
d.enter(usage.values(), start, end)
|
||||
|
||||
try:
|
||||
session.commit()
|
||||
resp["tenants"].append(
|
||||
|
@ -291,7 +291,8 @@ class Usage(object):
|
||||
# self._replace()
|
||||
|
||||
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
|
||||
def vms(self):
|
||||
|
@ -1,7 +1,6 @@
|
||||
from . import test_interface, helpers
|
||||
from decimal import Decimal
|
||||
from artifice import database
|
||||
from artifice.models import Tenant, UsageEntry, billing
|
||||
from artifice import models
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from datetime import datetime
|
||||
|
||||
@ -28,16 +27,15 @@ class TestDatabaseModels(test_interface.TestInterface):
|
||||
usage = helpers.get_usage()
|
||||
|
||||
db = self.artifice_start_session()
|
||||
db.session.add(Tenant(id="3f7b702e4ca14cd99aebf4c4320e00ec",
|
||||
name="demo", info="", created=datetime.now()))
|
||||
db.insert_tenant("3f7b702e4ca14cd99aebf4c4320e00ec",
|
||||
"demo", "")
|
||||
|
||||
db.enter(usage.vms, 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)
|
||||
db.enter(usage.values(), 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):
|
||||
"""Test to return a list of billable tenant objects,
|
||||
@ -46,8 +44,8 @@ class TestDatabaseModels(test_interface.TestInterface):
|
||||
usage = helpers.get_usage()
|
||||
|
||||
db = self.artifice_start_session()
|
||||
db.session.add(Tenant(id="3f7b702e4ca14cd99aebf4c4320e00ec",
|
||||
name="demo", info="", created=datetime.now()))
|
||||
db.insert_tenant("3f7b702e4ca14cd99aebf4c4320e00ec",
|
||||
"demo", "")
|
||||
|
||||
db.enter(usage.vms, 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.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):
|
||||
# """Test to return a list of billable tenant objects,
|
||||
|
@ -51,10 +51,8 @@ class TestApi(test_interface.TestInterface):
|
||||
usages = self.session.query(models.UsageEntry)
|
||||
self.assertTrue(usages.count() > 0)
|
||||
resources = self.session.query(models.Resource)
|
||||
count = 0
|
||||
for res_type in usage.values():
|
||||
count += len(res_type)
|
||||
self.assertEquals(resources.count(), count)
|
||||
|
||||
self.assertEquals(resources.count(), len(usage.values()))
|
||||
|
||||
def test_sales_run_for_all(self):
|
||||
""""Assertion that a sales run generates all tenant orders"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user