From b1ec6de0c260391bf67cd56e9eb9def750b27954 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 29 Aug 2025 14:23:30 -0300 Subject: [PATCH] Bug 35761: Fix API spec for sftp_servers test endpoint response The /sftp_server/{id}/test_connection endpoint was incorrectly documented as returning an sftp_server object with items array structure. Fixed by: - Creating proper sftp_test_result.yaml definition - Documenting the actual response structure with test step objects - Each test step contains: passed (boolean), err (string), msg (string) - Updated test_sftp_servers.yaml to reference correct schema - Added sftp_test_result definition to main swagger.yaml The response structure matches what the controller actually returns and what the existing tests expect. I also corrected a missing newline error highlighted by: ``` prove xt/find-missing-new-lines-at-the-end-of-file.t ``` Signed-off-by: Tomas Cohen Arazi --- .../swagger/definitions/sftp_test_result.yaml | 34 +++++++++++++++++++ api/v1/swagger/paths/config_sftp_servers.yaml | 2 +- api/v1/swagger/paths/test_sftp_servers.yaml | 6 ++-- api/v1/swagger/swagger.yaml | 2 ++ 4 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 api/v1/swagger/definitions/sftp_test_result.yaml diff --git a/api/v1/swagger/definitions/sftp_test_result.yaml b/api/v1/swagger/definitions/sftp_test_result.yaml new file mode 100644 index 00000000000..0c979553f41 --- /dev/null +++ b/api/v1/swagger/definitions/sftp_test_result.yaml @@ -0,0 +1,34 @@ +--- +type: object +description: SFTP/FTP server test results +additionalProperties: + type: object + properties: + passed: + type: boolean + description: Whether this test step passed + err: + type: [string, "null"] + description: Error message if test failed + msg: + type: [string, "null"] + description: Success message or status + required: + - passed +example: + "1_sftp_conn": + passed: true + err: null + msg: "SSH_FX_OK" + "2a_sftp_cwd_dl": + passed: true + err: null + msg: "SSH_FX_OK" + "2b_sftp_ls_dl": + passed: true + err: null + msg: "SSH_FX_OK" + "3_sftp_write": + passed: false + err: "Permission denied" + msg: null diff --git a/api/v1/swagger/paths/config_sftp_servers.yaml b/api/v1/swagger/paths/config_sftp_servers.yaml index e634760a637..d728829f3da 100644 --- a/api/v1/swagger/paths/config_sftp_servers.yaml +++ b/api/v1/swagger/paths/config_sftp_servers.yaml @@ -233,4 +233,4 @@ $ref: "../swagger.yaml#/definitions/error" x-koha-authorization: permissions: - parameters: manage_sftp_servers \ No newline at end of file + parameters: manage_sftp_servers diff --git a/api/v1/swagger/paths/test_sftp_servers.yaml b/api/v1/swagger/paths/test_sftp_servers.yaml index 3fab229fc28..02971966e93 100644 --- a/api/v1/swagger/paths/test_sftp_servers.yaml +++ b/api/v1/swagger/paths/test_sftp_servers.yaml @@ -14,9 +14,7 @@ "200": description: Results of FTP/SFTP server test schema: - type: object - items: - $ref: "../swagger.yaml#/definitions/sftp_server" + $ref: "../swagger.yaml#/definitions/sftp_test_result" "400": description: | Bad request. Possible `error_code` attribute values: @@ -45,4 +43,4 @@ $ref: "../swagger.yaml#/definitions/error" x-koha-authorization: permissions: - parameters: manage_sftp_servers \ No newline at end of file + parameters: manage_sftp_servers diff --git a/api/v1/swagger/swagger.yaml b/api/v1/swagger/swagger.yaml index b944b5602e6..6c2b7ec4519 100644 --- a/api/v1/swagger/swagger.yaml +++ b/api/v1/swagger/swagger.yaml @@ -180,6 +180,8 @@ definitions: $ref: ./definitions/smtp_server.yaml sftp_server: $ref: ./definitions/sftp_server.yaml + sftp_test_result: + $ref: ./definitions/sftp_test_result.yaml suggestion: $ref: ./definitions/suggestion.yaml ticket: -- 2.51.0