def test_handle_record_invalid_bool_value(self, uow):
        siemens_file_handler = SiemensFileHandler()
        siemens_file_handler.logger = Mock()
        siemens_file_handler.date_time_str = Mock()
        siemens_file_handler.get_string_timestamp = Mock()

        mapping = {"syrx_num": "400000-0001-237323-BP-001", "point_type": "BP"}
        record = {"siemens_meter_name": "123456_bp", "value": "a", "timestamp": "2014-09-07 23:00"}
        rv = ProcessSiemensRecordsReturn()
        error_messages = []

        siemens_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):
        siemens_file_handler = SiemensFileHandler()
        siemens_file_handler.logger = Mock()
        siemens_file_handler.date_time_str = Mock()
        siemens_file_handler.get_string_timestamp = Mock()

        mapping = {"syrx_num": "400000-0001-237323-EP-001", "point_type": "EP"}

        row = {"siemens_meter_name": "123456_ep", "value": "100.1", "timestamp": "2014-09-07 23:00"}
        rv = ProcessSiemensRecordsReturn()
        error_messages = []
        siemens_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": siemens_file_handler.get_string_timestamp.return_value,
                                      "value": 100.1, "date_added": siemens_file_handler.date_time_str}