def test_dump_config(): c = make_logged_in_client() CANARY = "abracadabra" # Depending on the order of the conf.initialize() in settings, the set_for_testing() are not seen in the global settings variable clear = HIVE_SERVER_HOST.set_for_testing(CANARY) response1 = c.get(reverse('desktop.views.dump_config')) assert_true(CANARY in response1.content, response1.content) response2 = c.get(reverse('desktop.views.dump_config'), dict(private="true")) assert_true(CANARY in response2.content) # There are more private variables... assert_true(len(response1.content) < len(response2.content)) clear() CANARY = "(localhost|127\.0\.0\.1):(50030|50070|50060|50075)" clear = proxy.conf.WHITELIST.set_for_testing(CANARY) response1 = c.get(reverse('desktop.views.dump_config')) assert_true(CANARY in response1.content) clear() # Malformed port per HUE-674 CANARY = "asdfoijaoidfjaosdjffjfjaoojosjfiojdosjoidjfoa" clear = HIVE_SERVER_HOST.set_for_testing(CANARY) response1 = c.get(reverse('desktop.views.dump_config')) assert_true(CANARY in response1.content, response1.content) clear() CANARY = '/tmp/spacé.dat' finish = proxy.conf.WHITELIST.set_for_testing(CANARY) try: response = c.get(reverse('desktop.views.dump_config')) assert_true(CANARY in response.content, response.content) finally: finish() # Not showing some passwords response = c.get(reverse('desktop.views.dump_config')) assert_false('bind_password' in response.content) # Login as someone else client_not_me = make_logged_in_client(username='******', is_superuser=False, groupname='test') grant_access("not_me", "test", "desktop") response = client_not_me.get(reverse('desktop.views.dump_config')) assert_true("You must be a superuser" in response.content, response.content) os.environ["HUE_CONF_DIR"] = "/tmp/test_hue_conf_dir" resp = c.get(reverse('desktop.views.dump_config')) del os.environ["HUE_CONF_DIR"] assert_true('/tmp/test_hue_conf_dir' in resp.content, resp)
def test_dump_config(): c = make_logged_in_client() CANARY = "abracadabra" # Depending on the order of the conf.initialize() in settings, the set_for_testing() are not seen in the global settings variable clear = HIVE_SERVER_HOST.set_for_testing(CANARY) response1 = c.get(reverse('desktop.views.dump_config')) assert_true(CANARY in response1.content, response1.content) response2 = c.get(reverse('desktop.views.dump_config'), dict(private="true")) assert_true(CANARY in response2.content) # There are more private variables... assert_true(len(response1.content) < len(response2.content)) clear() CANARY = "(localhost|127\.0\.0\.1):(50030|50070|50060|50075)" clear = proxy.conf.WHITELIST.set_for_testing(CANARY) response1 = c.get(reverse('desktop.views.dump_config')) assert_true(CANARY in response1.content) clear() # Malformed port per HUE-674 CANARY = "asdfoijaoidfjaosdjffjfjaoojosjfiojdosjoidjfoa" clear = HIVE_SERVER_HOST.set_for_testing(CANARY) response1 = c.get(reverse('desktop.views.dump_config')) assert_true(CANARY in response1.content, response1.content) clear() CANARY = '/tmp/spacé.dat' finish = proxy.conf.WHITELIST.set_for_testing(CANARY) try: response = c.get(reverse('desktop.views.dump_config')) assert_true(CANARY in response.content, response.content) finally: finish() # Not showing some passwords response = c.get(reverse('desktop.views.dump_config')) assert_false('bind_password' in response.content) # Login as someone else client_not_me = make_logged_in_client(username='******', is_superuser=False, groupname='test') grant_access("not_me", "test", "desktop") response = client_not_me.get(reverse('desktop.views.dump_config')) assert_true("You must be a superuser" in response.content, response.content) os.environ["HUE_CONF_DIR"] = "/tmp/test_hue_conf_dir" resp = c.get(reverse('desktop.views.dump_config')) del os.environ["HUE_CONF_DIR"] assert_true('/tmp/test_hue_conf_dir' in resp.content, resp)
def test_get_hue_config(self): client = make_logged_in_client(username="******", groupname="default", recreate=True, is_superuser=True) user = User.objects.get(username="******") grant_access(user.username, user.username, "desktop") response = client.get('/desktop/api2/get_hue_config', data={}) # It should have multiple config sections in json config = json.loads(response.content)['config'] assert_true(len(config) > 1) # It should only allow superusers client_not_me = make_logged_in_client(username='******', is_superuser=False, groupname='test') grant_access("not_me", "test", "desktop") response = client_not_me.get('/desktop/api2/get_hue_config', data={}) assert_true(b"You must be a superuser" in response.content, response.content) # It should contain a config parameter CANARY = b"abracadabra" clear = HIVE_SERVER_HOST.set_for_testing(CANARY) try: response = client.get('/desktop/api2/get_hue_config', data={}) assert_true(CANARY in response.content, response.content) finally: clear()