{"action":"created","issue":{"url":"https://api.github.com/repos/pelias/admin-lookup/issues/3","labels_url":"https://api.github.com/repos/pelias/admin-lookup/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/pelias/admin-lookup/issues/3/comments","events_url":"https://api.github.com/repos/pelias/admin-lookup/issues/3/events","html_url":"https://github.com/pelias/admin-lookup/pull/3","id":58583812,"number":3,"title":"Multi process testing","user":{"login":"missinglink","id":738069,"avatar_url":"https://avatars.githubusercontent.com/u/738069?v=3","gravatar_id":"","url":"https://api.github.com/users/missinglink","html_url":"https://github.com/missinglink","followers_url":"https://api.github.com/users/missinglink/followers","following_url":"https://api.github.com/users/missinglink/following{/other_user}","gists_url":"https://api.github.com/users/missinglink/gists{/gist_id}","starred_url":"https://api.github.com/users/missinglink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/missinglink/subscriptions","organizations_url":"https://api.github.com/users/missinglink/orgs","repos_url":"https://api.github.com/users/missinglink/repos","events_url":"https://api.github.com/users/missinglink/events{/privacy}","received_events_url":"https://api.github.com/users/missinglink/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/pelias/admin-lookup/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-02-23T13:14:40Z","updated_at":"2015-02-23T15:23:34Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/pelias/admin-lookup/pulls/3","html_url":"https://github.com/pelias/admin-lookup/pull/3","diff_url":"https://github.com/pelias/admin-lookup/pull/3.diff","patch_url":"https://github.com/pelias/admin-lookup/pull/3.patch"},"body":"@sevko I spent some time looking in to the tests and trying to establish the quality of this lib.\r\n\r\nThe issue I have is that it is very time-consuming for obvious reasons, this PR adds the ability to send a `$ kill -SIGUSR1 {{pid}}` to signal the running process to reload the points data and re-run the queries.\r\n\r\nEven with this approach it is still very time consuming and I cannot easily review the quality of this lib without investing significant time of my own (probably at least 1 whole day).\r\n\r\nThe chicken/egg of this that we don't know the quality of the results so we can't merge it; we can't test the quality of the results because we can't easily add test cases, re-run the suite and compare `actual<>expected`.\r\n\r\nI would suggest spending some more time on a more scalable way of testing that could be re-used by a 3rd party developer in the future.\r\n\r\nFor me, a quality test suite would have the following qualities:\r\n\r\n1. Quick and easy to add tests and establish their individual validity\r\n2. Handles the laborious and error-prone task of comparing `actual<>expected`\r\n\r\nWe also discussed in the past that this sort of testing could be handled on the meta-level by some wide-reaching functional tests.\r\n\r\nI would love to see this lib spun-off as a micro-service and can see it being very popular in a wide range of applications, with external contributions by smart developers in influential organisations.\r\n\r\nFor that reason I personally believe it should be able to stand on it's own, and provide it's own proof of quality.\r\n\r\nYour thoughts?"},"comment":{"url":"https://api.github.com/repos/pelias/admin-lookup/issues/comments/75563310","html_url":"https://github.com/pelias/admin-lookup/pull/3#issuecomment-75563310","issue_url":"https://api.github.com/repos/pelias/admin-lookup/issues/3","id":75563310,"user":{"login":"sevko","id":4467604,"avatar_url":"https://avatars.githubusercontent.com/u/4467604?v=3","gravatar_id":"","url":"https://api.github.com/users/sevko","html_url":"https://github.com/sevko","followers_url":"https://api.github.com/users/sevko/followers","following_url":"https://api.github.com/users/sevko/following{/other_user}","gists_url":"https://api.github.com/users/sevko/gists{/gist_id}","starred_url":"https://api.github.com/users/sevko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sevko/subscriptions","organizations_url":"https://api.github.com/users/sevko/orgs","repos_url":"https://api.github.com/users/sevko/repos","events_url":"https://api.github.com/users/sevko/events{/privacy}","received_events_url":"https://api.github.com/users/sevko/received_events","type":"User","site_admin":false},"created_at":"2015-02-23T15:23:34Z","updated_at":"2015-02-23T15:23:34Z","body":"@missinglink and @dianashk quickly hashed this one out. I'll make the current testing method (which read points from a file and executes the lookup for each) more unit-testing like, such that it automatically compares actual and expected output and makes failures/successes easy to grok. Additionally, I'll throw in a dead-simple browser app running on top of a fully loaded admin-lookup, which will allow you to pan around a map, click, and receive lookup results for that point. Should make testing painless."}}