Пример #1
0
def test_freeze_config(session):
    yaml_config = loadfixture("workspacefreezer/sampleconfig.yaml")
    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(yaml_config).get()

    builder = WorkspaceBuilder(sconf=sconfig)
    builder.build(session=session)
    assert session == builder.session

    time.sleep(.50)

    session = session
    sconf = freeze(session)

    config.validate_schema(sconf)

    sconf = config.inline(sconf)

    kaptanconf = kaptan.Kaptan()
    kaptanconf = kaptanconf.import_config(sconf)
    kaptanconf.export(
        'json',
        indent=2
    )
    kaptanconf.export(
        'yaml',
        indent=2,
        default_flow_style=False,
        safe=True
    )
Пример #2
0
def test_multisession_config(session_name, expected, multisession_config):
    # teamocil can fit multiple sessions in a config
    assert config.import_teamocil(
        multisession_config[session_name]) == expected

    config.validate_schema(
        config.import_teamocil(multisession_config[session_name]))
Пример #3
0
def test_in_session_scope():
    sconfig = load_yaml(fixtures.shell_command_before_session.before)

    config.validate_schema(sconfig)

    assert config.expand(sconfig) == sconfig
    assert config.expand(config.trickle(sconfig)) == load_yaml(
        fixtures.shell_command_before_session.expected)
Пример #4
0
def test_in_session_scope():
    sconfig = load_yaml(fixtures.shell_command_before_session.before)

    config.validate_schema(sconfig)

    assert config.expand(sconfig) == sconfig
    assert config.expand(config.trickle(sconfig)) == \
        load_yaml(fixtures.shell_command_before_session.expected)
Пример #5
0
def test_config_to_dict(teamocil_yaml, teamocil_dict, tmuxp_dict):
    configparser = kaptan.Kaptan(handler='yaml')
    test_config = configparser.import_config(teamocil_yaml)
    yaml_to_dict = test_config.get()
    assert yaml_to_dict == teamocil_dict

    assert config.import_teamocil(teamocil_dict) == tmuxp_dict

    config.validate_schema(config.import_teamocil(teamocil_dict))
Пример #6
0
def test_config_to_dict(tmuxinator_yaml, tmuxinator_dict, tmuxp_dict):
    configparser = kaptan.Kaptan(handler="yaml")
    test_config = configparser.import_config(tmuxinator_yaml)
    yaml_to_dict = test_config.get()
    assert yaml_to_dict == tmuxinator_dict

    assert config.import_tmuxinator(tmuxinator_dict) == tmuxp_dict

    config.validate_schema(config.import_tmuxinator(tmuxinator_dict))
Пример #7
0
def test_config_to_dict(tmuxinator_yaml, tmuxinator_dict, tmuxp_dict):
    configparser = kaptan.Kaptan(handler='yaml')
    test_config = configparser.import_config(tmuxinator_yaml)
    yaml_to_dict = test_config.get()
    assert yaml_to_dict == tmuxinator_dict

    assert config.import_tmuxinator(tmuxinator_dict) == tmuxp_dict

    config.validate_schema(config.import_tmuxinator(tmuxinator_dict))
Пример #8
0
def test_no_windows():
    yaml_config = """
    session_name: test session
    """

    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(yaml_config).get()

    with pytest.raises(exc.ConfigError) as excinfo:
        config.validate_schema(sconfig)
        assert excinfo.match(r'list of "windows"')
Пример #9
0
def test_multisession_config(session_name, expected, multisession_config):
    # teamocil can fit multiple sessions in a config
    assert config.import_teamocil(
        multisession_config[session_name]
    ) == expected

    config.validate_schema(
        config.import_teamocil(
            multisession_config[session_name]
        )
    )
Пример #10
0
def test_no_windows():
    yaml_config = """
    session_name: test session
    """

    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(yaml_config).get()

    with pytest.raises(exc.ConfigError) as excinfo:
        config.validate_schema(sconfig)
        assert excinfo.match(r'list of "windows"')
Пример #11
0
def test_trickle_window_with_no_pane_config():
    test_yaml = """
    session_name: test_session
    windows:
    - window_name: test_1
      panes:
      - shell_command:
        - ls -l
    - window_name: test_no_panes
    """
    sconfig = load_yaml(test_yaml)
    config.validate_schema(sconfig)

    assert config.expand(config.trickle(sconfig))["windows"][1]["panes"][0] == {
        "shell_command": []
    }
Пример #12
0
def test_trickle_window_with_no_pane_config():
    test_yaml = """
    session_name: test_session
    windows:
    - window_name: test_1
      panes:
      - shell_command:
        - ls -l
    - window_name: test_no_panes
    """
    sconfig = load_yaml(test_yaml)
    config.validate_schema(sconfig)

    assert config.expand(config.trickle(sconfig))['windows'][1]['panes'][0] == {
        'shell_command': []
    }
Пример #13
0
def test_plugins():
    yaml_config = """
    session_name: test session
    plugins: tmuxp-plugin-one.plugin.TestPluginOne
    windows:
    - window_name: editor
      panes:
      shell_command:
      - tail -F /var/log/syslog
      start_directory: /var/log
    """

    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(yaml_config).get()

    with pytest.raises(exc.ConfigError) as excinfo:
        config.validate_schema(sconfig)
        assert excinfo.matches('only supports list type')
Пример #14
0
def test_no_session_name():
    yaml_config = """
    - window_name: editor
      panes:
      shell_command:
      - tail -F /var/log/syslog
      start_directory: /var/log
    - window_name: logging
      automatic-rename: true
      panes:
      - shell_command:
      - htop
    """

    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(yaml_config).get()

    with pytest.raises(exc.ConfigError) as excinfo:
        config.validate_schema(sconfig)
        assert excinfo.matches(r'requires "session_name"')
Пример #15
0
def test_no_session_name():
    yaml_config = """
    - window_name: editor
      panes:
      shell_command:
      - tail -F /var/log/syslog
      start_directory: /var/log
    - window_name: logging
      automatic-rename: true
      panes:
      - shell_command:
      - htop
    """

    sconfig = kaptan.Kaptan(handler='yaml')
    sconfig = sconfig.import_config(yaml_config).get()

    with pytest.raises(exc.ConfigError) as excinfo:
        config.validate_schema(sconfig)
        assert excinfo.matches(r'requires "session_name"')