{"action":"created","issue":{"url":"https://api.github.com/repos/Metaswitch/calico/issues/568","labels_url":"https://api.github.com/repos/Metaswitch/calico/issues/568/labels{/name}","comments_url":"https://api.github.com/repos/Metaswitch/calico/issues/568/comments","events_url":"https://api.github.com/repos/Metaswitch/calico/issues/568/events","html_url":"https://github.com/Metaswitch/calico/pull/568","id":78205216,"number":568,"title":"Validate and canonicalise IPs and MACs at validation time.","user":{"login":"fasaxc","id":469264,"avatar_url":"https://avatars.githubusercontent.com/u/469264?v=3","gravatar_id":"","url":"https://api.github.com/users/fasaxc","html_url":"https://github.com/fasaxc","followers_url":"https://api.github.com/users/fasaxc/followers","following_url":"https://api.github.com/users/fasaxc/following{/other_user}","gists_url":"https://api.github.com/users/fasaxc/gists{/gist_id}","starred_url":"https://api.github.com/users/fasaxc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fasaxc/subscriptions","organizations_url":"https://api.github.com/users/fasaxc/orgs","repos_url":"https://api.github.com/users/fasaxc/repos","events_url":"https://api.github.com/users/fasaxc/events{/privacy}","received_events_url":"https://api.github.com/users/fasaxc/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Metaswitch/calico/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/Metaswitch/calico/labels/felix","name":"felix","color":"5319e7"}],"state":"open","locked":false,"assignee":{"login":"plwhite","id":8448749,"avatar_url":"https://avatars.githubusercontent.com/u/8448749?v=3","gravatar_id":"","url":"https://api.github.com/users/plwhite","html_url":"https://github.com/plwhite","followers_url":"https://api.github.com/users/plwhite/followers","following_url":"https://api.github.com/users/plwhite/following{/other_user}","gists_url":"https://api.github.com/users/plwhite/gists{/gist_id}","starred_url":"https://api.github.com/users/plwhite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plwhite/subscriptions","organizations_url":"https://api.github.com/users/plwhite/orgs","repos_url":"https://api.github.com/users/plwhite/repos","events_url":"https://api.github.com/users/plwhite/events{/privacy}","received_events_url":"https://api.github.com/users/plwhite/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/Metaswitch/calico/milestones/7","html_url":"https://github.com/Metaswitch/calico/milestones/0.21","labels_url":"https://api.github.com/repos/Metaswitch/calico/milestones/7/labels","id":1106345,"number":7,"title":"0.21","description":"","creator":{"login":"Lukasa","id":1382556,"avatar_url":"https://avatars.githubusercontent.com/u/1382556?v=3","gravatar_id":"","url":"https://api.github.com/users/Lukasa","html_url":"https://github.com/Lukasa","followers_url":"https://api.github.com/users/Lukasa/followers","following_url":"https://api.github.com/users/Lukasa/following{/other_user}","gists_url":"https://api.github.com/users/Lukasa/gists{/gist_id}","starred_url":"https://api.github.com/users/Lukasa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Lukasa/subscriptions","organizations_url":"https://api.github.com/users/Lukasa/orgs","repos_url":"https://api.github.com/users/Lukasa/repos","events_url":"https://api.github.com/users/Lukasa/events{/privacy}","received_events_url":"https://api.github.com/users/Lukasa/received_events","type":"User","site_admin":false},"open_issues":15,"closed_issues":8,"state":"open","created_at":"2015-05-12T09:00:25Z","updated_at":"2015-05-19T18:42:36Z","due_on":"2015-05-24T23:00:00Z","closed_at":null},"comments":1,"created_at":"2015-05-19T18:42:23Z","updated_at":"2015-05-19T18:45:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Metaswitch/calico/pulls/568","html_url":"https://github.com/Metaswitch/calico/pull/568","diff_url":"https://github.com/Metaswitch/calico/pull/568.diff","patch_url":"https://github.com/Metaswitch/calico/pull/568.patch"},"body":"Add UT for validation, fix various minor issues found while\r\nadding UT."},"comment":{"url":"https://api.github.com/repos/Metaswitch/calico/issues/comments/103628071","html_url":"https://github.com/Metaswitch/calico/pull/568#issuecomment-103628071","issue_url":"https://api.github.com/repos/Metaswitch/calico/issues/568","id":103628071,"user":{"login":"fasaxc","id":469264,"avatar_url":"https://avatars.githubusercontent.com/u/469264?v=3","gravatar_id":"","url":"https://api.github.com/users/fasaxc","html_url":"https://github.com/fasaxc","followers_url":"https://api.github.com/users/fasaxc/followers","following_url":"https://api.github.com/users/fasaxc/following{/other_user}","gists_url":"https://api.github.com/users/fasaxc/gists{/gist_id}","starred_url":"https://api.github.com/users/fasaxc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fasaxc/subscriptions","organizations_url":"https://api.github.com/users/fasaxc/orgs","repos_url":"https://api.github.com/users/fasaxc/repos","events_url":"https://api.github.com/users/fasaxc/events{/privacy}","received_events_url":"https://api.github.com/users/fasaxc/received_events","type":"User","site_admin":false},"created_at":"2015-05-19T18:45:16Z","updated_at":"2015-05-19T18:45:16Z","body":"@plwhite I stripped out the canonicalisation part of my #529 PR and beefed up the UTs to test all the failure cases.  That helped me find some genuine bugs (usually where we validate x is not None but then access x anyway further down to validate its value).\r\n\r\nI think you've got another PR in play to do the ID validation?"}}