{"id":23624904,"url":"https://github.com/hcl-tech-software/domino-jnx","last_synced_at":"2025-08-31T00:31:45.255Z","repository":{"id":191700332,"uuid":"388076746","full_name":"HCL-TECH-SOFTWARE/domino-jnx","owner":"HCL-TECH-SOFTWARE","description":"Modern Domino Java API based on JNA access to Domino's C API","archived":false,"fork":false,"pushed_at":"2024-10-30T21:56:48.000Z","size":34300,"stargazers_count":15,"open_issues_count":98,"forks_count":3,"subscribers_count":16,"default_branch":"develop","last_synced_at":"2024-10-30T22:26:52.361Z","etag":null,"topics":["domino","java"],"latest_commit_sha":null,"homepage":"https://opensource.hcltechsw.com/domino-jnx/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HCL-TECH-SOFTWARE.png","metadata":{"files":{"readme":"README-tests.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-21T10:15:02.000Z","updated_at":"2024-10-30T21:56:24.000Z","dependencies_parsed_at":"2023-08-31T08:29:18.882Z","dependency_job_id":"a31b0476-1adf-47a5-bb09-4dd11e602a4e","html_url":"https://github.com/HCL-TECH-SOFTWARE/domino-jnx","commit_stats":null,"previous_names":["hcl-tech-software/domino-jnx"],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HCL-TECH-SOFTWARE%2Fdomino-jnx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HCL-TECH-SOFTWARE%2Fdomino-jnx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HCL-TECH-SOFTWARE%2Fdomino-jnx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HCL-TECH-SOFTWARE%2Fdomino-jnx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HCL-TECH-SOFTWARE","download_url":"https://codeload.github.com/HCL-TECH-SOFTWARE/domino-jnx/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231539824,"owners_count":18392343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["domino","java"],"created_at":"2024-12-27T21:17:07.323Z","updated_at":"2024-12-27T21:17:08.334Z","avatar_url":"https://github.com/HCL-TECH-SOFTWARE.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Running Tests\n\nTo execute, all tests must be able to initialize a Notes runtime, and the requirements are different across platforms.\n\n### All Platforms\n\nOn all platforms, libnotes (in its platform-specific variant) must be available in the Java library path. The way the path is consulted varies across platforms, but it is best to put the path to the Notes/Domino program directory in the `PATH` environment variable.\n\n### macOS\n\nOn macOS, the following additional environment variables must be set:\n\n- `DYLD_LIBRARY_PATH` must contain the Notes executable directory, e.g. \"/Applications/HCL Notes.app/Contents/MacOS\"\n- `LD_LIBRARY_PATH` must contain the Notes executable directory\n- `Notes_ExecDirectory` must contain the Notes executable directory\n\nAdditionally, the test suite should be run with `-Djava.library.path=...` set to the Notes executable directory.\n\nWhen running on Apple Silicon, it can help to use an OpenJ9 JVM and set `-Djava.compiler=NONE` in the argument line.\n\nNote: on macOS, passing environment variables into the Maven environment is exceedingly difficult. The most-reliable way to run tests is via Eclipse's JUnit runner with these variables set in the \"Environment\" tab.\n\n### Linux\n\nOn Linux, the following additional environment variables must be set:\n\n- `LD_LIBRARY_PATH` must contain the Notes executable directory\n- `Notes_ExecDirectory` must contain the Notes executable directory\n- `NotesINI` must point to the path of the active notes.ini file to use\n\n\n\n## Environment-Driven Tests\n\nSeveral test cases require environment variables to be set in order to successfully run a test in a given setup.\n\n### TestClientBasics\n\nThe `testPingServer` test in `TestClientBasics` uses one property to determine if it should run:\n\n- `PING_SERVER` should contain the name of a server that can be successfully pinged by the test runtime\n\n### TestIdVault\n\nThe `TestIdVault` class requires two properties to test accessing an ID file:\n\n- `IDFILE_PATH` set to point to a valid Notes ID file on the filesystem\n- `IDFILE_PASSWORD` set to the password of that ID file\n\nAdditionally, it requires three properties to test accessing an ID from an ID Vault:\n\n- `IDVAULT_USERNAME` set to a username to look up in the Vault\n- `IDVAULT_PASSWORD` set to the password for that user\n- `IDFAULT_IDVAULTSERVER` set to the server name of the Vault server\n\n### Name Lookup Tests\n\n`TestValidateCredentials#testValidateCredentials` and several other name-related test cases requires two properties and uses a third to test user credentials:\n\n- `VALIDATE_CREDENTIALS_SERVER` optionally set to a server to validate credentials against\n- `VALIDATE_CREDENTIALS_USER` must contain a user name to look up\n- `VALIDATE_CREDENTIALS_PASSWORD` must contain that user's correct password\n\nThe `TestValidateCredentials#testValidateCredentialsBadPassword` test case requires two properties and uses a third to test user credentials:\n\n- `VALIDATE_CREDENTIALS_SERVER` optionally set to a server to validate credentials against\n- `VALIDATE_CREDENTIALS_USER` must contain a user name to look up\n- `VALIDATE_CREDENTIALS_BADPASSWORD` must contain an incorrect password for that user\n\nThe `TestUserDirectory#testGetDirectoryPathsRemote` also uses `VALIDATE_CREDENTIALS_SERVER`, while `#testLookupEmail` uses that plus:\n\n- `USER_DIRECTORY_EMAILUSER` must contain a username to look up in the `VALIDATE_CREDENTIALS_SERVER` directory\n- `USER_DIRECTORY_EMAILADDRESS` should contain the `InternetAddress` value for that user\n\n### TestFreeBusy\n\nThe `TestFreeBusy#testFreeTimeSearch` test case requires one environment property to run:\n\n- `FREEBUSY_USERS` must contain a comma-separated list of Notes-format usernames to look up\n\n### TestAgent\n\nThe `TestAgent#testRunOnServer` test case requires two environment properties to run:\n\n- `ServerAgentDB` must be set to a Notes path to an accessible remote DB\n- `ServerAgentName` must be set to the name of an agent in that database to run\n\n### TestDatabase\n\nThe `TestDatabase#testLocalEncryption` test case looks for a database-path variable:\n\n- `DATABASE_LOCALENC_PATH` should point to a database that is locally encrypted with 128-bit AES encryption\n\n### TestServerInfo\n\nThe `TestServerInfo` tests look for server and admin info in two environemnt variables:\n\n- `SERVER_INFO_SERVER` should contain the name of a server to query\n- `SERVER_INFO_ADMINISTRATOR` should contain a name that is expected to exist in the Administrators field of that server's doc\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhcl-tech-software%2Fdomino-jnx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhcl-tech-software%2Fdomino-jnx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhcl-tech-software%2Fdomino-jnx/lists"}