85
85
@defer.inlineCallbacks
86
86
def test_run_terminate_timestamps(self):
87
"""Make sure it is possible to run and terminate instance"""
87
"""Make sure timestamps are set for launched and destroyed"""
88
88
instance_id = self._create_instance()
89
89
instance_ref = db.instance_get(self.context, instance_id)
90
90
self.assertEqual(instance_ref['launched_at'], None)
91
self.assertEqual(instance_ref['terminated_at'], None)
91
self.assertEqual(instance_ref['deleted_at'], None)
92
92
launch = datetime.datetime.utcnow()
93
93
yield self.compute.run_instance(self.context, instance_id)
94
94
instance_ref = db.instance_get(self.context, instance_id)
95
95
self.assert_(instance_ref['launched_at'] > launch)
96
self.assertEqual(instance_ref['terminated_at'], None)
96
self.assertEqual(instance_ref['deleted_at'], None)
97
97
terminate = datetime.datetime.utcnow()
98
98
yield self.compute.terminate_instance(self.context, instance_id)
99
99
instance_ref = db.instance_get({'deleted': True}, instance_id)
100
100
self.assert_(instance_ref['launched_at'] < terminate)
101
self.assert_(instance_ref['terminated_at'] > terminate)
101
self.assert_(instance_ref['deleted_at'] > terminate)
103
103
@defer.inlineCallbacks
104
104
def test_reboot(self):