@@ -130,22 +130,31 @@ def testPathPrefix_mustStartWithSlash(self):
130130 self .assertIn (repr ("noslash" ), msg )
131131
132132
133- class CorePluginNoDataTest (tf .test .TestCase ):
133+ class CorePluginTest (tf .test .TestCase ):
134134 def setUp (self ):
135- super (CorePluginNoDataTest , self ).setUp ()
136- multiplexer = event_multiplexer .EventMultiplexer ()
137- logdir = self .get_temp_dir ()
138- provider = data_provider .MultiplexerDataProvider (multiplexer , logdir )
135+ super ().setUp ()
136+ self .multiplexer = event_multiplexer .EventMultiplexer ()
137+ self .logdir = self .get_temp_dir ()
138+ provider = data_provider .MultiplexerDataProvider (
139+ self .multiplexer , self .logdir
140+ )
139141 context = base_plugin .TBContext (
140142 assets_zip_provider = get_test_assets_zip_provider (),
141- logdir = logdir ,
143+ logdir = self . logdir ,
142144 data_provider = provider ,
143145 window_title = "title foo" ,
144146 )
145147 self .plugin = core_plugin .CorePlugin (context )
146148 app = application .TensorBoardWSGI ([self .plugin ])
147149 self .server = werkzeug_test .Client (app , wrappers .BaseResponse )
148150
151+ def _add_run (self , run_name ):
152+ run_path = os .path .join (self .logdir , run_name )
153+ with test_util .FileWriter (run_path ) as writer :
154+ writer .add_test_summary ("foo" )
155+ self .multiplexer .AddRunsFromDirectory (self .logdir )
156+ self .multiplexer .Reload ()
157+
149158 def _get_json (self , server , path ):
150159 response = server .get (path )
151160 self .assertEqual (200 , response .status_code )
@@ -172,6 +181,27 @@ def testIndex_returnsActualHtml(self):
172181 + FAKE_INDEX_HTML ,
173182 )
174183
184+ def test_js_no_cache (self ):
185+ response = self .server .get ("/index.js?foo=bar" )
186+ self .assertEqual (200 , response .status_code )
187+ self .assertEqual (
188+ NO_CACHE_CONTROL_VALUE , response .headers .get ("Cache-Control" )
189+ )
190+
191+ def test_js_cache (self ):
192+ response = self .server .get ("/index.js?_file_hash=meow" )
193+ self .assertEqual (200 , response .status_code )
194+ self .assertEqual (
195+ ONE_DAY_CACHE_CONTROL_VALUE , response .headers .get ("Cache-Control" )
196+ )
197+
198+ def test_html_no_cache (self ):
199+ response = self .server .get ("/index.html?_file_hash=meow" )
200+ self .assertEqual (200 , response .status_code )
201+ self .assertEqual (
202+ NO_CACHE_CONTROL_VALUE , response .headers .get ("Cache-Control" )
203+ )
204+
175205 def testDataPaths_disableAllCaching (self ):
176206 """Test the format of the /data/runs endpoint."""
177207 for path in ("/data/runs" , "/data/logdir" ):
@@ -190,45 +220,7 @@ def testEnvironmentForLogdir(self):
190220 parsed_object = self ._get_json (self .server , "/data/environment" )
191221 self .assertEqual (parsed_object ["data_location" ], self .get_temp_dir ())
192222
193- def testEnvironmentDebugOffByDefault (self ):
194- parsed_object = self ._get_json (self .server , "/data/environment" )
195- self .assertNotIn ("debug" , parsed_object )
196-
197- def testEnvironmentDebugOnExplicitly (self ):
198- multiplexer = event_multiplexer .EventMultiplexer ()
199- logdir = self .get_temp_dir ()
200- provider = data_provider .MultiplexerDataProvider (multiplexer , logdir )
201- context = base_plugin .TBContext (
202- assets_zip_provider = get_test_assets_zip_provider (),
203- logdir = logdir ,
204- data_provider = provider ,
205- window_title = "title foo" ,
206- )
207- plugin = core_plugin .CorePlugin (context , include_debug_info = True )
208- app = application .TensorBoardWSGI ([plugin ])
209- server = werkzeug_test .Client (app , wrappers .BaseResponse )
210-
211- parsed_object = self ._get_json (server , "/data/environment" )
212- self .assertIn ("debug" , parsed_object )
213-
214- def testLogdir (self ):
215- """Test the format of the data/logdir endpoint."""
216- parsed_object = self ._get_json (self .server , "/data/logdir" )
217- self .assertEqual (parsed_object , {"logdir" : self .get_temp_dir ()})
218-
219-
220- class CorePluginExperimentMetadataTest (tf .test .TestCase ):
221- def _get_json (self , server , path ):
222- response = server .get (path )
223- self .assertEqual (200 , response .status_code )
224- self .assertEqual (
225- "application/json" , response .headers .get ("Content-Type" )
226- )
227- return json .loads (response .get_data ().decode ("utf-8" ))
228-
229- def testGetEnvironmentDataWithExperimentMetadata (self ):
230- """Test environment route returns correct metadata about experiment."""
231-
223+ def testEnvironmentWithExperimentMetadata (self ):
232224 class FakeDataProvider (object ):
233225 def experiment_metadata (self , ctx , * , experiment_id ):
234226 del experiment_id # Unused.
@@ -259,41 +251,31 @@ def experiment_metadata(self, ctx, *, experiment_id):
259251 )
260252 self .assertEqual (parsed_object ["creation_time" ], 1234.5 )
261253
254+ def testEnvironmentDebugOffByDefault (self ):
255+ parsed_object = self ._get_json (self .server , "/data/environment" )
256+ self .assertNotIn ("debug" , parsed_object )
262257
263- class CorePluginTestBase (object ):
264- def setUp (self ):
265- super (CorePluginTestBase , self ).setUp ()
266- self .logdir = self .get_temp_dir ()
267- self .multiplexer = event_multiplexer .EventMultiplexer ()
268- provider = data_provider .MultiplexerDataProvider (
269- self .multiplexer , self .logdir
270- )
258+ def testEnvironmentDebugOnExplicitly (self ):
259+ multiplexer = event_multiplexer .EventMultiplexer ()
260+ logdir = self .get_temp_dir ()
261+ provider = data_provider .MultiplexerDataProvider (multiplexer , logdir )
271262 context = base_plugin .TBContext (
272263 assets_zip_provider = get_test_assets_zip_provider (),
273- logdir = self . logdir ,
264+ logdir = logdir ,
274265 data_provider = provider ,
266+ window_title = "title foo" ,
275267 )
276- self .plugin = core_plugin .CorePlugin (context )
277- app = application .TensorBoardWSGI ([self .plugin ])
278- self .server = werkzeug_test .Client (app , wrappers .BaseResponse )
279-
280- def create_multiplexer (self ):
281- raise NotImplementedError ()
268+ plugin = core_plugin .CorePlugin (context , include_debug_info = True )
269+ app = application .TensorBoardWSGI ([plugin ])
270+ server = werkzeug_test .Client (app , wrappers .BaseResponse )
282271
283- def _add_run (self , run_name ):
284- run_path = os .path .join (self .logdir , run_name )
285- with test_util .FileWriter (run_path ) as writer :
286- writer .add_test_summary ("foo" )
287- self .multiplexer .AddRunsFromDirectory (self .logdir )
288- self .multiplexer .Reload ()
272+ parsed_object = self ._get_json (server , "/data/environment" )
273+ self .assertIn ("debug" , parsed_object )
289274
290- def _get_json (self , server , path ):
291- response = server .get (path )
292- self .assertEqual (200 , response .status_code )
293- self .assertEqual (
294- "application/json" , response .headers .get ("Content-Type" )
295- )
296- return json .loads (response .get_data ().decode ("utf-8" ))
275+ def testLogdir (self ):
276+ """Test the format of the data/logdir endpoint."""
277+ parsed_object = self ._get_json (self .server , "/data/logdir" )
278+ self .assertEqual (parsed_object , {"logdir" : self .get_temp_dir ()})
297279
298280 def testRuns (self ):
299281 """Test the format of the /data/runs endpoint."""
@@ -374,45 +356,6 @@ def testNotifications(self):
374356 self .assertEqual (notifications_json , {"notifications" : []})
375357
376358
377- class CorePluginResourceTest (tf .test .TestCase ):
378- def setUp (self ):
379- super (CorePluginResourceTest , self ).setUp ()
380- self .logdir = self .get_temp_dir ()
381- self .multiplexer = event_multiplexer .EventMultiplexer ()
382- provider = data_provider .MultiplexerDataProvider (
383- self .multiplexer , self .logdir
384- )
385- context = base_plugin .TBContext (
386- assets_zip_provider = get_test_assets_zip_provider (),
387- logdir = self .logdir ,
388- data_provider = provider ,
389- )
390- self .plugin = core_plugin .CorePlugin (context )
391- app = application .TensorBoardWSGI ([self .plugin ])
392- self .server = werkzeug_test .Client (app , wrappers .BaseResponse )
393-
394- def test_js_no_cache (self ):
395- response = self .server .get ("/index.js?foo=bar" )
396- self .assertEqual (200 , response .status_code )
397- self .assertEqual (
398- NO_CACHE_CONTROL_VALUE , response .headers .get ("Cache-Control" )
399- )
400-
401- def test_js_cache (self ):
402- response = self .server .get ("/index.js?_file_hash=meow" )
403- self .assertEqual (200 , response .status_code )
404- self .assertEqual (
405- ONE_DAY_CACHE_CONTROL_VALUE , response .headers .get ("Cache-Control" )
406- )
407-
408- def test_html_no_cache (self ):
409- response = self .server .get ("/index.html?_file_hash=meow" )
410- self .assertEqual (200 , response .status_code )
411- self .assertEqual (
412- NO_CACHE_CONTROL_VALUE , response .headers .get ("Cache-Control" )
413- )
414-
415-
416359class CorePluginPathPrefixTest (tf .test .TestCase ):
417360 def _send_request (self , path_prefix , pathname ):
418361 multiplexer = event_multiplexer .EventMultiplexer ()
0 commit comments