dsapp v239 GMS 14.2.0
dsapp Health Check consistently reported that it was "Unable to test LDAP connection" even though other LDAP functions appeared to be working okay. I also confirmed that the Admin ID and password were correct. After nosing around in the dsapp_ghc.py script and dsapp logs, I found that my Admin ID's Full DN contains a space in one of its OUs. This caused ldapsearch run by dsapp_ghc.py to fail with "Invalid credentials (49)".
I fixed this by putting double-quotes around the Admin Full DN in the Config > User Source page. Doing this also updated /etc/datasync/configengine/configengine.xml.