Skip to content

Commit

Permalink
add integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
simontaurus committed Jan 23, 2023
1 parent 397e97f commit 4577370
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 1 deletion.
32 changes: 31 additions & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,34 @@
- https://docs.pytest.org/en/stable/writing_plugins.html
"""

# import pytest
import pytest


def pytest_addoption(parser):
parser.addoption("--wiki_domain", action="store")
parser.addoption("--wiki_username", action="store")
parser.addoption("--wiki_password", action="store")


@pytest.fixture(scope="session")
def wiki_domain(request):
value = request.config.option.wiki_domain
if value is None:
pytest.skip()
return value


@pytest.fixture(scope="session")
def wiki_username(request):
value = request.config.option.wiki_username
if value is None:
pytest.skip()
return value


@pytest.fixture(scope="session")
def wiki_password(request):
value = request.config.option.wiki_password
if value is None:
pytest.skip()
return value
13 changes: 13 additions & 0 deletions tests/integration/login_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import mwclient

# from osw.core import OSW
# from osw.wtsite import WtSite

# run with: tox -e test -- --wiki_domain domain --wiki_username user --wiki_password pass


def test_login(wiki_domain, wiki_username, wiki_password):
site = mwclient.Site(host=wiki_domain)
site.login(username=wiki_username, password=wiki_password)
# wtsite = WtSite(site)
# osw = OSW(site=wtsite)
24 changes: 24 additions & 0 deletions tests/integration/store_and_load_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import mwclient

import osw.model.entity as model
from osw.core import OSW
from osw.wtsite import WtSite

# run with: tox -e test -- --wiki_domain domain --wiki_username user --wiki_password pass


def test_store_and_load(wiki_domain, wiki_username, wiki_password):
site = mwclient.Site(host=wiki_domain)
site.login(username=wiki_username, password=wiki_password)
wtsite = WtSite(site)
osw = OSW(site=wtsite)

my_entity = model.Item(label=model.Label(text="MyItem"))

osw.store_entity(my_entity)

my_entity2 = osw.load_entity("Item:" + OSW.get_osw_id(my_entity.uuid))

assert my_entity.label.text == my_entity2.label.text

osw.delete_entity(my_entity)

0 comments on commit 4577370

Please sign in to comment.