示例#1
0
def test_pulsar_config_builder_override_app_yaml():
    with temp_directory() as mock_root:
        app_yaml_path = join(mock_root, "new_app.yml")
        __write_mock_ini(join(mock_root, "server.ini"), extra="app_config=%s" % app_yaml_path)
        open(app_yaml_path, "w").write("foo: bar2")
        config = daemon.PulsarConfigBuilder(pulsar_root=mock_root)
        assert config.load()["foo"] == "bar2"
示例#2
0
def test_pulsar_config_builder_override_app_yaml():
    with temp_directory() as mock_root:
        app_yaml_path = join(mock_root, "new_app.yml")
        __write_mock_ini(join(mock_root, "server.ini"), extra="app_config=%s" % app_yaml_path)
        open(app_yaml_path, "w").write("foo: bar2")
        config = main.PulsarConfigBuilder(config_dir=mock_root)
        assert config.load()["foo"] == "bar2"
示例#3
0
def test_private_token():
    with temp_directory() as project_dir:
        main(["--directory", project_dir, "--private_token", "moo"])
        project = _check_project_directory(project_dir)
        assert project.ini_config is not None
        assert "private_token" in project.app_config
        assert project.app_config["private_token"] == "moo"
示例#4
0
def test_with_supervisor():
    with temp_directory() as project_dir:
        main(["--directory", project_dir, "--supervisor"])
        project = _check_project_directory(project_dir)
        assert project.ini_config is not None

        supervisor_conf = os.path.join(project_dir, "supervisor.conf")
        assert os.path.exists(supervisor_conf)
示例#5
0
def test_libdrmaa_config():
    with temp_directory() as project_dir:
        main(["--directory", project_dir, "--libdrmaa_path", "/path/to/test/libdrmaa.so"])

        local_env = os.path.join(project_dir, "local_env.sh")
        assert os.path.exists(local_env)
        exit_code = subprocess.check_call(['/bin/bash', '-c', '. %s' % local_env])
        assert exit_code == 0
示例#6
0
def test_with_supervisor():
    with temp_directory() as project_dir:
        main(["--directory", project_dir, "--supervisor"])
        project = _check_project_directory(project_dir)
        assert project.ini_config is not None

        supervisor_conf = os.path.join(project_dir, "supervisor.conf")
        assert os.path.exists(supervisor_conf)
示例#7
0
def test_pulsar_manager_config_builder_overrides():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "pulsar5.ini"), app="cool1")
        config = main.PulsarManagerConfigBuilder(config_dir=mock_root, app="cool1", ini_path="pulsar5.ini", manager="manager3")
        config.load()["foo"] == "bar1"
        as_dict = config.to_dict()
        assert as_dict["manager"] == "manager3"
        assert as_dict["ini_path"] == join(mock_root, "pulsar5.ini")
        assert as_dict["app"] == "cool1"
示例#8
0
def test_pulsar_manager_config_builder_defaults():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "server.ini"))
        config = main.PulsarManagerConfigBuilder(config_dir=mock_root)
        config.load()["foo"] == "bar1"
        as_dict = config.to_dict()
        assert as_dict["manager"] == "_default_"
        assert as_dict["ini_path"] == join(mock_root, "server.ini")
        assert as_dict["app"] == "main"
示例#9
0
def test_pulsar_manager_config_builder_overrides():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "pulsar5.ini"), app="cool1")
        config = daemon.PulsarManagerConfigBuilder(pulsar_root=mock_root, app="cool1", ini_path="pulsar5.ini", manager="manager3")
        config.load()["foo"] == "bar1"
        as_dict = config.to_dict()
        assert as_dict["manager"] == "manager3"
        assert as_dict["ini_path"] == join(mock_root, "pulsar5.ini")
        assert as_dict["app"] == "cool1"
示例#10
0
def test_pulsar_manager_config_builder_defaults():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "server.ini"))
        config = daemon.PulsarManagerConfigBuilder(pulsar_root=mock_root)
        config.load()["foo"] == "bar1"
        as_dict = config.to_dict()
        assert as_dict["manager"] == "_default_"
        assert as_dict["ini_path"] == join(mock_root, "server.ini")
        assert as_dict["app"] == "main"
示例#11
0
def test_default_web_config():
    with temp_directory() as project_dir:
        main(["--directory", project_dir])
        project = _check_project_directory(project_dir)
        assert project.ini_config is not None

        local_env = os.path.join(project_dir, "local_env.sh")
        assert os.path.exists(local_env)
        exit_code = subprocess.check_call(['/bin/bash', '-c', '. %s' % local_env])
        assert exit_code == 0
示例#12
0
def test_default_web_config():
    with temp_directory() as project_dir:
        main(["--directory", project_dir])
        project = _check_project_directory(project_dir)
        assert project.ini_config is not None

        local_env = os.path.join(project_dir, "local_env.sh")
        assert os.path.exists(local_env)
        exit_code = subprocess.check_call(
            ['/bin/bash', '-c', '. %s' % local_env])
        assert exit_code == 0
示例#13
0
def test_libdrmaa_config():
    with temp_directory() as project_dir:
        main([
            "--directory", project_dir, "--libdrmaa_path",
            "/path/to/test/libdrmaa.so"
        ])

        local_env = os.path.join(project_dir, "local_env.sh")
        assert os.path.exists(local_env)
        exit_code = subprocess.check_call(
            ['/bin/bash', '-c', '. %s' % local_env])
        assert exit_code == 0
