def test_handle_record_invalid_bool_value(self, 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"}
        rv = ProcessFieldserverRecordsReturn()
        error_messages = []

        fieldserver_file_handler._handle_record(mapping, record, rv, error_messages)

        assert len(error_messages) == 1
        assert len(rv.good_records) == 0
        assert error_messages == ["Invalid value for boolean point"]
    def test_handle_record_successful(self, 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-EP-001", "point_type": "EP"}

        row = {"site_id": "123456", "offset": 0,
               "value": "100.1", "timestamp": "2014-09-07 23:00"}
        rv = ProcessFieldserverRecordsReturn()
        error_messages = []
        fieldserver_file_handler._handle_record(mapping, row, rv, error_messages)

        assert len(rv.good_records) == 1
        assert len(rv.bad_records) == 0
        assert len(rv.unmapped_vendor_points) == 0
        assert len(rv.global_vendor_point_records) == 0
        assert len(error_messages) == 0

        assert rv.good_records[0] == {"syrx_num": "400000-0001-237323-EP-001",
                                      "timestamp": fieldserver_file_handler.get_string_timestamp.return_value,
                                      "value": 100.1, "date_added": fieldserver_file_handler.date_time_str}