Revision 92c53da1 db/tests.py
b/db/tests.py | ||
---|---|---|
72 | 72 |
self.assertEqual(168, tia_cost, 'flavor.get_cost_inactive() is not working properly (%d!=%d)' % (tia_cost, 168)) |
73 | 73 |
|
74 | 74 |
|
75 |
class VirtualMachineTestCase(TestCase): |
|
76 |
fixtures = [ 'db_test_data' ] |
|
77 |
|
|
78 |
def test_charge_method(self): |
|
79 |
"""Test VirtualMachine.charge() method""" |
|
80 |
|
|
81 |
# Since we have tested the costs, with this test |
|
82 |
# we must ensure the following: |
|
83 |
# 1. The vm.charged is updated |
|
84 |
# 2. Users credits are decreased |
|
85 |
|
|
86 |
vm_started = VirtualMachine.objects.get(pk=30000) |
|
87 |
|
|
88 |
initial_date = vm_started.charged |
|
89 |
initial_credits = vm_started.owner.credit |
|
90 |
|
|
91 |
vm_started.charge() |
|
92 |
|
|
93 |
self.assertTrue(vm_started.charged > initial_date, 'Initial charged date should not be greater') |
|
94 |
self.assertTrue(initial_credits > vm_started.owner.credit, 'The user should have less credits now! (%d>%d)' % (initial_credits, vm_started.owner.credit)) |
|
95 |
|
|
96 |
|
|
97 |
class SynnefoUserTestCase(TestCase): |
|
98 |
fixtures = [ 'db_test_data' ] |
|
99 |
|
|
100 |
def test_synnefo_user(self): |
|
101 |
"""Test a SynnefoUser object""" |
|
102 |
s_user = SynnefoUser.objects.get(pk=30000) |
|
103 |
v_machine = VirtualMachine.objects.get(pk=30000) |
|
104 |
|
|
105 |
# charge the user |
|
106 |
s_user.debit_account(10, v_machine, "This should be a structured debit message!") |
|
107 |
|
|
108 |
# should have only one debit object |
|
109 |
d_list = Debit.objects.all() |
|
110 |
|
|
111 |
self.assertEqual(len(d_list), 1, 'SynnefoUser.debit_account() writes more than one debit entries!') |
|
112 |
|
|
113 |
# retrieve the user, now he/she should have zero credits |
|
114 |
s_user = SynnefoUser.objects.get(pk=30000) |
|
115 |
|
|
116 |
self.assertEqual(0, s_user.credit, 'SynnefoUser (pk=30000) should have zero credits (%d)' % ( s_user.credit, )) |
Also available in: Unified diff