示例#14
0
def test_libdrmaa_config():
    with temp_directory() as project_dir:
        real_pip = config.pip
        config.pip = MockPip()
        try:
            main(["--directory", project_dir, "--libdrmaa_path", "/path/to/test/libdrmaa.so", "--install"])

            local_env = os.path.join(project_dir, "local_env.sh")
            assert os.path.exists(local_env)
            exit_code = subprocess.check_call(['/bin/bash', '-c', '. %s' % local_env])
            assert exit_code == 0

            pip_calls = config.pip.main_calls
            assert len(pip_calls) == 1
            assert pip_calls[0] == ("install", "drmaa"), pip_calls
        finally:
            config.pip = real_pip
示例#15
0
def test_force():
    with temp_directory() as project_dir:
        # Write a default configuration and make sure mq is configured.
        main(["--directory", project_dir])
        project = _check_project_directory(project_dir)
        assert "message_queue_url" not in (project.app_config or {})

        # Try to re-config with message queue, expect error because files
        # already exist.
        exit_code = None
        try:
            main(["--directory", project_dir, "--mq"])
        except SystemExit as e:
            exit_code = e.code
        assert exit_code == 1

        # Try re-config again with --force, expect it to work and for MQ to be
        # configured.
        main(["--directory", project_dir, "--mq", "--force"])
        project = _check_project_directory(project_dir)
        assert "message_queue_url" in project.app_config
示例#16
0
    def test_does_symlink_already_exist(self):
        src = 'src'
        dest = 'dest'
        with test_utils.temp_directory() as tmpdir:
            srcpath = os.path.join(tmpdir, src)
            destpath = os.path.join(tmpdir, dest)
            open(srcpath, 'a').close()
            os.symlink(srcpath, destpath)

            runtime = dfman.core.MainRuntime(False, False)

            # symlink already exists
            result = runtime.does_symlink_already_exist(srcpath, destpath)

            self.assertTrue(result)

            # symlink doesn't exist
            os.remove(destpath)

            result = runtime.does_symlink_already_exist(srcpath, destpath)

            self.assertFalse(result)
示例#17
0
def test_pulsar_config_builder_defaults_sample():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "server.ini.sample"))
        config = main.PulsarConfigBuilder(config_dir=mock_root)
        assert config.load()["foo"] == "bar1"
示例#18
0
def test_pulsar_config_builder_specified_app():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "server.ini"), app="cool1")
        config = main.PulsarConfigBuilder(config_dir=mock_root, app="cool1")
        assert config.load()["foo"] == "bar1"
示例#19
0
def test_pulsar_config_builder_specified_ini_args():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "moo.ini"), app="cool1")
        config = main.PulsarConfigBuilder(config_dir=mock_root, args=MockArgs("moo.ini", "cool1"))
        assert config.load()["foo"] == "bar1"
示例#20
0
def test_pulsar_config_builder_app_yaml():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "server.ini"))
        open(join(mock_root, "app.yml"), "w").write("foo: bar2")
        config = main.PulsarConfigBuilder(config_dir=mock_root)
        assert config.load()["foo"] == "bar2"
示例#21
0
def test_mq_config():
    with temp_directory() as project_dir:
        main(["--directory", project_dir, "--mq"])
        project = _check_project_directory(project_dir)
        assert project.ini_config is None
        assert "message_queue_url" in project.app_config
示例#22
0
def test_pulsar_config_builder_specified_ini():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "moo.ini"))
        config = daemon.PulsarConfigBuilder(pulsar_root=mock_root, ini_path="moo.ini")
        assert config.load()["foo"] == "bar1"
示例#23
0
def test_pulsar_config_builder_defaults():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "server.ini"))
        config = main.PulsarConfigBuilder(config_dir=mock_root)
        assert config.load()["foo"] == "bar1"
示例#24
0
def test_pulsar_config_builder_specified_app():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "server.ini"), app="cool1")
        config = daemon.PulsarConfigBuilder(pulsar_root=mock_root, app="cool1")
        assert config.load()["foo"] == "bar1"
示例#25
0
def test_mq_config():
    with temp_directory() as project_dir:
        main(["--directory", project_dir, "--mq"])
        project = _check_project_directory(project_dir)
        assert project.ini_config is None
        assert "message_queue_url" in project.app_config
示例#26
0
def test_pulsar_config_builder_app_yaml():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "server.ini"))
        open(join(mock_root, "app.yml"), "w").write("foo: bar2")
        config = daemon.PulsarConfigBuilder(pulsar_root=mock_root)
        assert config.load()["foo"] == "bar2"
示例#27
0
def test_pulsar_config_builder_specified_ini():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "moo.ini"))
        config = main.PulsarConfigBuilder(config_dir=mock_root, ini_path="moo.ini")
        assert config.load()["foo"] == "bar1"
示例#28
0
def test_pulsar_config_builder_defaults():
    with temp_directory() as mock_root:
        __write_mock_ini(join(mock_root, "server.ini"))
        config = daemon.PulsarConfigBuilder(pulsar_root=mock_root)
        assert config.load()["foo"] == "bar1"