示例#1
0
def test_init_loqusextension_init_app_wrong_version(loqus_exe):
    """Test a init a loqus extension object with flask app"""
    # GIVEN a loqusdb binary
    configs = {"LOQUSDB_SETTINGS": {"binary_path": loqus_exe, "version": 1.0}}
    # WHEN initialising a loqusdb extension with init app
    app = Flask(__name__)
    loqus_obj = LoqusDB()
    with pytest.raises(EnvironmentError):
        with app.app_context():
            app.config = configs
            loqus_obj.init_app(app)
示例#2
0
def test_init_loqusextension_init_app_with_config_multiple(
        loqus_exe, loqus_config):
    """Test a init a loqus extension object with flask app with version and config"""
    # GIVEN a loqusdb config as list
    version = 2.5
    configs = {
        "LOQUSDB_SETTINGS": [{
            "binary_path": loqus_exe,
            "version": version,
            "id": "default",
            "config_path": loqus_config,
        }]
    }

    # WHEN initialising a loqusdb extension with init app
    app = Flask(__name__)
    loqus_obj = LoqusDB()
    with app.app_context():
        app.config = configs
        loqus_obj.init_app(app)

        # THEN assert that the binary is correct -with id
        assert loqus_obj.get_bin_path("default") == loqus_exe
        # THEN assert that the binary is correct -without id
        assert loqus_obj.get_bin_path(None) == loqus_exe
        # THEN non-configured id raises
        with pytest.raises(ConfigError):
            assert loqus_obj.get_bin_path("not configured id")

        # THEN assert that the config_path is correct -with id
        assert loqus_obj.get_config_path("default") == loqus_config
        # THEN assert that the config_path is correct -without id
        assert loqus_obj.get_config_path(None) == loqus_config
        # THEN non-configured id raises
        with pytest.raises(ConfigError):
            assert loqus_obj.get_config_path("not configured id")

        # THEN assert that the version is correct -with id
        assert loqus_obj.get_configured_version("default") == version
        # THEN assert that the version is correct -without id
        assert loqus_obj.get_configured_version(None) == version
        # THEN non-configured id raises
        with pytest.raises(ConfigError):
            assert loqus_obj.get_configured_version("not configured id")

        # THEN assert that the version is correct
        assert loqus_obj.version == version
def test_init_loqusextension_init_app_no_version(mocker, loqus_exe,
                                                 loqus_version):
    """Test a init a loqus extension object with flask app"""
    # GIVEN a loqusdb binary
    configs = {"LOQUSDB_SETTINGS": {"binary_path": loqus_exe}}
    mocker.patch.object(subprocess, "check_output")
    subprocess.check_output.return_value = b"loqusdb, version %f" % loqus_version
    # WHEN initialising a loqusdb extension with init app
    app = Flask(__name__)
    loqus_obj = LoqusDB()
    with app.app_context():
        app.config = configs
        loqus_obj.init_app(app)
        # THEN assert that the binary is correct
        assert loqus_obj.loqusdb_binary == loqus_exe
        assert loqus_obj.version == loqus_version
        # THEN assert that there is no config
        assert loqus_obj.loqusdb_config is None
示例#4
0
def test_init_loqusextension_init_app(loqus_exe, loqus_version):
    """Test a init a loqus extension object with flask app with version"""
    # GIVEN a loqusdb binary
    configs = {
        "LOQUSDB_SETTINGS": {
            "binary_path": loqus_exe,
            "version": loqus_version
        }
    }
    # WHEN initialising a loqusdb extension with init app
    app = Flask(__name__)
    loqus_obj = LoqusDB()
    with app.app_context():
        app.config = configs
        loqus_obj.init_app(app)
        # THEN assert that the binary is correct
        assert loqus_obj.get_bin_path() == loqus_exe
        # THEN assert that the version is correct
        assert loqus_obj.version == loqus_version
        # THEN assert that config.py has been read
        assert loqus_obj.loqusdb_settings is not None
示例#5
0
def test_init_loqusextension_init_app_get_version_CalledProcessError(
        loqus_exe, loqus_config, mocker):
    """Test a init a loqus extension object with flask app with version and config"""
    # GIVEN mocking subprocess to raise CalledProcessError
    mocker.patch.object(subprocess,
                        "check_output",
                        side_effect=CalledProcessError(123, "case_count"))
    configs = {
        "LOQUSDB_SETTINGS": [{
            "binary_path": loqus_exe,
            "id": "default",
            "config_path": loqus_config,
        }]
    }
    app = Flask(__name__)
    loqus_obj = LoqusDB()
    with app.app_context():
        app.config = configs
        with pytest.raises(EnvironmentError):
            # THEN during app init, version is set to -1 and EnvironmentError is raised
            loqus_obj.init_app(app)
示例#6
0
def test_init_loqusextension_init_app_with_config(loqus_exe, loqus_config):
    """Test a init a loqus extension object with flask app with version and config"""
    # GIVEN a loqusdb config as dict
    version = 2.5
    configs = {
        "LOQUSDB_SETTINGS": {
            "binary_path": loqus_exe,
            "version": version,
            "config_path": loqus_config,
        }
    }
    # WHEN initialising a loqusdb extension with init app
    app = Flask(__name__)
    loqus_obj = LoqusDB()
    with app.app_context():
        app.config = configs
        loqus_obj.init_app(app)
        # THEN assert that the binary is correct
        assert loqus_obj.get_bin_path() == loqus_exe
        # THEN assert that the version is correct
        assert loqus_obj.version == version
        # THEN assert that the config is correct
        assert loqus_obj.get_config_path() == loqus_config