Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lumapps/api/conf.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
__version__ = "0.1.17"
__version__ = "0.1.18"
__pypi_packagename__ = "lumapps-sdk"
51 changes: 20 additions & 31 deletions lumapps/api/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,38 +81,27 @@ def get_conf_db_file():
return os.path.join(d, "{}.db".format(__pypi_packagename__))


_conn = None


def _unset_conn():
global _conn
_conn = None


def _get_conn():
global _conn
if _conn is None:
conn = sqlite3.connect(get_conf_db_file())
conn.isolation_level = None
conn.row_factory = sqlite3.Row
conn.execute('PRAGMA journal_mode=WAL')
conn.execute(
"""CREATE TABLE IF NOT EXISTS discovery_cache (
url TEXT NOT NULL,
expiry TEXT NOT NULL,
content TEXT NOT NULL,
PRIMARY KEY (url)
)"""
)
conn.execute(
"""CREATE TABLE IF NOT EXISTS config (
name TEXT NOT NULL,
content TEXT NOT NULL,
PRIMARY KEY (name)
)"""
)
_conn = conn
return _conn
conn = sqlite3.connect(get_conf_db_file())
conn.isolation_level = None
conn.row_factory = sqlite3.Row
conn.execute('PRAGMA journal_mode=WAL')
conn.execute(
"""CREATE TABLE IF NOT EXISTS discovery_cache (
url TEXT NOT NULL,
expiry TEXT NOT NULL,
content TEXT NOT NULL,
PRIMARY KEY (url)
)"""
)
conn.execute(
"""CREATE TABLE IF NOT EXISTS config (
name TEXT NOT NULL,
content TEXT NOT NULL,
PRIMARY KEY (name)
)"""
)
return conn


def get_discovery_cache(url):
Expand Down
2 changes: 1 addition & 1 deletion requirements_dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
flake8
coverage
pytest
mock
pytest-mock

# Doc
sphinx
Expand Down
14 changes: 6 additions & 8 deletions tests/test_cli.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
from lumapps.api.cli import load_config, parse_args, list_configs
from lumapps.api.utils import set_config, _unset_conn
from lumapps.api.utils import set_config, _get_conn

import pytest
from mock import patch, MagicMock


def test_load_config():
Expand All @@ -20,16 +19,15 @@ def test_arg_parser():
arg_parser, args = parse_args(["--user", "foo"])


@patch("lumapps.api.utils.get_conf_db_file", MagicMock(return_value=":memory:"))
def test_list_configs_1(capsys):
_unset_conn()
def test_list_configs_1(capsys, mocker):
mocker.patch("lumapps.api.utils.get_conf_db_file", return_value=":memory:")
list_configs()
assert capsys.readouterr().out.startswith("There are no saved configs")


@patch("lumapps.api.utils.get_conf_db_file", MagicMock(return_value=":memory:"))
def test_list_configs_2(capsys):
_unset_conn()
def test_list_configs_2(capsys, mocker):
mocker.patch("lumapps.api.utils.get_conf_db_file", return_value=":memory:")
mocker.patch("lumapps.api.utils._get_conn", return_value=_get_conn())
set_config("foo", "bar")
list_configs()
assert "foo" in capsys.readouterr().out
20 changes: 10 additions & 10 deletions tests/test_utils.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
from datetime import datetime, timedelta

from mock import patch, MagicMock

from lumapps.api.utils import (
list_prune_filters,
_DiscoveryCacheDict,
Expand All @@ -10,7 +8,7 @@
get_config_names,
set_config,
get_config,
_unset_conn,
_get_conn,
)


Expand All @@ -24,7 +22,9 @@ def test_discovery_cache_1():
assert DiscoveryCache == _DiscoveryCacheSqlite


def test_discovery_cache_dict():
def test_discovery_cache_dict(mocker):
mocker.patch("lumapps.api.utils.get_conf_db_file", return_value=":memory:")
mocker.patch("lumapps.api.utils._get_conn", return_value=_get_conn())
c = _DiscoveryCacheDict
assert c.get('foobar.com') is None
c.set('foobar.com', "bla")
Expand All @@ -33,18 +33,18 @@ def test_discovery_cache_dict():
assert c.get('foobar.com') is None


@patch("lumapps.api.utils.get_conf_db_file", MagicMock(return_value=":memory:"))
def test_discovery_cache_sqlite():
_unset_conn()
def test_discovery_cache_sqlite(mocker):
mocker.patch("lumapps.api.utils.get_conf_db_file", return_value=":memory:")
mocker.patch("lumapps.api.utils._get_conn", return_value=_get_conn())
c = _DiscoveryCacheSqlite
assert c.get('foobar.com') is None
c.set('foobar.com', "bla")
assert c.get('foobar.com') == "bla"


@patch("lumapps.api.utils.get_conf_db_file", MagicMock(return_value=":memory:"))
def test_get_set_configs():
_unset_conn()
def test_get_set_configs(mocker):
mocker.patch("lumapps.api.utils.get_conf_db_file", return_value=":memory:")
mocker.patch("lumapps.api.utils._get_conn", return_value=_get_conn())
assert len(get_config_names()) == 0
set_config("foo", "bar")
assert len(get_config_names()) == 1
Expand Down