aminghadersohi commented on PR #44695: URL: https://github.com/apache/superset/pull/44695#issuecomment-5903023531
### Acceptance at 45309e2ee0d78d3c685cc16422c78d3fc8656a80 **Executed locally:** real `create_app`, SQLite metadata persistence, `Database.get_sqla_engine`, SQLAlchemy/Shillelagh, Google credential construction/JWT signing, `CSVReader.read` and dataframe → `df_to_sql`. **Stubbed only:** `requests.adapters.HTTPAdapter.send` for Google OAuth/Sheets/Chart responses, using a synthetic service-account key. No live Google access claimed. - **PASS — private service-account validation:** both catalog URLs accepted in all 12 combinations of create/edit credentials, root/nested catalog, and impersonation absent/false/true. Captured token requests had `[email protected]` and **no `sub`**. - **PASS — validation/query consistency:** persisted `Database` instances queried a catalog sheet through real engines with impersonation off/on; both sent the same service-account identity without `sub`. With impersonation on, the engine URL contained `[email protected]`, but final credentials did not delegate. **The PR body's opt-in-subject wording does not describe this head.** - **PASS — CSV replacement upload:** captured `:clear` followed by `:append?valueInputOption=USER_ENTERED`; `2026-09-29T23:30:00-07:00` became `2026-09-30 06:30:00`, nullable `Int64` became JSON `7`/`""`, and clock strings remained `12:34:56`/`00:00:01`. - **PASS — typed dataframe upload:** date → `2026-09-30`; native time → `12:34:56.123456`; durations → `24:00:01`/`-0:00:01`; Decimal → `"12.30"`; nanosecond numpy timestamp → `2026-09-30 01:02:03.123456`; nulls → `""`. Actual prepared request bodies serialized successfully. - **PASS — error handling:** malformed credential JSON rejected before network; stubbed denied-sheet response retained the validation error. - **DEFERRED — live UI connection and Google typed-date readback:** no live Google credentials/shared spreadsheet; mocked responses cannot establish authentication, sharing, or Google's date interpretation. **Results:** 18 real-code acceptance cases passed; `pytest tests/unit_tests/db_engine_specs/test_gsheets.py -q`: **78 passed**. No code fix or push needed. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
