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