Skip to content
This repository was archived by the owner on Apr 29, 2022. It is now read-only.

Commit 9f61392

Browse files
authored
Fix issues with test factories and pipeline tests (#1220)
Remove dependency on django_factory_boy. Make profile factories more reliable. Fixes #1181
1 parent 410d1eb commit 9f61392

32 files changed

+285
-348
lines changed

.github/workflows/tests_build.yml renamed to .github/workflows/ci_pipeline.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Tests Build
1+
name: CI Pipeline
22

33
on:
44
push:
@@ -12,10 +12,8 @@ on:
1212
- ep20*
1313

1414
jobs:
15-
build:
16-
17-
runs-on: ubuntu-18.04
18-
15+
tests:
16+
runs-on: ubuntu-latest
1917
steps:
2018
- uses: actions/checkout@v2
2119
- name: Set up Python 3.6

assopy/migrations/0009_rename_assopy_user.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
1-
21
# Generated by Django 1.11.16 on 2018-10-27 10:51
32
from __future__ import unicode_literals
3+
import sqlite3
44

55
from django.db import migrations
66

77

88
class Migration(migrations.Migration):
9+
# This was added because the pipelines in Github don't have a version of
10+
# SQLite>3.26 and this migration fails on versions before that.
11+
if sqlite3.sqlite_version_info[1] < 27:
12+
atomic = False
913

1014
dependencies = [
1115
('assopy', '0008_remove_user_oauth_info_model'),

cms_utils/cms_plugins.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ class MarkItUpPlugin(CMSPluginBase):
1010
model = MarkitUpPluginModel
1111
render_template = 'djangocms_markitup/markitup.html'
1212

13+
1314
plugin_pool.register_plugin(MarkItUpPlugin)

cms_utils/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44

55

66
class MarkitUpPluginModel(CMSPlugin):
7-
body = MarkupField()
7+
body = MarkupField()

pycon/ci_settings.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pycon.settings import * # noqa
1+
from .test_settings import * # noqa
22

33
# DEFAULT_URL_PREFIX='http://localhost:8000'
44
# DEBUG=True
@@ -10,7 +10,6 @@
1010
}
1111
}
1212

