@@ -89,10 +89,17 @@ def _get_response_dict(self, view_name, filepath=None):
89
89
return json .load (open (filename ))
90
90
91
91
def _normalize_datetime_fields (self , obj ):
92
- obj ["projects" ]["current" ]["created" ] = "2019-04-29T10:00:00Z"
93
- obj ["projects" ]["current" ]["modified" ] = "2019-04-29T12:00:00Z"
94
- obj ["builds" ]["current" ]["created" ] = "2019-04-29T10:00:00Z"
95
- obj ["builds" ]["current" ]["finished" ] = "2019-04-29T10:01:00Z"
92
+ try :
93
+ obj ["projects" ]["current" ]["created" ] = "2019-04-29T10:00:00Z"
94
+ obj ["projects" ]["current" ]["modified" ] = "2019-04-29T12:00:00Z"
95
+ except :
96
+ pass
97
+
98
+ try :
99
+ obj ["builds" ]["current" ]["created" ] = "2019-04-29T10:00:00Z"
100
+ obj ["builds" ]["current" ]["finished" ] = "2019-04-29T10:01:00Z"
101
+ except :
102
+ pass
96
103
return obj
97
104
98
105
def test_get_config_v1 (self ):
@@ -727,6 +734,33 @@ def test_send_project_version_slugs_and_url(self):
727
734
"v1"
728
735
)
729
736
737
+ def test_send_project_slug_and_notfound_version_slug (self ):
738
+ r = self .client .get (
739
+ reverse ("proxito_readthedocs_docs_addons" ),
740
+ {
741
+ "api-version" : "1.0.0" ,
742
+ "client-version" : "0.6.0" ,
743
+ "project-slug" : self .project .slug ,
744
+ "version-slug" : "not-found" ,
745
+ },
746
+ secure = True ,
747
+ headers = {
748
+ "host" : "project.dev.readthedocs.io" ,
749
+ },
750
+ )
751
+ assert r .status_code == 200
752
+
753
+ expected_response = self ._get_response_dict ("v1" )
754
+
755
+ # Since there is no version, there are some fields that we need to change from the default response
756
+ del expected_response ["addons" ]["doc_diff" ]
757
+ expected_response ["builds" ]["current" ] = None
758
+ expected_response ["versions" ]["current" ] = None
759
+ expected_response ["readthedocs" ]["resolver" ]["filename" ] = None
760
+ expected_response ["addons" ]["search" ]["default_filter" ] = f"project:{ self .project .slug } "
761
+ assert self ._normalize_datetime_fields (r .json ()) == expected_response
762
+
763
+
730
764
def test_custom_domain_url (self ):
731
765
fixture .get (
732
766
Domain ,
0 commit comments