def test_compile_warns_on_missing_rule(self): app = Flask('missing_rule') make_static = MakeStatic(app) with catch_warnings(record=True) as warnings: make_static.compile() self.assertEqual(len(warnings), 1) self.assertTrue(issubclass(warnings[-1].category, RuleMissing)) self.assertEqual(str(warnings[-1].message), 'cannot find a rule for foo.css')
def make_static(self, import_name, config=None): app = Flask(import_name) if config is not None: app.config.update(config) make_static = MakeStatic(app) watcher = make_static.watch(sleep=0.01) try: yield app, make_static finally: watcher.stop()
def make_static_in_app_context(self, import_name, config=None): app = Flask(import_name) if config is not None: app.config.update(config) make_static = MakeStatic() make_static.init_app(app) with app.app_context(): watcher = make_static.watch(sleep=0.01) try: yield app, make_static finally: watcher.stop()
def test_compile(self): app = Flask('working') make_static = MakeStatic(app) make_static.compile() # ensure that app is not patched and assets are not compiled on demand app = Flask('working') client = app.test_client() with closing(client.get('/static/foo')) as response: self.assertEqual(response.status_code, 200) with closing(client.get('/static/spam')) as response: self.assertEqual(response.status_code, 200) with closing(client.get('/static/bar')) as response: self.assertEqual(response.status_code, 200) self.assertEqual(response.data, b'abc\ndef\n') with closing(client.get('/static/eggs.css')) as response: self.assertEqual(response.status_code, 200)
def test_compile_factory_pattern_without_app_context(self): app = Flask('working') make_static = MakeStatic() make_static.init_app(app) self.assertRaises(RuntimeError, make_static.compile)