1010
1111def test_receive_when_source_not_in_post_data (test_target ):
1212 request = Mock ()
13- request .method = ' POST'
14- request .POST = {' target' : test_target }
13+ request .method = " POST"
14+ request .POST = {" target" : test_target }
1515
1616 response = receive (request )
1717
1818 assert isinstance (response , HttpResponseBadRequest )
1919
20+
2021def test_receive_when_target_not_in_post_data (test_source ):
2122 request = Mock ()
22- request .method = ' POST'
23- request .POST = {' source' : test_source }
23+ request .method = " POST"
24+ request .POST = {" source" : test_source }
2425
2526 response = receive (request )
2627
2728 assert isinstance (response , HttpResponseBadRequest )
2829
29- @patch ('webmention.views.url_resolves' )
30+
31+ @patch ("webmention.views.url_resolves" )
3032def test_receive_when_target_does_not_resolve (mock_url_resolves , test_source , test_target ):
3133 request = Mock ()
32- request .method = ' POST'
33- request .POST = {' source' : test_source , ' target' : test_target }
34+ request .method = " POST"
35+ request .POST = {" source" : test_source , " target" : test_target }
3436
3537 mock_url_resolves .return_value = False
3638 response = receive (request )
3739
3840 mock_url_resolves .assert_called_once_with (test_target )
3941 assert isinstance (response , HttpResponseBadRequest )
4042
43+
4144@pytest .mark .django_db
42- @patch (' webmention.views.WebMentionResponse.update' )
43- @patch (' webmention.views.fetch_and_validate_source' )
44- @patch (' webmention.views.url_resolves' )
45+ @patch (" webmention.views.WebMentionResponse.update" )
46+ @patch (" webmention.views.fetch_and_validate_source" )
47+ @patch (" webmention.views.url_resolves" )
4548def test_receive_happy_path (mock_url_resolves , mock_fetch_and_validate_source , mock_update , test_source , test_target ):
4649 request = Mock ()
47- request .method = ' POST'
48- request .POST = {' source' : test_source , ' target' : test_target }
50+ request .method = " POST"
51+ request .POST = {" source" : test_source , " target" : test_target }
4952
5053 mock_url_resolves .return_value = True
51- mock_fetch_and_validate_source .return_value = ' foo'
54+ mock_fetch_and_validate_source .return_value = " foo"
5255 response = receive (request )
5356
5457 mock_fetch_and_validate_source .assert_called_once_with (test_source , test_target )
5558 mock_update .assert_called_once_with (test_source , test_target , mock_fetch_and_validate_source .return_value )
5659 mock_url_resolves .assert_called_once_with (test_target )
5760 assert isinstance (response , HttpResponse )
5861
62+
5963@pytest .mark .django_db
60- @patch ('webmention.views.WebMentionResponse.invalidate' )
61- @patch ('webmention.views.fetch_and_validate_source' )
62- @patch ('webmention.views.url_resolves' )
63- def test_receive_when_source_unavailable (mock_url_resolves , mock_fetch_and_validate_source , mock_invalidate , test_source , test_target ):
64+ @patch ("webmention.views.WebMentionResponse.invalidate" )
65+ @patch ("webmention.views.fetch_and_validate_source" )
66+ @patch ("webmention.views.url_resolves" )
67+ def test_receive_when_source_unavailable (
68+ mock_url_resolves , mock_fetch_and_validate_source , mock_invalidate , test_source , test_target
69+ ):
6470 request = Mock ()
65- request .method = ' POST'
66- request .POST = {' source' : test_source , ' target' : test_target }
71+ request .method = " POST"
72+ request .POST = {" source" : test_source , " target" : test_target }
6773
6874 mock_url_resolves .return_value = True
6975 mock_fetch_and_validate_source .side_effect = SourceFetchError
@@ -74,14 +80,17 @@ def test_receive_when_source_unavailable(mock_url_resolves, mock_fetch_and_valid
7480 assert mock_invalidate .call_count == 1
7581 assert isinstance (response , HttpResponseBadRequest )
7682
83+
7784@pytest .mark .django_db
78- @patch ('webmention.views.WebMentionResponse.invalidate' )
79- @patch ('webmention.views.fetch_and_validate_source' )
80- @patch ('webmention.views.url_resolves' )
81- def test_receive_when_source_does_not_contain_target (mock_url_resolves , mock_fetch_and_validate_source , mock_invalidate , test_source , test_target ):
85+ @patch ("webmention.views.WebMentionResponse.invalidate" )
86+ @patch ("webmention.views.fetch_and_validate_source" )
87+ @patch ("webmention.views.url_resolves" )
88+ def test_receive_when_source_does_not_contain_target (
89+ mock_url_resolves , mock_fetch_and_validate_source , mock_invalidate , test_source , test_target
90+ ):
8291 request = Mock ()
83- request .method = ' POST'
84- request .POST = {' source' : test_source , ' target' : test_target }
92+ request .method = " POST"
93+ request .POST = {" source" : test_source , " target" : test_target }
8594
8695 mock_url_resolves .return_value = True
8796 mock_fetch_and_validate_source .side_effect = TargetNotFoundError
@@ -92,13 +101,16 @@ def test_receive_when_source_does_not_contain_target(mock_url_resolves, mock_fet
92101 assert mock_invalidate .call_count == 1
93102 assert isinstance (response , HttpResponseBadRequest )
94103
104+
95105@pytest .mark .django_db
96- @patch ('webmention.views.fetch_and_validate_source' )
97- @patch ('webmention.views.url_resolves' )
98- def test_receive_when_general_exception_occurs (mock_url_resolves , mock_fetch_and_validate_source , test_source , test_target ):
106+ @patch ("webmention.views.fetch_and_validate_source" )
107+ @patch ("webmention.views.url_resolves" )
108+ def test_receive_when_general_exception_occurs (
109+ mock_url_resolves , mock_fetch_and_validate_source , test_source , test_target
110+ ):
99111 request = Mock ()
100- request .method = ' POST'
101- request .POST = {' source' : test_source , ' target' : test_target }
112+ request .method = " POST"
113+ request .POST = {" source" : test_source , " target" : test_target }
102114
103115 mock_url_resolves .return_value = True
104116 mock_fetch_and_validate_source .side_effect = Exception
0 commit comments