Example #1
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')
Example #2
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')
Example #3
0
    def on_post(self, req, resp, validated_body):
        """
        receives json req to register worker responds with a 202 for success
        """

        #load json payload in body
        body = validated_body['worker_registration']

        #instantiate new worker object
        new_worker = Worker(**body)

        #persist the new worker
        coordinator_flow.add_worker(self.db, new_worker)

        resp.status = falcon.HTTP_202
        resp.body = format_response_body(
            {'worker_identity': new_worker.get_registration_identity()})
Example #4
0
    def on_post(self, req, resp, validated_body):
        """
        Registers a new worker when an HTTP POST is received
        and responds with a 202 for success
        """

        #load json payload in body
        body = validated_body['worker_registration']

        #instantiate new worker object
        new_worker = Worker(**body)

        #persist the new worker
        worker_util.create_worker(new_worker)

        resp.status = falcon.HTTP_202
        resp.body = api.format_response_body(
            {'worker_identity': new_worker.get_registration_identity()})