示例#1
0
class WhenTestingWorkerStatus(unittest.TestCase):
    def setUp(self):
        self.req = MagicMock()
        self.resp = MagicMock()
        self.hostname = 'worker01'
        self.resource = WorkerStatusResource()
        self.worker = Worker(_id='010101',
                             hostname=self.hostname,
                             ip_address_v4='172.23.1.100',
                             ip_address_v6='::1',
                             personality='worker01',
                             status='online',
                             system_info={})
        self.hostname = 'worker01'
        self.worker_not_found = None

    def test_raises_worker_not_found(self):
        with patch('meniscus.data.model.worker_util.find_worker',
                   MagicMock(return_value=None)):
            with self.assertRaises(falcon.HTTPError):
                self.resource.on_get(self.req, self.resp, self.hostname)

    def test_returns_200_on_get(self):
        with patch('meniscus.data.model.worker_util.find_worker',
                   MagicMock(return_value=self.worker)):
            self.resource.on_get(self.req, self.resp, self.hostname)
            self.assertEquals(self.resp.status, falcon.HTTP_200)
            resp = jsonutils.loads(self.resp.body)
            status = resp['status']

            for key in resp.keys():
                self.assertTrue(key in self.worker.get_status().keys())
示例#2
0
class WhenTestingWorkerStatus(unittest.TestCase):
    def setUp(self):
        self.req = MagicMock()
        self.resp = MagicMock()

        self.resource = WorkerStatusResource()
        self.registration = WorkerRegistration('worker').format()
        self.worker = Worker(**self.registration)
        self.worker_dict = Worker(**self.registration).format()
        self.worker_id = '51375fc4eea50d53066292b6'
        self.worker_not_found = None

    def test_raises_worker_not_found(self):
        with patch('meniscus.data.model.worker_util.find_worker',
                   MagicMock(return_value=None)):
            with self.assertRaises(falcon.HTTPError):
                self.resource.on_get(self.req, self.resp, self.worker_id)

    def test_returns_200_on_get(self):
        with patch('meniscus.data.model.worker_util.find_worker',
                   MagicMock(return_value=self.worker)):
            self.resource.on_get(self.req, self.resp, self.worker_id)
            self.assertEquals(self.resp.status, falcon.HTTP_200)
            resp = jsonutils.loads(self.resp.body)
            status = resp['status']

            for key in resp.keys():
                self.assertTrue(key in self.worker.get_status().keys())
示例#3
0
class WhenTestingWorkerStatus(unittest.TestCase):
    def setUp(self):
        self.req = MagicMock()
        self.resp = MagicMock()
        self.db_handler = MagicMock()
        self.resource = WorkerStatusResource(self.db_handler)
        self.registration = WorkerRegistration('worker').format()
        self.worker = Worker(**self.registration)
        self.worker_dict = Worker(**self.registration).format()
        self.worker_id = '51375fc4eea50d53066292b6'
        self.worker_not_found = None

    def test_raises_worker_not_found(self):
        self.db_handler.find_one.return_value = self.worker_not_found
        with self.assertRaises(falcon.HTTPError):
            self.resource.on_get(self.req, self.resp, self.worker_id)

    def test_returns_200_on_get(self):
        self.db_handler.find_one.return_value = self.worker_dict
        self.resource.on_get(self.req, self.resp, self.worker_id)
        self.assertEquals(self.resp.status, falcon.HTTP_200)
        resp = jsonutils.loads(self.resp.body)
        status = resp['status']

        for key in resp.keys():
            self.assertTrue(key in self.worker.get_status().keys())
示例#4
0
class WhenTestingWorkerObject(unittest.TestCase):

    def setUp(self):
        self.system_info = SystemInfo()

        self.test_worker = Worker(_id='010101',
                                  worker_token='9876543210',
                                  hostname='worker01',
                                  callback='172.22.15.25:8080/v1/config/',
                                  ip_address_v4='172.23.1.100',
                                  ip_address_v6='::1',
                                  personality='worker',
                                  status='new',
                                  system_info=self.system_info.format())
        self.test_worker_lite = Worker(hostname='worker01',
                                       callback='172.22.15.25:8080/v1/config/',
                                       ip_address_v4='172.23.1.100',
                                       ip_address_v6='::1',
                                       personality='worker',
                                       status='new',
                                       system_info=self.system_info.format())
        self.worker_status = self.test_worker.get_status()

    def test_new_worker_format_for_save(self):
        self.assertTrue('_id' in self.test_worker.format_for_save())

    def test_get_status(self):
        self.assertEqual(self.worker_status['hostname'], 'worker01')
        self.assertEqual(self.worker_status['personality'], 'worker')
        self.assertEqual(self.worker_status['status'], 'new')
        self.assertEqual(self.worker_status['system_info'],
                         self.system_info.format())
