[GH-ISSUE #419] Add MySQL/PostgreSQL integration tests #161

Closed
opened 2026-02-27 08:15:36 +03:00 by kerem · 4 comments
Owner

Originally created by @JaneJeon on GitHub (Jan 13, 2023).
Original GitHub issue: https://github.com/lldap/lldap/issues/419

Sort of a "continuation ticket" from #87, obviously the feature is working now as the changes have been hand-tested, but there's no guarantee that MySQL/PostgreSQL support will continue to work down the line, as the codebase continues to change.

Setting integration tests, especially in CI, will help ensure compatibility with PostgreSQL/MySQL. In practice, it will probably look like running the test suite multiple times (which is all the more reason to push this manual labor work to CI), each time with a different connection configuration (connecting the ORM/querybuilder to connect to the MySQL/PostgreSQL instances running in Docker).

Thanks in advance.

Originally created by @JaneJeon on GitHub (Jan 13, 2023). Original GitHub issue: https://github.com/lldap/lldap/issues/419 Sort of a "continuation ticket" from #87, obviously the feature is working _now_ as the changes have been hand-tested, but there's no guarantee that MySQL/PostgreSQL support will _continue_ to work down the line, as the codebase continues to change. Setting integration tests, especially in CI, will help ensure compatibility with PostgreSQL/MySQL. In practice, it will probably look like running the test suite multiple times (which is all the more reason to push this ~~manual labor~~ work to CI), each time with a different connection configuration (connecting the ORM/querybuilder to connect to the MySQL/PostgreSQL instances running in Docker). Thanks in advance.
kerem 2026-02-27 08:15:36 +03:00
Author
Owner

@nitnelave commented on GitHub (Jan 13, 2023):

Thanks for keeping me honest :D

I wouldn't mind a hand on this one if someone has experience with GitHub actions to set up MySQL and postgres. @martadinata666 maybe?

I'll work on at least some basic integration tests working with SQLite, and we can override the database URL with an environment variable.

<!-- gh-comment-id:1382515585 --> @nitnelave commented on GitHub (Jan 13, 2023): Thanks for keeping me honest :D I wouldn't mind a hand on this one if someone has experience with GitHub actions to set up MySQL and postgres. @martadinata666 maybe? I'll work on at least some basic integration tests working with SQLite, and we can override the database URL with an environment variable.
Author
Owner

@martadinata666 commented on GitHub (Jan 14, 2023):

Creating job test itself is not hard, but it just up and run, other lldap functionality add user, deletion, avatar, etc i think should be come from lldap itself.

Like maybe add lldap run diagnostic, alike lldap run test-email so lldap itself will throw error if something bad happen. 🤔

<!-- gh-comment-id:1382644819 --> @martadinata666 commented on GitHub (Jan 14, 2023): Creating job `test` itself is not hard, but it just `up and run`, other lldap functionality `add user, deletion, avatar, etc` i think should be come from lldap itself. Like maybe add `lldap run diagnostic`, alike `lldap run test-email` so lldap itself will throw `error` if something bad happen. 🤔
Author
Owner

@nitnelave commented on GitHub (Jan 24, 2023):

Thanks to @martadinata666 we now have very basic DB tests, where we try to stand up an LLDAP server and check that it reports itself as alive!

This is far from exercising all the functionality, but it's a very good start.

<!-- gh-comment-id:1401625243 --> @nitnelave commented on GitHub (Jan 24, 2023): Thanks to @martadinata666 we now have very basic DB tests, where we try to stand up an LLDAP server and check that it reports itself as alive! This is far from exercising all the functionality, but it's a very good start.
Author
Owner

@nitnelave commented on GitHub (Aug 3, 2023):

The integration tests are now run on all DBs, so I'm closing this issue.

<!-- gh-comment-id:1664107391 --> @nitnelave commented on GitHub (Aug 3, 2023): The integration tests are now run on all DBs, so I'm closing this issue.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/lldap-lldap#161
No description provided.