13-
1413
# however for some tests we *do* want to test caches, hence we're going to use
1514
# @override_settings(CACHES=settings.ENABLE_LOCMEM_CACHE)
1615
ENABLE_LOCMEM_CACHE = {

pytest_ci.ini

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
[pytest]
22
DJANGO_SETTINGS_MODULE=pycon.ci_settings
3+
4+
testpaths =
5+
./tests
6+
./common/tests
7+
8+
python_files =
9+
tests.py
10+
test_*.py
11+
312
addopts =
413
# show all except passed
514
-ra

requirements-dev.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ pytest-xdist
77
freezegun
88
responses
99
factory_boy
10-
django_factory_boy # consider retiring this dependency
1110

1211
flake8
1312
black

requirements-dev.txt

Lines changed: 56 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -9,82 +9,81 @@ appdirs==1.4.3 # via black
99
attrs==19.3.0 # via black, pytest
1010
babel==2.8.0 # via django-phonenumber-field
1111
backcall==0.1.0 # via ipython
12-
black==19.10b0
12+
black==19.10b0 # via -r requirements-dev.in
1313
cairocffi==1.1.0 # via cairosvg, weasyprint
1414
cairosvg==2.4.2 # via weasyprint
1515
certifi==2019.11.28 # via requests
1616
cffi==1.14.0 # via cairocffi, weasyprint
1717
chardet==3.0.4 # via requests
1818
click==7.0 # via black, pip-tools
19-
cmsplugin-filer==1.1.3
19+
cmsplugin-filer==1.1.3 # via -r requirements.in
2020
coverage==5.0.3 # via pytest-cov
2121
cssselect2==0.2.2 # via cairosvg, weasyprint
22-
dataclasses==0.7
23-
decorator==4.4.1
22+
dataclasses==0.7 # via -r requirements.in
23+
decorator==4.4.2 # via -r requirements.in, ipython, traitlets
2424
defusedxml==0.6.0 # via cairosvg, python3-openid, social-auth-core
25-
dj-database-url==0.5.0
25+
dj-database-url==0.5.0 # via -r requirements.in
2626
django-appconf==1.0.3 # via cmsplugin-filer
27-
django-classy-tags==1.0.0
28-
django-cms==3.6.0
29-
django-crispy-forms==1.8.1
30-
django-extensions==2.2.8
31-
django-factory-boy==1.0.0
32-
django-filebrowser-no-grappelli==3.8.0
33-
django-filer==1.5.0
27+
django-classy-tags==1.0.0 # via -r requirements.in, django-cms, django-sekizai
28+
django-cms==3.6.0 # via -r requirements.in, cmsplugin-filer, djangocms-attributes-field, djangocms-grid, djangocms-text-ckeditor
29+
django-crispy-forms==1.9.0 # via -r requirements.in
30+
django-extensions==2.2.8 # via -r requirements.in
31+
django-filebrowser-no-grappelli==3.8.0 # via -r requirements.in
32+
django-filer==1.5.0 # via -r requirements.in, cmsplugin-filer
3433
django-formtools==2.2 # via django-cms
3534
django-js-asset==1.2.2 # via django-mptt
36-
django-markitup==3.5.0
37-
django-model-utils==3.1.1
35+
django-markitup==3.5.0 # via -r requirements.in
36+
django-model-utils==3.1.1 # via -r requirements.in
3837
django-mptt==0.11.0 # via django-filer
39-
django-pdb==0.6.2
40-
django-phonenumber-field==4.0.0
38+
django-pdb==0.6.2 # via -r requirements-dev.in
39+
django-phonenumber-field==4.0.0 # via -r requirements.in
4140
django-polymorphic==2.0.3 # via django-filer
4241
django-sekizai==1.1.0 # via cmsplugin-filer, django-cms
43-
django-tagging==0.4.6
44-
django-taggit-labels==0.6.0
45-
django-taggit==0.22.1
42+
django-tagging==0.4.6 # via -r requirements.in
43+
django-taggit-labels==0.6.0 # via -r requirements.in
44+
django-taggit==0.22.1 # via -r requirements.in, django-taggit-labels
4645
django-treebeard==4.3.1 # via django-cms
47-
django==1.11.28
48-
djangocms-admin-style==1.5.0
46+
django==1.11.28 # via -r requirements.in, cmsplugin-filer, django-appconf, django-classy-tags, django-cms, django-filer, django-formtools, django-model-utils, django-mptt, django-phonenumber-field, django-polymorphic, django-sekizai, django-treebeard, djangocms-grid, easy-thumbnails
47+
djangocms-admin-style==1.5.0 # via -r requirements.in, django-cms
4948
djangocms-attributes-field==1.2.0 # via cmsplugin-filer
50-
djangocms-grid==1.3.0
51-
djangocms-text-ckeditor==3.8.0
49+
djangocms-grid==1.3.0 # via -r requirements.in
50+
djangocms-text-ckeditor==3.9.0 # via -r requirements.in
5251
easy-thumbnails==2.7 # via cmsplugin-filer, django-filer
5352
ecdsa==0.15 # via python-jose
5453
entrypoints==0.3 # via flake8
5554
et-xmlfile==1.0.1 # via openpyxl
5655
execnet==1.7.1 # via pytest-xdist
57-
factory-boy==2.12.0
58-
faker==4.0.0 # via factory-boy
56+
factory-boy==2.12.0 # via -r requirements-dev.in
57+
faker==4.0.1 # via factory-boy
5958
fancycompleter==0.9.1 # via pdbpp
60-
flake8==3.7.9
61-
freezegun==0.3.14
62-
gunicorn==19.10.0
59+
flake8==3.7.9 # via -r requirements-dev.in
60+
freezegun==0.3.15 # via -r requirements-dev.in
61+
gunicorn==19.10.0 # via -r requirements.in
6362
html5lib==1.0.1 # via djangocms-text-ckeditor, weasyprint
64-
idna==2.8 # via requests
63+
idna==2.9 # via requests
6564
importlib-metadata==1.5.0 # via pluggy, pytest
6665
ipython-genutils==0.2.0 # via traitlets
67-
ipython==7.12.0
66+
ipython==7.13.0 # via -r requirements.in
6867
jdcal==1.4.1 # via openpyxl
6968
jedi==0.16.0 # via ipython
70-
lxml==4.5.0
71-
markdown2==2.3.8
69+
lxml==4.5.0 # via -r requirements.in
70+
markdown2==2.3.8 # via -r requirements.in
7271
mccabe==0.6.1 # via flake8
7372
more-itertools==8.2.0 # via pytest
7473
oauthlib==3.1.0 # via requests-oauthlib, social-auth-core
75-
openpyxl==2.4.8
74+
openpyxl==2.4.8 # via -r requirements.in
7675
packaging==20.1 # via pytest
77-
parso==0.6.1 # via jedi
76+
parso==0.6.2 # via jedi
7877
pathspec==0.7.0 # via black
79-
pdbpp==0.10.2
78+
pdbpp==0.10.2 # via -r requirements-dev.in
8079
pexpect==4.8.0 # via ipython
81-
phonenumbers==8.11.4
80+
phonenumbers==8.11.4 # via -r requirements.in
8281
pickleshare==0.7.5 # via ipython
8382
pillow==7.0.0 # via cairosvg, djangocms-text-ckeditor, easy-thumbnails
84-
pip-tools==4.4.1
83+
pip-tools==4.5.1 # via -r requirements-dev.in
8584
pluggy==0.13.1 # via pytest
8685
prompt-toolkit==3.0.3 # via ipython
87-
ptvsd==4.3.2
86+
ptvsd==4.3.2 # via -r requirements-dev.in
8887
ptyprocess==0.6.0 # via pexpect
8988
py==1.8.1 # via pytest
9089
pyasn1==0.4.8 # via python-jose, rsa
@@ -96,41 +95,41 @@ pyjwt==1.7.1 # via social-auth-core
9695
pyparsing==2.4.6 # via packaging
9796
pyphen==0.9.5 # via weasyprint
9897
pyrepl==0.9.0 # via fancycompleter
99-
pytest-cov==2.8.1
100-
pytest-django==3.8.0
98+
pytest-cov==2.8.1 # via -r requirements-dev.in
99+
pytest-django==3.8.0 # via -r requirements-dev.in
101100
pytest-forked==1.1.3 # via pytest-xdist
102-
pytest-mock==2.0.0
103-
pytest-xdist==1.31.0
104-
pytest==5.3.5
101+
pytest-mock==2.0.0 # via -r requirements-dev.in
102+
pytest-xdist==1.31.0 # via -r requirements-dev.in
103+
pytest==5.3.5 # via -r requirements-dev.in, pytest-cov, pytest-django, pytest-forked, pytest-mock, pytest-xdist
105104
python-dateutil==2.8.1 # via faker, freezegun
106-
python-decouple==3.3
105+
python-decouple==3.3 # via -r requirements.in
107106
python-jose==3.1.0 # via social-auth-core
108-
python-social-auth==0.3.6
109-
python3-openid==3.1.0
107+
python-social-auth==0.3.6 # via -r requirements.in
108+
python3-openid==3.1.0 # via -r requirements.in, social-auth-core
110109
pytz==2019.3 # via babel, django
111-
regex==2020.1.8 # via black
112-
requests-oauthlib==1.3.0
113-
requests==2.22.0
114-
responses==0.10.9
110+
regex==2020.2.20 # via black
111+
requests-oauthlib==1.3.0 # via -r requirements.in, social-auth-core
112+
requests==2.23.0 # via -r requirements.in, requests-oauthlib, responses, social-auth-core, stripe
113+
responses==0.10.11 # via -r requirements-dev.in
115114
rsa==4.0 # via python-jose
116-
shortuuid==0.5.0
115+
shortuuid==0.5.0 # via -r requirements.in
117116
six==1.14.0 # via django-appconf, django-classy-tags, django-extensions, django-filebrowser-no-grappelli, django-sekizai, ecdsa, freezegun, html5lib, packaging, pip-tools, pytest-xdist, python-dateutil, python-jose, responses, social-auth-app-django, social-auth-core, traitlets
118-
social-auth-app-django==3.1.0
119-
social-auth-core[openidconnect]==3.2.0
120-
stripe==2.42.0
117+
social-auth-app-django==3.1.0 # via -r requirements.in
118+
social-auth-core[openidconnect]==3.2.0 # via -r requirements.in, python-social-auth, social-auth-app-django
119+
stripe==2.43.0 # via -r requirements.in
121120
text-unidecode==1.3 # via faker
122121
tinycss2==1.0.2 # via cairosvg, cssselect2, weasyprint
123122
toml==0.10.0 # via black
124123
traitlets==4.3.3 # via ipython
125124
typed-ast==1.4.1 # via black
126-
unicodecsv==0.14.1
125+
unicodecsv==0.14.1 # via -r requirements.in
127126
unidecode==1.0.23 # via django-filer
128127
urllib3==1.25.8 # via requests
129128
wcwidth==0.1.8 # via prompt-toolkit, pytest
130-
weasyprint==51
129+
weasyprint==51 # via -r requirements.in
131130
webencodings==0.5.1 # via html5lib, tinycss2
132131
wmctrl==0.3 # via pdbpp
133-
zipp==2.2.0 # via importlib-metadata
132+
zipp==3.0.0 # via importlib-metadata
134133

135134
# The following packages are considered to be unsafe in a requirements file:
136135
# setuptools

requirements.txt

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -11,53 +11,53 @@ cairosvg==2.4.2 # via weasyprint
1111
certifi==2019.11.28 # via requests
1212
cffi==1.14.0 # via cairocffi, weasyprint
1313
chardet==3.0.4 # via requests
14-
cmsplugin-filer==1.1.3
14+
cmsplugin-filer==1.1.3 # via -r requirements.in
1515
cssselect2==0.2.2 # via cairosvg, weasyprint
16-
dataclasses==0.7
17-
decorator==4.4.1
16+
dataclasses==0.7 # via -r requirements.in
17+
decorator==4.4.2 # via -r requirements.in, ipython, traitlets
1818
defusedxml==0.6.0 # via cairosvg, python3-openid, social-auth-core
19-
dj-database-url==0.5.0
19+
dj-database-url==0.5.0 # via -r requirements.in
2020
django-appconf==1.0.3 # via cmsplugin-filer
21-
django-classy-tags==1.0.0
22-
django-cms==3.6.0
23-
django-crispy-forms==1.8.1
24-
django-extensions==2.2.8
25-
django-filebrowser-no-grappelli==3.8.0
26-
django-filer==1.5.0
21+
django-classy-tags==1.0.0 # via -r requirements.in, django-cms, django-sekizai
22+
django-cms==3.6.0 # via -r requirements.in, cmsplugin-filer, djangocms-attributes-field, djangocms-grid, djangocms-text-ckeditor
23+
django-crispy-forms==1.9.0 # via -r requirements.in
24+
django-extensions==2.2.8 # via -r requirements.in
25+
django-filebrowser-no-grappelli==3.8.0 # via -r requirements.in
26+
django-filer==1.5.0 # via -r requirements.in, cmsplugin-filer
2727
django-formtools==2.2 # via django-cms
2828
django-js-asset==1.2.2 # via django-mptt
29-
django-markitup==3.5.0
30-
django-model-utils==3.1.1
29+
django-markitup==3.5.0 # via -r requirements.in
30+
django-model-utils==3.1.1 # via -r requirements.in
3131
django-mptt==0.11.0 # via django-filer
32-
django-phonenumber-field==4.0.0
32+
django-phonenumber-field==4.0.0 # via -r requirements.in
3333
django-polymorphic==2.0.3 # via django-filer
3434
django-sekizai==1.1.0 # via cmsplugin-filer, django-cms
35-
django-tagging==0.4.6
36-
django-taggit-labels==0.6.0
37-
django-taggit==0.22.1
35+
django-tagging==0.4.6 # via -r requirements.in
36+
django-taggit-labels==0.6.0 # via -r requirements.in
37+
django-taggit==0.22.1 # via -r requirements.in, django-taggit-labels
3838
django-treebeard==4.3.1 # via django-cms
39-
django==1.11.28
40-
djangocms-admin-style==1.5.0
39+
django==1.11.28 # via -r requirements.in, cmsplugin-filer, django-appconf, django-classy-tags, django-cms, django-filer, django-formtools, django-model-utils, django-mptt, django-phonenumber-field, django-polymorphic, django-sekizai, django-treebeard, djangocms-grid, easy-thumbnails
40+
djangocms-admin-style==1.5.0 # via -r requirements.in, django-cms
4141
djangocms-attributes-field==1.2.0 # via cmsplugin-filer
42-
djangocms-grid==1.3.0
43-
djangocms-text-ckeditor==3.8.0
42+
djangocms-grid==1.3.0 # via -r requirements.in
43+
djangocms-text-ckeditor==3.9.0 # via -r requirements.in
4444
easy-thumbnails==2.7 # via cmsplugin-filer, django-filer
4545
ecdsa==0.15 # via python-jose
4646
et-xmlfile==1.0.1 # via openpyxl
47-
gunicorn==19.10.0
47+
gunicorn==19.10.0 # via -r requirements.in
4848
html5lib==1.0.1 # via djangocms-text-ckeditor, weasyprint
49-
idna==2.8 # via requests
49+
idna==2.9 # via requests
5050
ipython-genutils==0.2.0 # via traitlets
51-
ipython==7.12.0
51+
ipython==7.13.0 # via -r requirements.in
5252
jdcal==1.4.1 # via openpyxl
5353
jedi==0.16.0 # via ipython
54-
lxml==4.5.0
55-
markdown2==2.3.8
54+
lxml==4.5.0 # via -r requirements.in
55+
markdown2==2.3.8 # via -r requirements.in
5656
oauthlib==3.1.0 # via requests-oauthlib, social-auth-core
57-
openpyxl==2.4.8
58-
parso==0.6.1 # via jedi
57+
openpyxl==2.4.8 # via -r requirements.in
58+
parso==0.6.2 # via jedi
5959
pexpect==4.8.0 # via ipython
60-
phonenumbers==8.11.4
60+
phonenumbers==8.11.4 # via -r requirements.in
6161
pickleshare==0.7.5 # via ipython
6262
pillow==7.0.0 # via cairosvg, djangocms-text-ckeditor, easy-thumbnails
6363
prompt-toolkit==3.0.3 # via ipython
@@ -67,26 +67,26 @@ pycparser==2.19 # via cffi
6767
pygments==2.5.2 # via ipython
6868
pyjwt==1.7.1 # via social-auth-core
6969
pyphen==0.9.5 # via weasyprint
70-
python-decouple==3.3
70+
python-decouple==3.3 # via -r requirements.in
7171
python-jose==3.1.0 # via social-auth-core
72-
python-social-auth==0.3.6
73-
python3-openid==3.1.0
72+
python-social-auth==0.3.6 # via -r requirements.in
73+
python3-openid==3.1.0 # via -r requirements.in, social-auth-core
7474
pytz==2019.3 # via babel, django
75-
requests-oauthlib==1.3.0
76-
requests==2.22.0
75+
requests-oauthlib==1.3.0 # via -r requirements.in, social-auth-core
76+
requests==2.23.0 # via -r requirements.in, requests-oauthlib, social-auth-core, stripe
7777
rsa==4.0 # via python-jose
78-
shortuuid==0.5.0
78+
shortuuid==0.5.0 # via -r requirements.in
7979
six==1.14.0 # via django-appconf, django-classy-tags, django-extensions, django-filebrowser-no-grappelli, django-sekizai, ecdsa, html5lib, python-jose, social-auth-app-django, social-auth-core, traitlets
80-
social-auth-app-django==3.1.0
81-
social-auth-core[openidconnect]==3.2.0
82-
stripe==2.42.0
80+
social-auth-app-django==3.1.0 # via -r requirements.in
81+
social-auth-core[openidconnect]==3.2.0 # via -r requirements.in, python-social-auth, social-auth-app-django
82+
stripe==2.43.0 # via -r requirements.in
8383
tinycss2==1.0.2 # via cairosvg, cssselect2, weasyprint
8484
traitlets==4.3.3 # via ipython
85-
unicodecsv==0.14.1
85+
unicodecsv==0.14.1 # via -r requirements.in
8686
unidecode==1.0.23 # via django-filer
8787
urllib3==1.25.8 # via requests
8888
wcwidth==0.1.8 # via prompt-toolkit
89-
weasyprint==51
89+
weasyprint==51 # via -r requirements.in
9090
webencodings==0.5.1 # via html5lib, tinycss2
9191

9292
# The following packages are considered to be unsafe in a requirements file:

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ omit =
1818
*/urls.py
1919
scripts/*
2020
manage.py
21-
pycon/wsgi.py
21+
pycon/*.py
2222
# The exclusions below should be reviewed
2323
*/admin.py
2424
conference/utils/*.py

0 commit comments

Comments
 (0)