def test_send_beat_without_creating_service(self, mock_save, mock_list): mock_list.return_value = [objects.Service(mock.Mock(), name='watcher-service', host='controller')] service.ServiceHeartbeat(service_name='watcher-service') self.assertEqual(1, mock_save.call_count)
def test_create(self, mock_create_service): mock_create_service.return_value = self.fake_service service = objects.Service(self.context, **self.fake_service) service.create() expected_service = self.fake_service.copy() expected_service['created_at'] = expected_service[ 'created_at'].replace(tzinfo=iso8601.iso8601.Utc()) mock_create_service.assert_called_once_with(expected_service) self.assertEqual(self.context, service._context)
def test_create(self): with mock.patch.object(self.dbapi, 'create_service', autospec=True) as mock_create_service: mock_create_service.return_value = self.fake_service service = objects.Service(self.context, **self.fake_service) fake_service = utils.get_test_service() service.create() mock_create_service.assert_called_once_with(fake_service) self.assertEqual(self.context, service._context)
def get_test_service(context, **kw): """Return a Service object with appropriate attributes. NOTE: The object leaves the attributes marked as changed, such that a create() could be used to commit it to the DB. """ db_service = db_utils.get_test_service(**kw) service = objects.Service(context) for key in db_service: if key == 'last_seen_up': db_service[key] = None setattr(service, key, db_service[key]) return service
def send_beat(self): host = CONF.host watcher_list = objects.Service.list( self.context, filters={'name': ServiceHeartbeat.service_name, 'host': host}) if watcher_list: watcher_service = watcher_list[0] watcher_service.last_seen_up = datetime.datetime.utcnow() watcher_service.save() else: watcher_service = objects.Service(self.context) watcher_service.name = ServiceHeartbeat.service_name watcher_service.host = host watcher_service.create()
def setUp(self): super(TestSchedulingServiceFunctions, self).setUp() fake_service = utils.get_test_service( created_at=datetime.datetime.utcnow()) self.fake_service = objects.Service(**fake_service)