{"action":"closed","number":51,"pull_request":{"url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/pulls/51","id":216506500,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE2NTA2NTAw","html_url":"https://github.com/mulesoft/mule-sftp-connector/pull/51","diff_url":"https://github.com/mulesoft/mule-sftp-connector/pull/51.diff","patch_url":"https://github.com/mulesoft/mule-sftp-connector/pull/51.patch","issue_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/issues/51","number":51,"state":"closed","locked":false,"title":"MULE-15680: Fix SFTP connector tests in Windows","user":{"login":"GustavoARod","id":1432287,"node_id":"MDQ6VXNlcjE0MzIyODc=","avatar_url":"https://avatars1.githubusercontent.com/u/1432287?v=4","gravatar_id":"","url":"https://api.github.com/users/GustavoARod","html_url":"https://github.com/GustavoARod","followers_url":"https://api.github.com/users/GustavoARod/followers","following_url":"https://api.github.com/users/GustavoARod/following{/other_user}","gists_url":"https://api.github.com/users/GustavoARod/gists{/gist_id}","starred_url":"https://api.github.com/users/GustavoARod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GustavoARod/subscriptions","organizations_url":"https://api.github.com/users/GustavoARod/orgs","repos_url":"https://api.github.com/users/GustavoARod/repos","events_url":"https://api.github.com/users/GustavoARod/events{/privacy}","received_events_url":"https://api.github.com/users/GustavoARod/received_events","type":"User","site_admin":false},"body":"  - This changes fixes the `org.mule.extension.sftp.SftpCopyTestCase` on\r\nWindows\r\n  - This fix also works fine on Unix for the same test case. Nevertheless,\r\nno side effects have been measured either analyzed for other parts of\r\nthe source code.\r\n  - The general idea was to replace the default\r\n`org.apache.sshd.common.file.nativefs.NativeFileSystemFactory` by the\r\n`org.apache.sshd.common.file.virtualfs.VirtualFileSystemFactory` on the\r\n`org.apache.sshd.server.SshServer` used in our\r\n`org.mule.extension.sftp.SftpTestHarness` to avoid the exceptions while\r\nparsing absolute windows paths using `java.nio.file.Paths#get(...)`.\r\n  - Exceptions mentioned above were mainly due to the Windows drive letters\r\non the absolute paths, which were retrieved by the SFTP server in a URI\r\nfashion. Ex: `/C:/foo/...`\r\n  - A common place where the exceptions were thrown:\r\n`org.mule.extension.sftp.internal.command.SftpCommand#getBasePath` (this\r\nis kind of an initialization stage for most operations)\r\n\r\nSide note:\r\n  - At some point, I got concerned about the high usage of\r\n`java.nio.file.Path*`classes in the SFTP connector, because I think file\r\npaths are usually in a URI fashion in the context of SFTP interactions.\r\nNevertheless, I realized later that prior to all interactions with the\r\n`org.mule.extension.sftp.internal.connection.SftpClient` the\r\n`org.mule.extension.sftp.internal.SftpUtils#normalizePath(...)` util\r\nmethod is used therefore reconciling all the file separator differences","created_at":"2018-09-19T03:50:02Z","updated_at":"2018-09-24T18:58:51Z","closed_at":"2018-09-24T18:58:51Z","merged_at":"2018-09-24T18:58:51Z","merge_commit_sha":"18a07055c258bbcbd1b627dd16911caf24f64af1","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/pulls/51/commits","review_comments_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/pulls/51/comments","review_comment_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/issues/51/comments","statuses_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/statuses/63df6973e0368458dc5b5c14b9d32a44e160f59e","head":{"label":"mulesoft:MULE-15680","ref":"MULE-15680","sha":"63df6973e0368458dc5b5c14b9d32a44e160f59e","user":{"login":"mulesoft","id":185740,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4NTc0MA==","avatar_url":"https://avatars1.githubusercontent.com/u/185740?v=4","gravatar_id":"","url":"https://api.github.com/users/mulesoft","html_url":"https://github.com/mulesoft","followers_url":"https://api.github.com/users/mulesoft/followers","following_url":"https://api.github.com/users/mulesoft/following{/other_user}","gists_url":"https://api.github.com/users/mulesoft/gists{/gist_id}","starred_url":"https://api.github.com/users/mulesoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mulesoft/subscriptions","organizations_url":"https://api.github.com/users/mulesoft/orgs","repos_url":"https://api.github.com/users/mulesoft/repos","events_url":"https://api.github.com/users/mulesoft/events{/privacy}","received_events_url":"https://api.github.com/users/mulesoft/received_events","type":"Organization","site_admin":false},"repo":{"id":105085356,"node_id":"MDEwOlJlcG9zaXRvcnkxMDUwODUzNTY=","name":"mule-sftp-connector","full_name":"mulesoft/mule-sftp-connector","private":false,"owner":{"login":"mulesoft","id":185740,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4NTc0MA==","avatar_url":"https://avatars1.githubusercontent.com/u/185740?v=4","gravatar_id":"","url":"https://api.github.com/users/mulesoft","html_url":"https://github.com/mulesoft","followers_url":"https://api.github.com/users/mulesoft/followers","following_url":"https://api.github.com/users/mulesoft/following{/other_user}","gists_url":"https://api.github.com/users/mulesoft/gists{/gist_id}","starred_url":"https://api.github.com/users/mulesoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mulesoft/subscriptions","organizations_url":"https://api.github.com/users/mulesoft/orgs","repos_url":"https://api.github.com/users/mulesoft/repos","events_url":"https://api.github.com/users/mulesoft/events{/privacy}","received_events_url":"https://api.github.com/users/mulesoft/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/mulesoft/mule-sftp-connector","description":null,"fork":false,"url":"https://api.github.com/repos/mulesoft/mule-sftp-connector","forks_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/forks","keys_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/teams","hooks_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/hooks","issue_events_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/issues/events{/number}","events_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/events","assignees_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/assignees{/user}","branches_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/branches{/branch}","tags_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/tags","blobs_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/git/refs{/sha}","trees_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/statuses/{sha}","languages_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/languages","stargazers_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/stargazers","contributors_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/contributors","subscribers_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/subscribers","subscription_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/subscription","commits_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/commits{/sha}","git_commits_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/git/commits{/sha}","comments_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/comments{/number}","issue_comment_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/issues/comments{/number}","contents_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/contents/{+path}","compare_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/merges","archive_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/downloads","issues_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/issues{/number}","pulls_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/pulls{/number}","milestones_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/milestones{/number}","notifications_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/labels{/name}","releases_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/releases{/id}","deployments_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/deployments","created_at":"2017-09-28T01:00:41Z","updated_at":"2018-09-07T03:48:01Z","pushed_at":"2018-09-24T18:58:51Z","git_url":"git://github.com/mulesoft/mule-sftp-connector.git","ssh_url":"git@github.com:mulesoft/mule-sftp-connector.git","clone_url":"https://github.com/mulesoft/mule-sftp-connector.git","svn_url":"https://github.com/mulesoft/mule-sftp-connector","homepage":null,"size":234,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mulesoft:master","ref":"master","sha":"52a2a7268447db8e531b4aa96163f953e913ccfa","user":{"login":"mulesoft","id":185740,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4NTc0MA==","avatar_url":"https://avatars1.githubusercontent.com/u/185740?v=4","gravatar_id":"","url":"https://api.github.com/users/mulesoft","html_url":"https://github.com/mulesoft","followers_url":"https://api.github.com/users/mulesoft/followers","following_url":"https://api.github.com/users/mulesoft/following{/other_user}","gists_url":"https://api.github.com/users/mulesoft/gists{/gist_id}","starred_url":"https://api.github.com/users/mulesoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mulesoft/subscriptions","organizations_url":"https://api.github.com/users/mulesoft/orgs","repos_url":"https://api.github.com/users/mulesoft/repos","events_url":"https://api.github.com/users/mulesoft/events{/privacy}","received_events_url":"https://api.github.com/users/mulesoft/received_events","type":"Organization","site_admin":false},"repo":{"id":105085356,"node_id":"MDEwOlJlcG9zaXRvcnkxMDUwODUzNTY=","name":"mule-sftp-connector","full_name":"mulesoft/mule-sftp-connector","private":false,"owner":{"login":"mulesoft","id":185740,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4NTc0MA==","avatar_url":"https://avatars1.githubusercontent.com/u/185740?v=4","gravatar_id":"","url":"https://api.github.com/users/mulesoft","html_url":"https://github.com/mulesoft","followers_url":"https://api.github.com/users/mulesoft/followers","following_url":"https://api.github.com/users/mulesoft/following{/other_user}","gists_url":"https://api.github.com/users/mulesoft/gists{/gist_id}","starred_url":"https://api.github.com/users/mulesoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mulesoft/subscriptions","organizations_url":"https://api.github.com/users/mulesoft/orgs","repos_url":"https://api.github.com/users/mulesoft/repos","events_url":"https://api.github.com/users/mulesoft/events{/privacy}","received_events_url":"https://api.github.com/users/mulesoft/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/mulesoft/mule-sftp-connector","description":null,"fork":false,"url":"https://api.github.com/repos/mulesoft/mule-sftp-connector","forks_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/forks","keys_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/teams","hooks_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/hooks","issue_events_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/issues/events{/number}","events_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/events","assignees_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/assignees{/user}","branches_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/branches{/branch}","tags_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/tags","blobs_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/git/refs{/sha}","trees_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/statuses/{sha}","languages_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/languages","stargazers_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/stargazers","contributors_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/contributors","subscribers_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/subscribers","subscription_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/subscription","commits_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/commits{/sha}","git_commits_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/git/commits{/sha}","comments_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/comments{/number}","issue_comment_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/issues/comments{/number}","contents_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/contents/{+path}","compare_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/merges","archive_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/downloads","issues_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/issues{/number}","pulls_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/pulls{/number}","milestones_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/milestones{/number}","notifications_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/labels{/name}","releases_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/releases{/id}","deployments_url":"https://api.github.com/repos/mulesoft/mule-sftp-connector/deployments","created_at":"2017-09-28T01:00:41Z","updated_at":"2018-09-07T03:48:01Z","pushed_at":"2018-09-24T18:58:51Z","git_url":"git://github.com/mulesoft/mule-sftp-connector.git","ssh_url":"git@github.com:mulesoft/mule-sftp-connector.git","clone_url":"https://github.com/mulesoft/mule-sftp-connector.git","svn_url":"https://github.com/mulesoft/mule-sftp-connector","homepage":null,"size":234,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mulesoft/mule-sftp-connector/pulls/51"},"html":{"href":"https://github.com/mulesoft/mule-sftp-connector/pull/51"},"issue":{"href":"https://api.github.com/repos/mulesoft/mule-sftp-connector/issues/51"},"comments":{"href":"https://api.github.com/repos/mulesoft/mule-sftp-connector/issues/51/comments"},"review_comments":{"href":"https://api.github.com/repos/mulesoft/mule-sftp-connector/pulls/51/comments"},"review_comment":{"href":"https://api.github.com/repos/mulesoft/mule-sftp-connector/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mulesoft/mule-sftp-connector/pulls/51/commits"},"statuses":{"href":"https://api.github.com/repos/mulesoft/mule-sftp-connector/statuses/63df6973e0368458dc5b5c14b9d32a44e160f59e"}},"author_association":"NONE","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"GustavoARod","id":1432287,"node_id":"MDQ6VXNlcjE0MzIyODc=","avatar_url":"https://avatars1.githubusercontent.com/u/1432287?v=4","gravatar_id":"","url":"https://api.github.com/users/GustavoARod","html_url":"https://github.com/GustavoARod","followers_url":"https://api.github.com/users/GustavoARod/followers","following_url":"https://api.github.com/users/GustavoARod/following{/other_user}","gists_url":"https://api.github.com/users/GustavoARod/gists{/gist_id}","starred_url":"https://api.github.com/users/GustavoARod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GustavoARod/subscriptions","organizations_url":"https://api.github.com/users/GustavoARod/orgs","repos_url":"https://api.github.com/users/GustavoARod/repos","events_url":"https://api.github.com/users/GustavoARod/events{/privacy}","received_events_url":"https://api.github.com/users/GustavoARod/received_events","type":"User","site_admin":false},"comments":0,"review_comments":4,"maintainer_can_modify":false,"commits":3,"additions":65,"deletions":49,"changed_files":7}}
{"actor":{"display_login":"GustavoARod"}}