示例#5
0
class WhenTestingWorkerObject(unittest.TestCase):
    def setUp(self):
        self.system_info = SystemInfo()

        self.test_worker = Worker(_id='010101',
                                  worker_token='9876543210',
                                  hostname='worker01',
                                  callback='172.22.15.25:8080/v1/config/',
                                  ip_address_v4='172.23.1.100',
                                  ip_address_v6='::1',
                                  personality='worker',
                                  status='new',
                                  system_info=self.system_info.format())
        self.test_worker_lite = Worker(hostname='worker01',
                                       callback='172.22.15.25:8080/v1/config/',
                                       ip_address_v4='172.23.1.100',
                                       ip_address_v6='::1',
                                       personality='worker',
                                       status='new',
                                       system_info=self.system_info.format())
        self.worker_status = self.test_worker.get_status()

    def test_new_worker_format_for_save(self):
        self.assertTrue('_id' in self.test_worker.format_for_save())

    def test_get_status(self):
        self.assertEqual(self.worker_status['hostname'], 'worker01')
        self.assertEqual(self.worker_status['personality'], 'worker')
        self.assertEqual(self.worker_status['status'], 'new')
        self.assertEqual(self.worker_status['system_info'],
                         self.system_info.format())
示例#6
0
    def on_get(self, req, resp, worker_id):
        #find the worker in db
        worker_dict = self.db.find_one('worker', {'worker_id': worker_id})

        if not worker_dict:
            _worker_not_found()

        worker = Worker(**worker_dict)

        resp.status = falcon.HTTP_200
        resp.body = format_response_body({'status': worker.get_status()})
示例#7
0
    def on_get(self, req, resp, worker_id):
        #find the worker in db
        worker_dict = self.db.find_one('worker', {'worker_id': worker_id})

        if not worker_dict:
            _worker_not_found()

        worker = Worker(**worker_dict)

        resp.status = falcon.HTTP_200
        resp.body = format_response_body({'status': worker.get_status()})
示例#8
0
class WhenTestingWorkerObject(unittest.TestCase):

    def setUp(self):
        self.system_info = SystemInfo()

        self.test_worker = Worker(_id='010101',
                                  worker_id='0123456789',
                                  worker_token='9876543210',
                                  hostname='worker01',
                                  callback='172.22.15.25:8080/v1/config/',
                                  ip_address_v4='172.23.1.100',
                                  ip_address_v6='::1',
                                  personality='correlation',
                                  status='new',
                                  system_info=self.system_info.format())
        self.test_worker_lite = Worker(hostname='worker01',
                                       callback='172.22.15.25:8080/v1/config/',
                                       ip_address_v4='172.23.1.100',
                                       ip_address_v6='::1',
                                       personality='correlation',
                                       status='new',
                                       system_info=self.system_info.format())
        self.worker_route = self.test_worker.get_route_info()
        self.worker_status = self.test_worker.get_status()

    def test_new_worker_no_ids(self):
        worker_dict = self.test_worker_lite.format()
        self.assertTrue('worker_id' in worker_dict)
        self.assertTrue('worker_token' in worker_dict)

    def test_new_worker_format_for_save(self):
        self.assertTrue('_id' in self.test_worker.format_for_save())

    def test_new_worker_get_registration_identity(self):
        self.assertTrue('personality_module'
                        in self.test_worker.get_registration_identity())

    def test_new_worker_routes(self):
        self.assertEqual(self.worker_route['worker_id'], '0123456789')
        self.assertEqual(self.worker_route['ip_address_v4'], '172.23.1.100')
        self.assertEqual(self.worker_route['ip_address_v6'], '::1')

    def test_get_status(self):
        self.assertEqual(self.worker_status['hostname'], 'worker01')
        self.assertEqual(self.worker_status['worker_id'], '0123456789')
        self.assertEqual(self.worker_status['personality'], 'correlation')
        self.assertEqual(self.worker_status['status'], 'new')
        self.assertEqual(self.worker_status['system_info'],
                         self.system_info.format())
        self.assertEqual(self.worker_route['ip_address_v4'], '172.23.1.100')
        self.assertEqual(self.worker_route['ip_address_v6'], '::1')
