{"action":"created","comment":{"url":"https://api.github.com/repos/incuna/django-user-management/pulls/comments/23546643","id":23546643,"diff_hunk":"@@ -96,3 +96,30 @@ def test_post_rate_limit(self):\n         # request is throttled\n         response = view(request)\n         self.assertEqual(response.status_code, status.HTTP_429_TOO_MANY_REQUESTS)\n+\n+\n+class TestResendConfirmationEmail(APIRequestTestCase):\n+    view_class = views.ResendConfirmationEmail\n+\n+    def tearDown(self):\n+        # DRF puts a successful (not throttled) request onto a cache","path":"user_management/api/tests/test_throttling.py","position":10,"original_position":10,"commit_id":"5ec447a1f9378a1940ea21741ea926880bf0e6fa","original_commit_id":"5ec447a1f9378a1940ea21741ea926880bf0e6fa","user":{"login":"Ian-Foote","id":1843202,"avatar_url":"https://avatars.githubusercontent.com/u/1843202?v=3","gravatar_id":"","url":"https://api.github.com/users/Ian-Foote","html_url":"https://github.com/Ian-Foote","followers_url":"https://api.github.com/users/Ian-Foote/followers","following_url":"https://api.github.com/users/Ian-Foote/following{/other_user}","gists_url":"https://api.github.com/users/Ian-Foote/gists{/gist_id}","starred_url":"https://api.github.com/users/Ian-Foote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ian-Foote/subscriptions","organizations_url":"https://api.github.com/users/Ian-Foote/orgs","repos_url":"https://api.github.com/users/Ian-Foote/repos","events_url":"https://api.github.com/users/Ian-Foote/events{/privacy}","received_events_url":"https://api.github.com/users/Ian-Foote/received_events","type":"User","site_admin":false},"body":"~~onto~~ into","created_at":"2015-01-26T17:17:08Z","updated_at":"2015-01-26T17:17:08Z","html_url":"https://github.com/incuna/django-user-management/pull/97#discussion_r23546643","pull_request_url":"https://api.github.com/repos/incuna/django-user-management/pulls/97","_links":{"self":{"href":"https://api.github.com/repos/incuna/django-user-management/pulls/comments/23546643"},"html":{"href":"https://github.com/incuna/django-user-management/pull/97#discussion_r23546643"},"pull_request":{"href":"https://api.github.com/repos/incuna/django-user-management/pulls/97"}}},"pull_request":{"url":"https://api.github.com/repos/incuna/django-user-management/pulls/97","id":28031511,"html_url":"https://github.com/incuna/django-user-management/pull/97","diff_url":"https://github.com/incuna/django-user-management/pull/97.diff","patch_url":"https://github.com/incuna/django-user-management/pull/97.patch","issue_url":"https://api.github.com/repos/incuna/django-user-management/issues/97","number":97,"state":"open","locked":false,"title":"Add a view to resend a confirmation email.","user":{"login":"KevinEtienne","id":22735,"avatar_url":"https://avatars.githubusercontent.com/u/22735?v=3","gravatar_id":"","url":"https://api.github.com/users/KevinEtienne","html_url":"https://github.com/KevinEtienne","followers_url":"https://api.github.com/users/KevinEtienne/followers","following_url":"https://api.github.com/users/KevinEtienne/following{/other_user}","gists_url":"https://api.github.com/users/KevinEtienne/gists{/gist_id}","starred_url":"https://api.github.com/users/KevinEtienne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KevinEtienne/subscriptions","organizations_url":"https://api.github.com/users/KevinEtienne/orgs","repos_url":"https://api.github.com/users/KevinEtienne/repos","events_url":"https://api.github.com/users/KevinEtienne/events{/privacy}","received_events_url":"https://api.github.com/users/KevinEtienne/received_events","type":"User","site_admin":false},"body":"If the link to confirm a registration hasn't been clicked after x days it\r\nbecomes invalid.\r\n\r\n- [x] If the email address does not exist then it should raise a validation error\r\n(about the email field).\r\n- [x] If the user is already validated / active then it should raise a validation\r\nerror (about the email field).\r\n- [x] If the user is is not validated / active then the system should generate and\r\nsend a new email validation link.\r\n- [x] Add a rate limit to the view like the password reset.","created_at":"2015-01-26T14:52:31Z","updated_at":"2015-01-26T17:17:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":"60e21d70e60b01833bf98e4e2818c1d39e373864","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/incuna/django-user-management/pulls/97/commits","review_comments_url":"https://api.github.com/repos/incuna/django-user-management/pulls/97/comments","review_comment_url":"https://api.github.com/repos/incuna/django-user-management/pulls/comments/{number}","comments_url":"https://api.github.com/repos/incuna/django-user-management/issues/97/comments","statuses_url":"https://api.github.com/repos/incuna/django-user-management/statuses/5ec447a1f9378a1940ea21741ea926880bf0e6fa","head":{"label":"incuna:add-resend-verification-email","ref":"add-resend-verification-email","sha":"5ec447a1f9378a1940ea21741ea926880bf0e6fa","user":{"login":"incuna","id":55510,"avatar_url":"https://avatars.githubusercontent.com/u/55510?v=3","gravatar_id":"","url":"https://api.github.com/users/incuna","html_url":"https://github.com/incuna","followers_url":"https://api.github.com/users/incuna/followers","following_url":"https://api.github.com/users/incuna/following{/other_user}","gists_url":"https://api.github.com/users/incuna/gists{/gist_id}","starred_url":"https://api.github.com/users/incuna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/incuna/subscriptions","organizations_url":"https://api.github.com/users/incuna/orgs","repos_url":"https://api.github.com/users/incuna/repos","events_url":"https://api.github.com/users/incuna/events{/privacy}","received_events_url":"https://api.github.com/users/incuna/received_events","type":"Organization","site_admin":false},"repo":{"id":16611943,"name":"django-user-management","full_name":"incuna/django-user-management","owner":{"login":"incuna","id":55510,"avatar_url":"https://avatars.githubusercontent.com/u/55510?v=3","gravatar_id":"","url":"https://api.github.com/users/incuna","html_url":"https://github.com/incuna","followers_url":"https://api.github.com/users/incuna/followers","following_url":"https://api.github.com/users/incuna/following{/other_user}","gists_url":"https://api.github.com/users/incuna/gists{/gist_id}","starred_url":"https://api.github.com/users/incuna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/incuna/subscriptions","organizations_url":"https://api.github.com/users/incuna/orgs","repos_url":"https://api.github.com/users/incuna/repos","events_url":"https://api.github.com/users/incuna/events{/privacy}","received_events_url":"https://api.github.com/users/incuna/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/incuna/django-user-management","description":"User management model mixins and api views.","fork":false,"url":"https://api.github.com/repos/incuna/django-user-management","forks_url":"https://api.github.com/repos/incuna/django-user-management/forks","keys_url":"https://api.github.com/repos/incuna/django-user-management/keys{/key_id}","collaborators_url":"https://api.github.com/repos/incuna/django-user-management/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/incuna/django-user-management/teams","hooks_url":"https://api.github.com/repos/incuna/django-user-management/hooks","issue_events_url":"https://api.github.com/repos/incuna/django-user-management/issues/events{/number}","events_url":"https://api.github.com/repos/incuna/django-user-management/events","assignees_url":"https://api.github.com/repos/incuna/django-user-management/assignees{/user}","branches_url":"https://api.github.com/repos/incuna/django-user-management/branches{/branch}","tags_url":"https://api.github.com/repos/incuna/django-user-management/tags","blobs_url":"https://api.github.com/repos/incuna/django-user-management/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/incuna/django-user-management/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/incuna/django-user-management/git/refs{/sha}","trees_url":"https://api.github.com/repos/incuna/django-user-management/git/trees{/sha}","statuses_url":"https://api.github.com/repos/incuna/django-user-management/statuses/{sha}","languages_url":"https://api.github.com/repos/incuna/django-user-management/languages","stargazers_url":"https://api.github.com/repos/incuna/django-user-management/stargazers","contributors_url":"https://api.github.com/repos/incuna/django-user-management/contributors","subscribers_url":"https://api.github.com/repos/incuna/django-user-management/subscribers","subscription_url":"https://api.github.com/repos/incuna/django-user-management/subscription","commits_url":"https://api.github.com/repos/incuna/django-user-management/commits{/sha}","git_commits_url":"https://api.github.com/repos/incuna/django-user-management/git/commits{/sha}","comments_url":"https://api.github.com/repos/incuna/django-user-management/comments{/number}","issue_comment_url":"https://api.github.com/repos/incuna/django-user-management/issues/comments/{number}","contents_url":"https://api.github.com/repos/incuna/django-user-management/contents/{+path}","compare_url":"https://api.github.com/repos/incuna/django-user-management/compare/{base}...{head}","merges_url":"https://api.github.com/repos/incuna/django-user-management/merges","archive_url":"https://api.github.com/repos/incuna/django-user-management/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/incuna/django-user-management/downloads","issues_url":"https://api.github.com/repos/incuna/django-user-management/issues{/number}","pulls_url":"https://api.github.com/repos/incuna/django-user-management/pulls{/number}","milestones_url":"https://api.github.com/repos/incuna/django-user-management/milestones{/number}","notifications_url":"https://api.github.com/repos/incuna/django-user-management/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/incuna/django-user-management/labels{/name}","releases_url":"https://api.github.com/repos/incuna/django-user-management/releases{/id}","created_at":"2014-02-07T10:52:02Z","updated_at":"2015-01-23T17:30:20Z","pushed_at":"2015-01-26T17:03:05Z","git_url":"git://github.com/incuna/django-user-management.git","ssh_url":"git@github.com:incuna/django-user-management.git","clone_url":"https://github.com/incuna/django-user-management.git","svn_url":"https://github.com/incuna/django-user-management","homepage":"","size":1574,"stargazers_count":17,"watchers_count":17,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":8,"forks":6,"open_issues":8,"watchers":17,"default_branch":"master"}},"base":{"label":"incuna:master","ref":"master","sha":"96e664e4c415bbbb38530bea9da0b60a4836539e","user":{"login":"incuna","id":55510,"avatar_url":"https://avatars.githubusercontent.com/u/55510?v=3","gravatar_id":"","url":"https://api.github.com/users/incuna","html_url":"https://github.com/incuna","followers_url":"https://api.github.com/users/incuna/followers","following_url":"https://api.github.com/users/incuna/following{/other_user}","gists_url":"https://api.github.com/users/incuna/gists{/gist_id}","starred_url":"https://api.github.com/users/incuna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/incuna/subscriptions","organizations_url":"https://api.github.com/users/incuna/orgs","repos_url":"https://api.github.com/users/incuna/repos","events_url":"https://api.github.com/users/incuna/events{/privacy}","received_events_url":"https://api.github.com/users/incuna/received_events","type":"Organization","site_admin":false},"repo":{"id":16611943,"name":"django-user-management","full_name":"incuna/django-user-management","owner":{"login":"incuna","id":55510,"avatar_url":"https://avatars.githubusercontent.com/u/55510?v=3","gravatar_id":"","url":"https://api.github.com/users/incuna","html_url":"https://github.com/incuna","followers_url":"https://api.github.com/users/incuna/followers","following_url":"https://api.github.com/users/incuna/following{/other_user}","gists_url":"https://api.github.com/users/incuna/gists{/gist_id}","starred_url":"https://api.github.com/users/incuna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/incuna/subscriptions","organizations_url":"https://api.github.com/users/incuna/orgs","repos_url":"https://api.github.com/users/incuna/repos","events_url":"https://api.github.com/users/incuna/events{/privacy}","received_events_url":"https://api.github.com/users/incuna/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/incuna/django-user-management","description":"User management model mixins and api views.","fork":false,"url":"https://api.github.com/repos/incuna/django-user-management","forks_url":"https://api.github.com/repos/incuna/django-user-management/forks","keys_url":"https://api.github.com/repos/incuna/django-user-management/keys{/key_id}","collaborators_url":"https://api.github.com/repos/incuna/django-user-management/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/incuna/django-user-management/teams","hooks_url":"https://api.github.com/repos/incuna/django-user-management/hooks","issue_events_url":"https://api.github.com/repos/incuna/django-user-management/issues/events{/number}","events_url":"https://api.github.com/repos/incuna/django-user-management/events","assignees_url":"https://api.github.com/repos/incuna/django-user-management/assignees{/user}","branches_url":"https://api.github.com/repos/incuna/django-user-management/branches{/branch}","tags_url":"https://api.github.com/repos/incuna/django-user-management/tags","blobs_url":"https://api.github.com/repos/incuna/django-user-management/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/incuna/django-user-management/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/incuna/django-user-management/git/refs{/sha}","trees_url":"https://api.github.com/repos/incuna/django-user-management/git/trees{/sha}","statuses_url":"https://api.github.com/repos/incuna/django-user-management/statuses/{sha}","languages_url":"https://api.github.com/repos/incuna/django-user-management/languages","stargazers_url":"https://api.github.com/repos/incuna/django-user-management/stargazers","contributors_url":"https://api.github.com/repos/incuna/django-user-management/contributors","subscribers_url":"https://api.github.com/repos/incuna/django-user-management/subscribers","subscription_url":"https://api.github.com/repos/incuna/django-user-management/subscription","commits_url":"https://api.github.com/repos/incuna/django-user-management/commits{/sha}","git_commits_url":"https://api.github.com/repos/incuna/django-user-management/git/commits{/sha}","comments_url":"https://api.github.com/repos/incuna/django-user-management/comments{/number}","issue_comment_url":"https://api.github.com/repos/incuna/django-user-management/issues/comments/{number}","contents_url":"https://api.github.com/repos/incuna/django-user-management/contents/{+path}","compare_url":"https://api.github.com/repos/incuna/django-user-management/compare/{base}...{head}","merges_url":"https://api.github.com/repos/incuna/django-user-management/merges","archive_url":"https://api.github.com/repos/incuna/django-user-management/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/incuna/django-user-management/downloads","issues_url":"https://api.github.com/repos/incuna/django-user-management/issues{/number}","pulls_url":"https://api.github.com/repos/incuna/django-user-management/pulls{/number}","milestones_url":"https://api.github.com/repos/incuna/django-user-management/milestones{/number}","notifications_url":"https://api.github.com/repos/incuna/django-user-management/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/incuna/django-user-management/labels{/name}","releases_url":"https://api.github.com/repos/incuna/django-user-management/releases{/id}","created_at":"2014-02-07T10:52:02Z","updated_at":"2015-01-23T17:30:20Z","pushed_at":"2015-01-26T17:03:05Z","git_url":"git://github.com/incuna/django-user-management.git","ssh_url":"git@github.com:incuna/django-user-management.git","clone_url":"https://github.com/incuna/django-user-management.git","svn_url":"https://github.com/incuna/django-user-management","homepage":"","size":1574,"stargazers_count":17,"watchers_count":17,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":8,"forks":6,"open_issues":8,"watchers":17,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/incuna/django-user-management/pulls/97"},"html":{"href":"https://github.com/incuna/django-user-management/pull/97"},"issue":{"href":"https://api.github.com/repos/incuna/django-user-management/issues/97"},"comments":{"href":"https://api.github.com/repos/incuna/django-user-management/issues/97/comments"},"review_comments":{"href":"https://api.github.com/repos/incuna/django-user-management/pulls/97/comments"},"review_comment":{"href":"https://api.github.com/repos/incuna/django-user-management/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/incuna/django-user-management/pulls/97/commits"},"statuses":{"href":"https://api.github.com/repos/incuna/django-user-management/statuses/5ec447a1f9378a1940ea21741ea926880bf0e6fa"}}}}