예제 #1
0
 def test_create_asset_tracker_event_exception(self, status_code, host):
     microservice_management_host = 'host1'
     microservice_management_port = 1
     ms_mgt_client = MicroserviceManagementClient(
         microservice_management_host, microservice_management_port)
     response_mock = MagicMock(type=HTTPResponse)
     undecoded_data_mock = MagicMock()
     test_dict = json.dumps({
         'asset': 'AirIntake',
         'event': 'Ingest',
         'service': 'PT100_In1',
         'plugin': 'PT100'
     })
     undecoded_data_mock.decode.return_value = test_dict
     response_mock.read.return_value = undecoded_data_mock
     response_mock.status = status_code
     response_mock.reason = 'this is the reason'
     with patch.object(HTTPConnection, 'request') as request_patch:
         with patch.object(HTTPConnection,
                           'getresponse',
                           return_value=response_mock) as response_patch:
             with patch.object(_logger, "error") as log_error:
                 with pytest.raises(Exception) as excinfo:
                     ms_mgt_client.create_asset_tracker_event(test_dict)
                 assert excinfo.type is client_exceptions.MicroserviceManagementClientError
             assert 1 == log_error.call_count
             msg = '{} error code: %d, Reason: %s'.format(host)
             log_error.assert_called_once_with(msg, status_code,
                                               'this is the reason')
         response_patch.assert_called_once_with()
     args, kwargs = request_patch.call_args_list[0]
     assert 'POST' == kwargs['method']
     assert '/foglamp/track' == kwargs['url']
     assert test_dict == json.loads(kwargs['body'])
예제 #2
0
    def test_create_asset_tracker_event(self):
        microservice_management_host = 'host1'
        microservice_management_port = 1
        ms_mgt_client = MicroserviceManagementClient(
            microservice_management_host, microservice_management_port)
        response_mock = MagicMock(type=HTTPResponse)
        undecoded_data_mock = MagicMock()
        response_mock.read.return_value = undecoded_data_mock
        test_dict = json.dumps({
            'asset': 'AirIntake',
            'event': 'Ingest',
            'service': 'PT100_In1',
            'plugin': 'PT100'
        })

        undecoded_data_mock.decode.return_value = test_dict
        response_mock.status = 200
        with patch.object(HTTPConnection, 'request') as request_patch:
            with patch.object(HTTPConnection,
                              'getresponse',
                              return_value=response_mock) as response_patch:
                ret_value = ms_mgt_client.create_asset_tracker_event(test_dict)
                assert json.loads(test_dict) == ret_value
            response_patch.assert_called_once_with()
        args, kwargs = request_patch.call_args_list[0]
        assert 'POST' == kwargs['method']
        assert '/foglamp/track' == kwargs['url']
        assert test_dict == json.loads(kwargs['body'])