示例#9
0
class WhenTestingWorkerObject(unittest.TestCase):
    def setUp(self):
        self.system_info = SystemInfo()

        self.test_worker = Worker(_id='010101',
                                  worker_id='0123456789',
                                  worker_token='9876543210',
                                  hostname='worker01',
                                  callback='172.22.15.25:8080/v1/config/',
                                  ip_address_v4='172.23.1.100',
                                  ip_address_v6='::1',
                                  personality='correlation',
                                  status='new',
                                  system_info=self.system_info.format())
        self.test_worker_lite = Worker(hostname='worker01',
                                       callback='172.22.15.25:8080/v1/config/',
                                       ip_address_v4='172.23.1.100',
                                       ip_address_v6='::1',
                                       personality='correlation',
                                       status='new',
                                       system_info=self.system_info.format())
        self.worker_route = self.test_worker.get_route_info()
        self.worker_status = self.test_worker.get_status()

    def test_new_worker_no_ids(self):
        worker_dict = self.test_worker_lite.format()
        self.assertTrue('worker_id' in worker_dict)
        self.assertTrue('worker_token' in worker_dict)

    def test_new_worker_format_for_save(self):
        self.assertTrue('_id' in self.test_worker.format_for_save())

    def test_new_worker_get_registration_identity(self):
        self.assertTrue('personality_module' in
                        self.test_worker.get_registration_identity())

    def test_new_worker_routes(self):
        self.assertEqual(self.worker_route['worker_id'], '0123456789')
        self.assertEqual(self.worker_route['ip_address_v4'], '172.23.1.100')
        self.assertEqual(self.worker_route['ip_address_v6'], '::1')

    def test_get_status(self):
        self.assertEqual(self.worker_status['hostname'], 'worker01')
        self.assertEqual(self.worker_status['worker_id'], '0123456789')
        self.assertEqual(self.worker_status['personality'], 'correlation')
        self.assertEqual(self.worker_status['status'], 'new')
        self.assertEqual(self.worker_status['system_info'],
                         self.system_info.format())
        self.assertEqual(self.worker_route['ip_address_v4'], '172.23.1.100')
        self.assertEqual(self.worker_route['ip_address_v6'], '::1')
示例#10
0
class WhenTestingWorkersStatus(unittest.TestCase):
    def setUp(self):
        self.req = MagicMock()
        self.resp = MagicMock()
        self.resource = WorkersStatusResource()
        self.registration = WorkerRegistration('worker').format()
        self.worker = Worker(**self.registration)
        self.worker_dict = Worker(**self.registration).format()

    def test_returns_200_on_get(self):
        with patch('meniscus.data.model.worker_util.retrieve_all_workers',
                   MagicMock(return_value=[self.worker])):
            self.resource.on_get(self.req, self.resp)
            self.assertEquals(self.resp.status, falcon.HTTP_200)
            resp = jsonutils.loads(self.resp.body)
            status = resp['status'][0]

        for key in resp.keys():
            self.assertTrue(key in self.worker.get_status().keys())
示例#11
0
class WhenTestingWorkersStatus(unittest.TestCase):
    def setUp(self):
        self.req = MagicMock()
        self.resp = MagicMock()
        self.db_handler = MagicMock()
        self.resource = WorkersStatusResource(self.db_handler)
        self.registration = WorkerRegistration('worker').format()
        self.worker = Worker(**self.registration)
        self.worker_dict = Worker(**self.registration).format()

    def test_returns_200_on_get(self):
        self.db_handler.find.return_value = [self.worker_dict]
        self.resource.on_get(self.req, self.resp)
        self.assertEquals(self.resp.status, falcon.HTTP_200)
        resp = jsonutils.loads(self.resp.body)
        status = resp['status'][0]

        for key in resp.keys():
            self.assertTrue(key in self.worker.get_status().keys())
示例#12
0
class WhenTestingWorkersStatus(unittest.TestCase):
    def setUp(self):
        self.req = MagicMock()
        self.resp = MagicMock()
        self.db_handler = MagicMock()
        self.resource = WorkersStatusResource(self.db_handler)
        self.registration = WorkerRegistration('correlation').format()
        self.worker = Worker(**self.registration)
        self.worker_dict = Worker(**self.registration).format()

    def test_returns_200_on_get(self):
        self.db_handler.find.return_value = [self.worker_dict]
        self.resource.on_get(self.req, self.resp)
        self.assertEquals(self.resp.status, falcon.HTTP_200)
        resp = jsonutils.loads(self.resp.body)
        status = resp['status'][0]

        for key in resp.keys():
            self.assertTrue(key in self.worker.get_status().keys())