Troubleshooting integration test errors in QuickBooks community connector

Summary

The user is encountering errors while running integration tests for an updated QuickBooks community connector. The error message indicates an issue with attribute evaluation in the code.


Question

I am working on updating the community connector for QuickBooks to include two streams, CreditCardPayments and GeneralLedger that are not included in the current connector’s definitions. Steps I have taken so far:
• Cloned repo and modified the manifest.yaml file to include the missing streams
• Created the secrets/config.json which is required for integration testing
• Built a local development container with airbyte-ci connectors --name source-quickbooks build
• Built an image with my changes by creating a Dockerfile in the aribyte-integrations/connectors/source-quickbooks directory and running sudo docker build -t airbyte/source-quickbooks:dev .
• Ran integration tests using the above secrets/config.json to validate my mainfest.yaml configuration by running docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-quickbooks:dev check --config /secrets/config.json
When the integration test completes I receive the following errors:

Traceback (most recent call last):
File \"/usr/local/lib/python3.10/site-packages/airbyte_cdk/sources/declarative/checks/check_stream.py\", line 42, in check_connection
stream_is_available, reason = availability_strategy.check_availability(stream, logger, source)
File \"/usr/local/lib/python3.10/site-packages/airbyte_cdk/sources/streams/http/availability_strategy.py\", line 50, in check_availability
get_first_record_for_slice(stream, stream_slice)
File \"/usr/local/lib/python3.10/site-packages/airbyte_cdk/sources/streams/utils/stream_helper.py\", line 40, in get_first_record_for_slice
return next(records_for_slice)
File \"/usr/local/lib/python3.10/site-packages/airbyte_cdk/sources/declarative/declarative_stream.py\", line 126, in read_records
yield from self.retriever.read_records(self.get_json_schema(), stream_slice)
File \"/usr/local/lib/python3.10/site-packages/airbyte_cdk/sources/declarative/retrievers/simple_retriever.py\", line 339, in read_records
self.cursor.close_slice(_slice, most_recent_record_from_slice)
File \"/airbyte/integration_code/source_quickbooks/components.py\", line 72, in close_slice
most_recent_record=LastRecordDictProxy(most_recent_record, {self.cursor_field.eval(self.config): \"MetaData/LastUpdatedTime\"}),
AttributeError: 'str' object has no attribute 'eval'
"
}}```
Does anybody have any experience working with this build pipeline that might be willing to help me through these issues?

<br>

---

This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. [Click here](https://airbytehq.slack.com/archives/C021JANJ6TY/p1725811108965039) if you want 
to access the original thread.

[Join the conversation on Slack](https://slack.airbyte.com)

<sub>
["quickbooks", "community-connector", "integration-test", "error", "attribute-evaluation"]
</sub>