def test_patch(self): """PATCH User Notes""" under_test = BackendClient() under_test.login(settings.get_config('Alignak', 'username'), settings.get_config('Alignak', 'password')) users = under_test.get('user') user = users['_items'][0] notes = 'Unit Test from Alignak-app' data = {'notes': notes} headers = {'If-Match': user['_etag']} endpoint = '/'.join(['user', user['_id']]) patched = under_test.patch(endpoint, data, headers) self.assertTrue(patched) user_modified = under_test.get('/'.join(['user', user['_id']])) self.assertEqual(user_modified['notes'], notes) back_patched = under_test.patch(endpoint, data={'notes': ''}, headers=headers) self.assertTrue(back_patched) user_modified = under_test.get('/'.join(['user', user['_id']])) self.assertNotEqual(user_modified['notes'], notes) self.assertEqual(user_modified['notes'], '')
def test_get_backend_status_icon(self): """Get Backend Status Icon Name""" backend_test = BackendClient() under_test = backend_test.get_backend_status_icon() self.assertEqual('disconnected', under_test) backend_test.login(settings.get_config('Alignak', 'username'), settings.get_config('Alignak', 'password')) under_test = backend_test.get_backend_status_icon() self.assertEqual('connected', under_test)
def test_query_livesynthesis_data(self): """Query Live Synthesis Data""" under_test = BackendClient() under_test.login(settings.get_config('Alignak', 'username'), settings.get_config('Alignak', 'password')) from alignak_app.backend.datamanager import data_manager under_test.query_livesynthesis() self.assertIsNotNone(data_manager.database['livesynthesis']) self.assertTrue(data_manager.db_is_ready['livesynthesis'])
def test_query_period_data(self): """Query TimePeriod Data""" under_test = BackendClient() under_test.login(settings.get_config('Alignak', 'username'), settings.get_config('Alignak', 'password')) from alignak_app.backend.datamanager import data_manager under_test.query_timeperiods() self.assertIsNotNone(data_manager.database['timeperiod']) self.assertTrue(data_manager.db_is_ready['timeperiod'])
def test_query_hosts_data(self): """Query Host Data""" under_test = BackendClient() under_test.login(settings.get_config('Alignak', 'username'), settings.get_config('Alignak', 'password')) from alignak_app.backend.datamanager import data_manager under_test.query_hosts() self.assertIsNotNone(data_manager.database['host']) self.assertTrue(data_manager.db_is_ready['host']) self.assertTrue(data_manager.db_is_ready['problems']['host'])
def test_query_problems(self): """Query Problems Data""" under_test = BackendClient() under_test.login(settings.get_config('Alignak', 'username'), settings.get_config('Alignak', 'password')) from alignak_app.backend.datamanager import data_manager under_test.query_services_problems('WARNING') self.assertIsNotNone(data_manager.database['problems']) self.assertTrue(data_manager.db_is_ready['problems']['WARNING']) under_test.query_services_problems('UNKNOWN') self.assertTrue(data_manager.db_is_ready['problems']['UNKNOWN'])
def test_log_to_backend(self): """Connection to Alignak-Backend""" under_test = BackendClient() connect = under_test.login(settings.get_config('Alignak', 'username'), settings.get_config('Alignak', 'password')) # Compare config url and app_backend self.assertEquals(under_test.backend.url_endpoint_root, settings.get_config('Alignak', 'backend')) self.assertTrue(under_test.connected) self.assertTrue(under_test.backend.authenticated) self.assertTrue(connect) # Assert on second connection, backend use token ! connect = under_test.login() self.assertTrue(connect)
def test_get_endpoint_with_params_and_projection(self): """Backend GET""" backend_test = BackendClient() backend_test.login(settings.get_config('Alignak', 'username'), settings.get_config('Alignak', 'password')) # Get hosts states test_projection = ['name', 'alias'] test_params = {'where': json.dumps({'_is_template': False})} under_test = backend_test.get('host', params=test_params, projection=test_projection) self.assertTrue(under_test) self.assertTrue(under_test['_items']) self.assertTrue('name' in under_test['_items'][0]) self.assertTrue('alias' in under_test['_items'][0])
def test_query_history_data(self): """Query History Data""" under_test = BackendClient() under_test.login(settings.get_config('Alignak', 'username'), settings.get_config('Alignak', 'password')) from alignak_app.backend.datamanager import data_manager under_test.query_history(self.hostname, self.host_id) self.assertIsNotNone(data_manager.database['history']) old_database = data_manager.database['history'] under_test.query_history() self.assertIsNotNone(data_manager.database['history']) # Assert that old history item has the same properties that the new one self.assertTrue(old_database != data_manager.database['history']) self.assertEqual(old_database[0].name, data_manager.database['history'][0].name) self.assertEqual(old_database[0].item_id, data_manager.database['history'][0].item_id) self.assertEqual(old_database[0].item_id, self.host_id)