Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tests for SQLite #193

Closed
maxking opened this issue Nov 10, 2017 · 6 comments
Closed

Add tests for SQLite #193

maxking opened this issue Nov 10, 2017 · 6 comments

Comments

@maxking
Copy link
Owner

maxking commented Nov 10, 2017

It seems the provided configuration doesn't work for SQLite

OperationalError: no such table: hyperkitty_email
ERROR 2017-11-10 01:41:11,882 24 django.request Internal Server Error: /
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 39, in inner
    response = get_response(request)
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 244, in _legacy_get_response
    response = middleware_method(request)
  File "/usr/local/lib/python2.7/site-packages/django/middleware/locale.py", line 25, in process_request
    language = translation.get_language_from_request(request, check_path=i18n_patterns_used)
  File "/usr/local/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 206, in get_language_from_request
    return _trans.get_language_from_request(request, check_path)
  File "/usr/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 516, in get_language_from_request
    lang_code = request.session.get(LANGUAGE_SESSION_KEY)
  File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 68, in get
    return self._session.get(key, default)
  File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 207, in _get_session
    self._session_cache = self.load()
  File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/db.py", line 35, in load
    expire_date__gt=timezone.now()
  File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 379, in get
    num = len(clone)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 238, in __len__
    self._fetch_all()
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 1085, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 54, in __iter__
    results = compiler.execute_sql()
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 835, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 337, in execute
    return Database.Cursor.execute(self, query, params)
OperationalError: no such table: django_session
ERROR 2017-11-10 01:41:11,882 24 django.request Internal Server Error: /
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 39, in inner
    response = get_response(request)
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 244, in _legacy_get_response
    response = middleware_method(request)
  File "/usr/local/lib/python2.7/site-packages/django/middleware/locale.py", line 25, in process_request
    language = translation.get_language_from_request(request, check_path=i18n_patterns_used)
  File "/usr/local/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 206, in get_language_from_request
    return _trans.get_language_from_request(request, check_path)
  File "/usr/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 516, in get_language_from_request
    lang_code = request.session.get(LANGUAGE_SESSION_KEY)
  File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 68, in get
    return self._session.get(key, default)
  File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/base.py", line 207, in _get_session
    self._session_cache = self.load()
  File "/usr/local/lib/python2.7/site-packages/django/contrib/sessions/backends/db.py", line 35, in load
    expire_date__gt=timezone.now()
  File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 379, in get
    num = len(clone)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 238, in __len__
    self._fetch_all()
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 1085, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 54, in __iter__
    results = compiler.execute_sql()
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 835, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 337, in execute
    return Database.Cursor.execute(self, query, params)
OperationalError: no such table: django_session
ERROR 2017-11-10 01:42:02,009 54 hyperkitty.lib.utils Failed to update the fulltext index: no such table: hyperkitty_email
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/hyperkitty/lib/utils.py", line 186, in run_with_lock
    fn(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/hyperkitty/search_indexes.py", line 87, in update_index
    update_cmd.update_backend("hyperkitty", "default")
  File "/usr/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 240, in update_backend
    total = qs.count()
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 369, in count
    return self.query.get_count(using=self.db)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 476, in get_count
    number = obj.get_aggregation(using, ['__count'])['__count']
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 457, in get_aggregation
    result = compiler.execute_sql(SINGLE)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 835, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 337, in execute
    return Database.Cursor.execute(self, query, params)
OperationalError: no such table: hyperkitty_email
@maxking
Copy link
Owner Author

maxking commented Nov 10, 2017

Core seems to work well with SQLite.

Django needs to be tested to work well with SQLite.

@ghost
Copy link

ghost commented Nov 11, 2017

What about a MySQL test? Given I recently found out MySQL doesn't seem to work either

@maxking
Copy link
Owner Author

maxking commented Nov 11, 2017

Yeah, that is something very weird. I am not sure if that is a problem in Core or a problem in container images.

It is possible that the test suite in Core doesn't cover that problem and hence the problem. Once we know, we can address the problem in the relevant place.

All unittests in Core seems to pass for MySQL.

@SvenRoederer
Copy link
Contributor

in #539 I pushed a fix, that at least solves the cause of the issue see. It indeed is not a test, as discussed here.

Regarding test: Do you insist on CircleCI? Or is GithubActions also acceptable?

@maxking
Copy link
Owner Author

maxking commented Mar 31, 2022

We don’t have a GHA setup, so the only tests working right now is CircleCI and I don’t want to split them.

Are you not able to see the circle-ci failures? I thought they are public.

Looking at the failures, it seems like not related to your issues and might require some version bumps or upgrades. I’ll have to check on that later.

@github-actions
Copy link

github-actions bot commented Apr 1, 2023

This issue has not been updated for more than 1year

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Apr 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants