{"action":"created","issue":{"url":"https://api.github.com/repos/fruux/sabre-dav/issues/879","repository_url":"https://api.github.com/repos/fruux/sabre-dav","labels_url":"https://api.github.com/repos/fruux/sabre-dav/issues/879/labels{/name}","comments_url":"https://api.github.com/repos/fruux/sabre-dav/issues/879/comments","events_url":"https://api.github.com/repos/fruux/sabre-dav/issues/879/events","html_url":"https://github.com/fruux/sabre-dav/pull/879","id":173889834,"number":879,"title":"Create LDAP.php","user":{"login":"christophdb","id":7803347,"avatar_url":"https://avatars.githubusercontent.com/u/7803347?v=3","gravatar_id":"","url":"https://api.github.com/users/christophdb","html_url":"https://github.com/christophdb","followers_url":"https://api.github.com/users/christophdb/followers","following_url":"https://api.github.com/users/christophdb/following{/other_user}","gists_url":"https://api.github.com/users/christophdb/gists{/gist_id}","starred_url":"https://api.github.com/users/christophdb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christophdb/subscriptions","organizations_url":"https://api.github.com/users/christophdb/orgs","repos_url":"https://api.github.com/users/christophdb/repos","events_url":"https://api.github.com/users/christophdb/events{/privacy}","received_events_url":"https://api.github.com/users/christophdb/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-08-29T22:40:11Z","updated_at":"2016-08-30T00:07:26Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/fruux/sabre-dav/pulls/879","html_url":"https://github.com/fruux/sabre-dav/pull/879","diff_url":"https://github.com/fruux/sabre-dav/pull/879.diff","patch_url":"https://github.com/fruux/sabre-dav/pull/879.patch"},"body":"here is my LDAP authentification backend I am using with sabredav."},"comment":{"url":"https://api.github.com/repos/fruux/sabre-dav/issues/comments/243295071","html_url":"https://github.com/fruux/sabre-dav/pull/879#issuecomment-243295071","issue_url":"https://api.github.com/repos/fruux/sabre-dav/issues/879","id":243295071,"user":{"login":"evert","id":178960,"avatar_url":"https://avatars.githubusercontent.com/u/178960?v=3","gravatar_id":"","url":"https://api.github.com/users/evert","html_url":"https://github.com/evert","followers_url":"https://api.github.com/users/evert/followers","following_url":"https://api.github.com/users/evert/following{/other_user}","gists_url":"https://api.github.com/users/evert/gists{/gist_id}","starred_url":"https://api.github.com/users/evert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evert/subscriptions","organizations_url":"https://api.github.com/users/evert/orgs","repos_url":"https://api.github.com/users/evert/repos","events_url":"https://api.github.com/users/evert/events{/privacy}","received_events_url":"https://api.github.com/users/evert/received_events","type":"User","site_admin":false},"created_at":"2016-08-30T00:07:26Z","updated_at":"2016-08-30T00:07:26Z","body":"I'm adding a list of in-line comments soon, but the main thing that is missing from this PR is unittests.\r\n\r\nI would love to see you wrap all the `ldap_` functions you're using in a separate class. A class that would look something like :\r\n\r\n```php\r\n\r\nclass LdapClient {\r\n\r\n   function connect();\r\n   function bind();\r\n   function search();\r\n\r\n}\r\n```\r\n\r\nCreating a class such as that allows you to mock it in unittest, allowing you to verify if you're correctly handling various outputs and errors.\r\n\r\nI'm not asking you to write it if you don't feel like it, but it's important to merge the PR (and get the bounty, if you care for that). No tests = no merge.\r\n\r\n\r\n\r\n   \r\n\r\n}"}}
{"actor":{"display_login":"evert"}}