def process_view(self, request, view_func, view_args, view_kwargs): """ Sets request.fs and request.jt on every request to point to the configured filesystem. """ has_hadoop = apputil.has_hadoop() fs_ref = request.GET.get("fs", request.POST.get("fs", view_kwargs.get("fs"))) if "fs" in view_kwargs: del view_kwargs["fs"] if not fs_ref: fs_ref = "default" try: request.fs = fsmanager.get_filesystem(fs_ref) request.fs_ref = fs_ref except KeyError: if fs_ref == "default" and not has_hadoop: request.fs = None else: raise if request.user.is_authenticated() and request.fs is not None: request.fs.setuser(request.user.username, request.user.get_groups()) if request.user.is_authenticated() and has_hadoop: request.jt = cluster.get_mrcluster() if request.jt is not None: request.jt.setuser(request.user.username, request.user.get_groups()) else: request.jt = None
def test_non_default_cluster(): NON_DEFAULT_NAME = 'non_default' cluster.clear_caches() reset = ( conf.HDFS_CLUSTERS.set_for_testing({NON_DEFAULT_NAME: {}}), conf.MR_CLUSTERS.set_for_testing({NON_DEFAULT_NAME: {}}), ) try: # This is indeed the only hdfs/mr cluster assert_equal(1, len(cluster.get_all_hdfs())) assert_equal(1, len(cluster.all_mrclusters())) assert_true(cluster.get_hdfs(NON_DEFAULT_NAME)) assert_true(cluster.get_mrcluster(NON_DEFAULT_NAME)) cli = make_logged_in_client() # That we can get to a view without errors means that the middlewares work cli.get('/about') finally: for old_conf in reset: old_conf()
def test_non_default_cluster(): NON_DEFAULT_NAME = 'non_default' cluster.clear_caches() reset = ( conf.HDFS_CLUSTERS.set_for_testing({ NON_DEFAULT_NAME: { } }), conf.MR_CLUSTERS.set_for_testing({ NON_DEFAULT_NAME: { } }), ) try: # This is indeed the only hdfs/mr cluster assert_equal(1, len(cluster.get_all_hdfs())) assert_equal(1, len(cluster.all_mrclusters())) assert_true(cluster.get_hdfs(NON_DEFAULT_NAME)) assert_true(cluster.get_mrcluster(NON_DEFAULT_NAME)) cli = make_logged_in_client() # That we can get to a view without errors means that the middlewares work cli.get('/about') finally: for old_conf in reset: old_conf()