emmett-framework / emmett

The web framework for inventors
BSD 3-Clause "New" or "Revised" License
1.06k stars 71 forks source link

Trying to test Bloggy Tutorial #204

Closed max-bertinetti closed 7 years ago

max-bertinetti commented 7 years ago

Hi @gi0baro. I follow the tutorial then I download the repo and trying to executing pytest for the example/bloggy dir.

I've created and activated a virtual enviroment containing weppy and pytest if I execute only pytest this is the result: ` (venv) ➜ bloggy pytest ================================================================ test session starts ================================================================= platform linux -- Python 3.6.2, pytest-3.2.3, py-1.4.34, pluggy-0.4.0 rootdir: /home/max/Progetti/bloggy, inifile: collected 0 items

============================================================ no tests ran in 0.01 seconds ============================================================

` As expected since pytest naming convenction.

If I execute pytest test.py this is the result: ` (venv) ➜ bloggy pytest test.py ================================================================ test session starts ================================================================= platform linux -- Python 3.6.2, pytest-3.2.3, py-1.4.34, pluggy-0.4.0 rootdir: /home/max/Progetti/bloggy, inifile: collected 4 items

test.py FE.E

======================================================================= ERRORS ======================================================================= ____ ERROR at setup of test_login ____

@pytest.fixture(scope='module')
def logged_client():
    db._adapter.reconnect()
  setup_admin()

test.py:14:


bloggy.py:82: in setup_admin auth.add_membership(admins, user.id)


self = <weppy.tools.auth.apis.Auth object at 0x7f4f928d56a0>, group = None, user = None

def add_membership(self, group, user=None):
    if isinstance(group, integer_types):
        group = self.models['group'].get(group)
    elif isinstance(group, string_types):
        group = self.group_for_role(group)
    if not user and self.user:
        user = self.user.id
    res = getattr(
      group, self.ext.relation_names['user'] + 's').add(user)

E AttributeError: 'NoneType' object has no attribute 'users'

venv/lib/python3.6/site-packages/weppy/tools/auth/apis.py:126: AttributeError ____ ERROR at setup of test_adminaccess ____

@pytest.fixture(scope='module')
def logged_client():
    db._adapter.reconnect()
  setup_admin()

test.py:14:


bloggy.py:82: in setup_admin auth.add_membership(admins, user.id)


self = <weppy.tools.auth.apis.Auth object at 0x7f4f928d56a0>, group = None, user = None

def add_membership(self, group, user=None):
    if isinstance(group, integer_types):
        group = self.models['group'].get(group)
    elif isinstance(group, string_types):
        group = self.group_for_role(group)
    if not user and self.user:
        user = self.user.id
    res = getattr(
      group, self.ext.relation_names['user'] + 's').add(user)

E AttributeError: 'NoneType' object has no attribute 'users'

venv/lib/python3.6/site-packages/weppy/tools/auth/apis.py:126: AttributeError ====================================================================== FAILURES ====================================================================== ___ test_empty_db ____

client = <WeppyTestClient <weppy.app.App object at 0x7f4f96060710>>

def test_empty_db(client):
    rv = client.get('/')
  assert 'No posts here so far' in rv.data

E assert 'No posts here so far' in '<!DOCTYPE html>\n\n \n Bloggy\n \n <script type="text/javascript" ...ef="/post/1">Read more\n


\n \n\n\n\n \n
\n \n\n' E + where '<!DOCTYPE html>\n\n \n Bloggy\n \n <script type="text/javascript" ...ef="/post/1">Read more\n
\n \n\n\n\n \n
\n \n\n' = <weppy.testing.client.ClientResponse object at 0x7f4f926a1b38>.data

test.py:27: AssertionError ==================================================== 1 failed, 1 passed, 2 error in 0.66 seconds ===================================================== ` If I rename the test file in bloggy_test.py and execute pytest this is the result.

` (venv) ➜ bloggy pytest
================================================================ test session starts ================================================================= platform linux -- Python 3.6.2, pytest-3.2.3, py-1.4.34, pluggy-0.4.0 rootdir: /home/max/Progetti/bloggy, inifile: collected 4 items

bloggy_test.py FE.E

======================================================================= ERRORS ======================================================================= ____ ERROR at setup of test_login ____

@pytest.fixture(scope='module')
def logged_client():
    db._adapter.reconnect()
  setup_admin()

bloggy_test.py:14:


bloggy.py:82: in setup_admin auth.add_membership(admins, user.id)


self = <weppy.tools.auth.apis.Auth object at 0x7f8e7f20bb38>, group = None, user = None

def add_membership(self, group, user=None):
    if isinstance(group, integer_types):
        group = self.models['group'].get(group)
    elif isinstance(group, string_types):
        group = self.group_for_role(group)
    if not user and self.user:
        user = self.user.id
    res = getattr(
      group, self.ext.relation_names['user'] + 's').add(user)

E AttributeError: 'NoneType' object has no attribute 'users'

venv/lib/python3.6/site-packages/weppy/tools/auth/apis.py:126: AttributeError ____ ERROR at setup of test_adminaccess ____

@pytest.fixture(scope='module')
def logged_client():
    db._adapter.reconnect()
  setup_admin()

bloggy_test.py:14:


bloggy.py:82: in setup_admin auth.add_membership(admins, user.id)


self = <weppy.tools.auth.apis.Auth object at 0x7f8e7f20bb38>, group = None, user = None

def add_membership(self, group, user=None):
    if isinstance(group, integer_types):
        group = self.models['group'].get(group)
    elif isinstance(group, string_types):
        group = self.group_for_role(group)
    if not user and self.user:
        user = self.user.id
    res = getattr(
      group, self.ext.relation_names['user'] + 's').add(user)

E AttributeError: 'NoneType' object has no attribute 'users'

venv/lib/python3.6/site-packages/weppy/tools/auth/apis.py:126: AttributeError ====================================================================== FAILURES ====================================================================== ___ test_empty_db ____

client = <WeppyTestClient <weppy.app.App object at 0x7f8e82998ba8>>

def test_empty_db(client):
    rv = client.get('/')
  assert 'No posts here so far' in rv.data

E assert 'No posts here so far' in '<!DOCTYPE html>\n\n \n Bloggy\n \n <script type="text/javascript" ...ef="/post/1">Read more\n


\n \n\n\n\n \n \n \n\n' E + where '<!DOCTYPE html>\n\n \n Bloggy\n \n <script type="text/javascript" ...ef="/post/1">Read more\n
\n \n\n\n\n \n \n \n\n' = <weppy.testing.client.ClientResponse object at 0x7f8e7f029eb8>.data

bloggy_test.py:27: AssertionError ==================================================== 1 failed, 1 passed, 2 error in 0.72 seconds =====================================================

`

gi0baro commented 7 years ago

Hi @CodelessFuture :) I'm gonna check the test code in bloggy example, probably should be updated. Will keep you updated on this.