def test_handle_global_mapping_fail(self, _get_global_vendor_point_record, uow):
        fieldserver_file_handler = FieldserverFileHandler()
        fieldserver_file_handler.logger = Mock()
        fieldserver_file_handler.date_time_str = Mock()
        fieldserver_file_handler.get_string_timestamp = Mock()

        mapping = {"syrx_num": "400000-0001-237323-BP-001", "point_type": "BP"}
        record = {"site_id": "123456", "offset": 0, "value": "a", "timestamp": "2014-09-07 23:00"}

        def get_global_vendor_point_record_side_effect(mapping, record, error_messages):
            error_messages.append('Test')
        _get_global_vendor_point_record.side_effect = get_global_vendor_point_record_side_effect

        global_record = None
        _get_global_vendor_point_record.return_value = global_record

        rv = ProcessFieldserverRecordsReturn()
        error_messages = []
        fieldserver_file_handler._handle_global_mapping(mapping, record, rv, error_messages)

        _get_global_vendor_point_record.assert_called_with(mapping, record, error_messages)

        self.assertEqual(len(error_messages), 1)
        self.assertEqual(len(rv.global_vendor_point_records), 0)

        self.assertEqual(error_messages[0], 'Test')
    def test_handle_global_mapping_success(self, _get_global_vendor_point_record, uow):
        fieldserver_file_handler = FieldserverFileHandler()
        fieldserver_file_handler.logger = Mock()
        fieldserver_file_handler.date_time_str = Mock()
        fieldserver_file_handler.get_string_timestamp = Mock()

        mapping = {"syrx_num": "400000-0001-237323-BP-001", "point_type": "BP"}
        record = {"site_id": "123456", "offset": 0,
                  "value": "ON", "timestamp": "2014-09-07 23:00"}

        global_record = {"source": "fieldserver", "fieldserver_site_id": "123456", "fieldserver_offset": 0,
                         "value": 1.0,
                         "timestamp": fieldserver_file_handler.get_string_timestamp.return_value,
                         "date_added": fieldserver_file_handler.date_time_str}
        _get_global_vendor_point_record.return_value = global_record

        rv = ProcessFieldserverRecordsReturn()
        error_messages = []
        fieldserver_file_handler._handle_global_mapping(mapping, record, rv, error_messages)

        _get_global_vendor_point_record.assert_called_with(mapping, record, error_messages)

        self.assertEqual(len(error_messages), 0)
        self.assertEqual(len(rv.global_vendor_point_records), 1)

        self.assertEqual(rv.global_vendor_point_records[0], global_record)