django-cms-qe 3.0.1__py3-none-any.whl → 3.0.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. cms_qe/boilerplates/bootstrap3/templates/cms_qe/home.html +1 -2
  2. cms_qe/settings/base/app.py +0 -1
  3. cms_qe/settings/base/cms.py +2 -1
  4. cms_qe_i18n/templates/cms_qe/i18n/language_switcher.html +0 -2
  5. cms_qe_newsletter/templates/admin/cms_qe_newsletter/mailinglist/change_list.html +0 -1
  6. cms_qe_table/templates/cms_qe/table/columns_widget.html +1 -2
  7. {django_cms_qe-3.0.1.dist-info → django_cms_qe-3.0.3.dist-info}/METADATA +2 -2
  8. {django_cms_qe-3.0.1.dist-info → django_cms_qe-3.0.3.dist-info}/RECORD +11 -61
  9. cms_qe/tests/__init__.py +0 -0
  10. cms_qe/tests/test_errors.py +0 -61
  11. cms_qe/tests/test_export.py +0 -108
  12. cms_qe/tests/test_monitoring.py +0 -15
  13. cms_qe/tests/test_utils.py +0 -77
  14. cms_qe/tests/test_views_security.py +0 -18
  15. cms_qe_analytical/LICENSE.txt +0 -19
  16. cms_qe_analytical/tests/__init__.py +0 -0
  17. cms_qe_analytical/tests/settings.py +0 -24
  18. cms_qe_analytical/tests/templatetags/__init__.py +0 -0
  19. cms_qe_analytical/tests/templatetags/dummy.py +0 -37
  20. cms_qe_analytical/tests/test_tag_google_analytics.py +0 -178
  21. cms_qe_analytical/tests/test_tag_piwik.py +0 -152
  22. cms_qe_analytical/tests/test_utils.py +0 -112
  23. cms_qe_analytical/tests/utils.py +0 -56
  24. cms_qe_auth/migrations/__pycache__/0001_initial.cpython-38.pyc +0 -0
  25. cms_qe_auth/migrations/__pycache__/0002_auto_20171208_0915.cpython-38.pyc +0 -0
  26. cms_qe_auth/migrations/__pycache__/0003_auto_20210420_1050.cpython-38.pyc +0 -0
  27. cms_qe_auth/migrations/__pycache__/__init__.cpython-38.pyc +0 -0
  28. cms_qe_auth/tests/__init__.py +0 -0
  29. cms_qe_auth/tests/test_models.py +0 -70
  30. cms_qe_auth/tests/test_utils.py +0 -36
  31. cms_qe_auth/tests/test_view.py +0 -72
  32. cms_qe_auth/tests/utils.py +0 -22
  33. cms_qe_menu/migrations/__pycache__/0001_initial.cpython-38.pyc +0 -0
  34. cms_qe_menu/migrations/__pycache__/__init__.cpython-38.pyc +0 -0
  35. cms_qe_newsletter/migrations/__pycache__/0001_initial.cpython-38.pyc +0 -0
  36. cms_qe_newsletter/migrations/__pycache__/__init__.cpython-38.pyc +0 -0
  37. cms_qe_newsletter/tests/__init__.py +0 -0
  38. cms_qe_newsletter/tests/test_mailchimp.py +0 -38
  39. cms_qe_newsletter/tests/test_managment.py +0 -22
  40. cms_qe_newsletter/tests/test_models.py +0 -43
  41. cms_qe_newsletter/tests/test_plugin.py +0 -21
  42. cms_qe_newsletter/tests/test_sync.py +0 -71
  43. cms_qe_newsletter/tests/test_views.py +0 -13
  44. cms_qe_table/migrations/__pycache__/0001_initial.cpython-38.pyc +0 -0
  45. cms_qe_table/migrations/__pycache__/0002_tablepluginmodel_filter.cpython-38.pyc +0 -0
  46. cms_qe_table/migrations/__pycache__/__init__.cpython-38.pyc +0 -0
  47. cms_qe_table/static/cms_qe/css/table/columns-widget.css +0 -11
  48. cms_qe_table/static/cms_qe/js/table/Sortable.min.js +0 -2
  49. cms_qe_table/tests/__init__.py +0 -0
  50. cms_qe_table/tests/test_models.py +0 -23
  51. cms_qe_table/tests/test_plugin.py +0 -18
  52. cms_qe_table/tests/test_utils.py +0 -90
  53. cms_qe_video/migrations/__pycache__/0001_initial.cpython-38.pyc +0 -0
  54. cms_qe_video/migrations/__pycache__/__init__.cpython-38.pyc +0 -0
  55. cms_qe_video/tests/__init__.py +0 -0
  56. cms_qe_video/tests/test_models.py +0 -96
  57. cms_qe_video/tests/test_plugin.py +0 -24
  58. cms_qe_video/tests/test_templatetags.py +0 -20
  59. {django_cms_qe-3.0.1.dist-info → django_cms_qe-3.0.3.dist-info}/LICENSE +0 -0
  60. {django_cms_qe-3.0.1.dist-info → django_cms_qe-3.0.3.dist-info}/WHEEL +0 -0
  61. {django_cms_qe-3.0.1.dist-info → django_cms_qe-3.0.3.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,4 @@
1
- {% load i18n cms_tags sekizai_tags %}
2
- {% load static from staticfiles %}
1
+ {% load static i18n cms_tags sekizai_tags %}
3
2
 
4
3
  {% addtoblock "css" %}
5
4
  <link rel="stylesheet" href="{% static "cms_qe/css/bootstrap.min.css" %}" />
@@ -53,7 +53,6 @@ INSTALLED_APPS = [
53
53
  # Django Filer's modules.
54
54
  'filer',
55
55
  'easy_thumbnails',
56
- 'mptt',
57
56
 
58
57
  # Other Django Files's useful modules.
59
58
  'djangocms_file',
@@ -55,7 +55,8 @@ CMSPLUGIN_FILER_IMAGE_DEFAULT_STYLE = 'main'
55
55
  # Frontend plugins.
56
56
 
57
57
  DJANGOCMS_FRONTEND_TAG_CHOICES = (
58
- "div", "section", "article", "header", "footer", "aside", 'p', 'iframe', 'link', 'script', 'hgroup', 'figure'
58
+ "div", "section", "article", "header", "footer", "aside", 'p', 'iframe', 'link', 'script', 'hgroup', 'figure',
59
+ 'figcaption'
59
60
  )
60
61
 
61
62
  DJANGOCMS_FRONTEND_GRID_CONTAINERS = (
@@ -1,5 +1,3 @@
1
- {% load static from staticfiles %}
2
-
3
1
  {% for key, label in languages %}
4
2
  {% if language == key %}
5
3
  <span title="{{ title }}">{{ key|upper }}</span>
@@ -1,6 +1,5 @@
1
1
  {% extends "admin/change_list.html" %}
2
2
  {% load i18n admin_urls admin_list %}
3
- {% load static from staticfiles %}
4
3
 
5
4
  {% block object-tools-items %}
6
5
  {% if has_add_permission %}
@@ -1,5 +1,4 @@
1
- {% load i18n %}
2
- {% load static from staticfiles %}
1
+ {% load static i18n %}
3
2
  {{ select }}
4
3
 
5
4
  <link rel="stylesheet" type="text/css" href="{% static "cms_qe/css/table/columns-widget.css" %}">
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-cms-qe
3
- Version: 3.0.1
3
+ Version: 3.0.3
4
4
  Summary: Django CMS Quick & Easy provides all important modules to run new page withouta lot of coding. Aims to do it very easily and securely.
5
5
  Home-page: https://websites.pages.nic.cz/django-cms-qe
6
6
  Author: CZ.NIC, z.s.p.o.
@@ -44,6 +44,7 @@ Requires-Dist: argon2-cffi ~=21.3
44
44
  Requires-Dist: djangocms-aldryn-forms[captcha]
45
45
  Requires-Dist: djangocms-aldryn-search
46
46
  Requires-Dist: django-haystack ~=3.2
47
+ Requires-Dist: pymemcache ~=4.0
47
48
  Requires-Dist: whoosh ~=2.7
48
49
  Provides-Extra: build
49
50
  Requires-Dist: Jinja2 <3.1.0 ; extra == 'build'
@@ -74,7 +75,6 @@ Requires-Dist: PyVirtualDisplay ==1.3.2 ; extra == 'test'
74
75
  Requires-Dist: webdriverwrapper ==2.8.0 ; extra == 'test'
75
76
  Requires-Dist: django-simple-captcha ==0.5.14 ; extra == 'test'
76
77
  Requires-Dist: tzdata ; extra == 'test'
77
- Requires-Dist: django-mptt ; extra == 'test'
78
78
 
79
79
  # Django CMS QE
80
80
 
@@ -25,7 +25,7 @@ cms_qe/boilerplates/bootstrap3/static/cms_qe/js/bootstrap.min.js,sha256=U5ZEeKfG
25
25
  cms_qe/boilerplates/bootstrap3/static/cms_qe/js/jquery_3.2.1.min.js,sha256=hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4,86659
26
26
  cms_qe/boilerplates/bootstrap3/static/cms_qe/js/npm.js,sha256=x6qCoap9RSJKONkm0q2v9_5K71vNr6Kke9rAV_RCLC0,484
27
27
  cms_qe/boilerplates/bootstrap3/templates/cms_qe/error.html,sha256=gHFQbT2KPAwnhos6uMk4gvijDjubwiOA-j_q9fASBZM,375
28
- cms_qe/boilerplates/bootstrap3/templates/cms_qe/home.html,sha256=vRlYopEtRy7RbCTPAZzEa93Zzcvw0Ez5wQdjfH6-j2w,1493
28
+ cms_qe/boilerplates/bootstrap3/templates/cms_qe/home.html,sha256=swbpKbL2KJhDdnuLRUelfQn7xPxolzYye4fLrLjFVOM,1465
29
29
  cms_qe/boilerplates/bootstrap3/templates/cmsplugin_filer_folder/plugins/folder/gallery.html,sha256=ZAbkXcsJ6mwAJt0vQNd55ZWB-BhJ_gtvtbnKx8PysV8,3107
30
30
  cms_qe/haystack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  cms_qe/haystack/forms.py,sha256=HFBbmq6oH-Ao85xuqbfLfv1Bg-UyzT6Lug7BzHSyZ-I,851
@@ -45,10 +45,10 @@ cms_qe/settings/__init__.py,sha256=GJwHXMHwMuGYE-3ZzePJ-26I2WwE8bAIMUDoiTFr0L8,9
45
45
  cms_qe/settings/dev.py,sha256=51CBwiclE8LLoNB2uioIK_L3JhM1yzukQ0gZimkcFqw,1487
46
46
  cms_qe/settings/unittest.py,sha256=folLIMJb1Arh60_Sn0eNQrvIlx0OsAs6v1tDfyRZVuQ,514
47
47
  cms_qe/settings/base/__init__.py,sha256=5yHfne9gPD_xuTaG3voZP23yzuCwROmif2mmKs-hG_A,446
48
- cms_qe/settings/base/app.py,sha256=S9HS2uHTqHDeOb8BwxVo9hHAVPXJjUGnukXakvX19uo,3851
48
+ cms_qe/settings/base/app.py,sha256=vzHEMzjghEuBrF0iALbvV5KE3rq4lZ8CVoaY-I5JXnA,3839
49
49
  cms_qe/settings/base/auth.py,sha256=axEmEG5UYxyY3EE0keQjGZzkTv2iwxwfULr4LcvZPns,207
50
50
  cms_qe/settings/base/cache.py,sha256=9p6C5lOz1pG-6k15PyvxlShUjBYIbU0ewpA8AX_YFus,297
51
- cms_qe/settings/base/cms.py,sha256=X7SMMcEMsgbMsm9Mv-tJfsywxLgVNnZfi5lsBbVEDWY,1837
51
+ cms_qe/settings/base/cms.py,sha256=8icCNxcEp_KRDyP8-LXB21UurJL4wNysY39whAyt3I4,1855
52
52
  cms_qe/settings/base/constants.py,sha256=hnPVUUcCAsgDqwSJ0Qqzj3bPEyIMonpEBX6dfGphCzc,6484
53
53
  cms_qe/settings/base/database.py,sha256=qT7ePr2lg4CVJcHnG2nXFPPvzIjBOLB4auvRiWxaDPY,408
54
54
  cms_qe/settings/base/email.py,sha256=agT6ZBAyT29TUEQIRYObAdgOSETLlZEi7KizNhr9dVc,357
@@ -74,12 +74,6 @@ cms_qe/templates/cmsplugin_filer_folder/plugins/folder/main.html,sha256=8IiTXNU4
74
74
  cms_qe/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
75
  cms_qe/templatetags/cms_qe_filters.py,sha256=ciYCXLuMVde-f_-B_7a5mHfAJPWPMxYEUMgCHpualRY,784
76
76
  cms_qe/templatetags/kwacros.py,sha256=r2oHLltu8BgKKlrpgzXgvLjbIqwcrH13Lww3zTF-nr8,6275
77
- cms_qe/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
- cms_qe/tests/test_errors.py,sha256=sICTfVKbNbqDjpLvT_v485lML8P-MQBIyr9BJUDAKcw,2372
79
- cms_qe/tests/test_export.py,sha256=mh6KO95gVt4Q7CTNDTHvHq4lQH-lFBVI5W4-cHImBto,3456
80
- cms_qe/tests/test_monitoring.py,sha256=xa8mBu-TdBAUIUlnoWQpWtMDa5p8DmD0DCyR82Iu5K8,350
81
- cms_qe/tests/test_utils.py,sha256=iPBDNE4YNsqw-nOfn2J0x74vgDl8xqvDJrFy7Z1U7yo,2535
82
- cms_qe/tests/test_views_security.py,sha256=RvyilVNoAiWApgn3iWJk1t6IaVTn0z6zv5M5sOzyM18,701
83
77
  cms_qe/views/__init__.py,sha256=3b5FCZ5MaqgiWglC7c5mfvP3WYLWTtNp3YpVb9BgYi8,106
84
78
  cms_qe/views/errors.py,sha256=zUbCoyXy_MPsQv3UV1mgq-q2bwqPw9G4KgKU2-oue4w,3169
85
79
  cms_qe/views/monitoring.py,sha256=1r2s_jm6B6P0gEmiqjH9m3loUW3BmJivvpg6qcUOxVM,1909
@@ -87,20 +81,11 @@ cms_qe/views/search_result.py,sha256=H1eMOmtONnWqBDsBvz3MartyHhh42vyi0jPoxWb0X8c
87
81
  cms_qe/views/security.py,sha256=SNdJe4NSm1vuOGchVF3VqlmFDopt9xYoO-b4Y0UxkFU,1108
88
82
  cms_qe/whoosh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
83
  cms_qe/whoosh/backend.py,sha256=YOVJGz3htWdcSUbYtX2a9VqywAU3EJP_EvxXHCY0QVA,5418
90
- cms_qe_analytical/LICENSE.txt,sha256=ptQIrnsiWFFf2LZ60DTAO6XA7CQYFuwhX1m4kzhv5_8,1072
91
84
  cms_qe_analytical/__init__.py,sha256=G2QJmxgo4HbUvG4GObM7PcCodfo8SM2auAVQoa36mBY,4189
92
85
  cms_qe_analytical/utils.py,sha256=oQRPUyGIWW4lfaVNBPuwBwvnLg-D2JWaRHgNQrwvjcU,5149
93
86
  cms_qe_analytical/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
87
  cms_qe_analytical/templatetags/google_analytics.py,sha256=cN87jJzwVcjhqSS2JKTmPt9WntuBLnzxEcwgjrQMJSg,7370
95
88
  cms_qe_analytical/templatetags/piwik.py,sha256=EHOaojmewFpMqHzm_QCtCXGc_HGoiCJ_G-LPc8IfjM4,4131
96
- cms_qe_analytical/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
- cms_qe_analytical/tests/settings.py,sha256=o8gNKNCS6Pwqmih2MUxkt3PUpNljta3Xx2_HdZfS6dU,438
98
- cms_qe_analytical/tests/test_tag_google_analytics.py,sha256=n3ocL7rrsS_J2uy-ECObaCV7VJ4BjF_Y2abOPh24Rgs,8227
99
- cms_qe_analytical/tests/test_tag_piwik.py,sha256=CZ9u_3tYVXFvVkH3t5e0vyibzylFIGqPYEWUjqS6z_8,6186
100
- cms_qe_analytical/tests/test_utils.py,sha256=XWaemXx9P8Aab9GJWgx60cH1pfPuZieSvlPJ8z05PCY,4062
101
- cms_qe_analytical/tests/utils.py,sha256=iZgimMaZmzotuRchh7qs5IaxuUUSYg4-ufigR91jyMg,1413
102
- cms_qe_analytical/tests/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
- cms_qe_analytical/tests/templatetags/dummy.py,sha256=mIRwUFWsdkmvKkUShCFkpVZLunRD7XhdXevpnf5WSB0,920
104
89
  cms_qe_auth/__init__.py,sha256=SZS-CdmFLgIN4WGaUX_780L-vH0lqC7CdxKWjm_EuxE,867
105
90
  cms_qe_auth/admin.py,sha256=_Lj2OjIGRChal66ifTsin2iYW-UwLtd32WAT7__fLLY,140
106
91
  cms_qe_auth/apps.py,sha256=YiIgOI3Bxj4-7IZdxUEvHmTK1xS9fR2qMS-fe5AZ-W0,191
@@ -128,10 +113,6 @@ cms_qe_auth/migrations/0003_auto_20210420_1050.py,sha256=i8uT8fXA1mFbuX0so4jlpHN
128
113
  cms_qe_auth/migrations/0004_alter_user_first_name_alter_user_id.py,sha256=j_-cFFP9aIF-wMySrKD5LLMtAbfIPVkptcsIUMFBfAk,700
129
114
  cms_qe_auth/migrations/0005_delete_group.py,sha256=iq-PbsNsBKjwH1L2oiaJM7jY3e0hIaOLLMR9pJOPTBk,315
130
115
  cms_qe_auth/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
- cms_qe_auth/migrations/__pycache__/0001_initial.cpython-38.pyc,sha256=perFamfKxrBQzJcYm-7oulAUmLXMmMdtJ8jrMl2zEus,2688
132
- cms_qe_auth/migrations/__pycache__/0002_auto_20171208_0915.cpython-38.pyc,sha256=XecadpTaucI9AxZOnPqhxOniAfZ78Eg_cQY1OslbOPk,595
133
- cms_qe_auth/migrations/__pycache__/0003_auto_20210420_1050.cpython-38.pyc,sha256=9xzSMWCagvSscKHrCJkZzG63iI_ZfEcyr8a__hvn2cM,815
134
- cms_qe_auth/migrations/__pycache__/__init__.cpython-38.pyc,sha256=m9QynwzKsg11znmVPkP45MoXoPxKUbcLowSiUBtOqNY,163
135
116
  cms_qe_auth/templates/cms_qe/auth/email_confirmation_complete.html,sha256=97o-axYK2wvRbYcKrrAjTkZL3jMZE7Vm4GHgWd6Lg5Q,309
136
117
  cms_qe_auth/templates/cms_qe/auth/email_confirmation_fail.html,sha256=bG0yMFOHWswvFpGK7q5eLTLm6_CQlhJ75zs_CkBpFlw,199
137
118
  cms_qe_auth/templates/cms_qe/auth/locked.html,sha256=4ieIR9Vzc9Igbjq5gfkB8SEupT1xOD1OnmwYgFfFg0U,303
@@ -157,11 +138,6 @@ cms_qe_auth/templates/cms_qe/auth/email/activation.html,sha256=5KzIsVw-r_3yzi47t
157
138
  cms_qe_auth/templates/cms_qe/auth/email/activation.txt,sha256=rtNkt3bk-RHAWWU8TLS7JbJadHxAuTmW4TjQw6q4Czk,302
158
139
  cms_qe_auth/templates/cms_qe/auth/email/base.html,sha256=PsNYnKORXRZuhhr0Xcg8ebvd-VuJPaBn3ghStCoW8tw,511
159
140
  cms_qe_auth/templates/cms_qe/auth/email/base.txt,sha256=I7CXI7IuUYW_juVJIH1Dlc3asQlEmRMmJDf-thjqObU,142
160
- cms_qe_auth/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
- cms_qe_auth/tests/test_models.py,sha256=ps5FsQY9ohHHkxezWFwQn4Qv_XnZKSF6kxXm-fShW8s,2238
162
- cms_qe_auth/tests/test_utils.py,sha256=NjV36oPUUF2eiaTt5SmO2u-dYQgLZiDr64VtpRbdMjI,767
163
- cms_qe_auth/tests/test_view.py,sha256=LpIpWzU8QtjF0pRDkg24AiVM7lRiLSvS-rqVsMbWdsU,2284
164
- cms_qe_auth/tests/utils.py,sha256=7aYvjZofMNBLA7VNwSxa1lp_eHnpURhIdvwaHnPmy_s,581
165
141
  cms_qe_breadcrumb/__init__.py,sha256=RSHANxs85gpPyR2td66syP--Ue6d5AiTv4kbcLWQRRU,344
166
142
  cms_qe_breadcrumb/cms_plugins.py,sha256=3-DFIh-LMn3-IL2UJM8Y8-zD-XuiWHMk1ZBXon1-Vls,387
167
143
  cms_qe_breadcrumb/tests.py,sha256=4eZDHwEMYxRJCvE8XI4M6eJRbGZIaq8PvrzN5eqbBgI,540
@@ -3858,7 +3834,7 @@ cms_qe_i18n/static/cms_qe/3rd/gosquared/flags-iso/shiny/ico/_south-ossetia.ico,s
3858
3834
  cms_qe_i18n/static/cms_qe/3rd/gosquared/flags-iso/shiny/ico/_united-nations.ico,sha256=Adir6XY9cjUR4Iel9o95xInxFWl1y35mcdtJOgSfvqw,34494
3859
3835
  cms_qe_i18n/static/cms_qe/3rd/gosquared/flags-iso/shiny/ico/_unknown.ico,sha256=4QUYEy3tfuUXOZUxIfbv53QSqoW9dE6nslalptp1HkQ,34494
3860
3836
  cms_qe_i18n/static/cms_qe/3rd/gosquared/flags-iso/shiny/ico/_wales.ico,sha256=IWW9vMqUf4rLamvkuPxBpBC-X1SLdhsEIdlSJ2m3Gqg,34494
3861
- cms_qe_i18n/templates/cms_qe/i18n/language_switcher.html,sha256=hhLPd2faUsocU7L8hqX2Tg7kQ6tzaI_lYjCEbfvzDOM,321
3837
+ cms_qe_i18n/templates/cms_qe/i18n/language_switcher.html,sha256=Y_nS1S6ePYaCJJlYPA0EW5VlQpQEXHicsST9JUQWk8I,285
3862
3838
  cms_qe_menu/__init__.py,sha256=wwN6P4_9g5upVZVhJwwYKflTavlQUKSUx-ZuHuD51CQ,687
3863
3839
  cms_qe_menu/cms_plugins.py,sha256=9re_M1jF-GoCqaEzCEP66cU2gz21SVl7B6D6UU5G-VA,445
3864
3840
  cms_qe_menu/models.py,sha256=OXe4XqwZXPBnjYjiGWrnhZyOvqmEMVzRNP4F7OxRArc,2196
@@ -3872,8 +3848,6 @@ cms_qe_menu/locale/en/LC_MESSAGES/django.po,sha256=z6hX3eAFPSjRpHDD7OM5M7z8McizS
3872
3848
  cms_qe_menu/migrations/0001_initial.py,sha256=S14tP7e2nuMhhsZJGJbMN11mQvi1JIoFuVfYGUc0aeI,1455
3873
3849
  cms_qe_menu/migrations/0002_alter_menupluginmodel_cmsplugin_ptr.py,sha256=K889YBRId8FrBSf9MDRrCFEto9FkNX6mB4ErAV19A4g,765
3874
3850
  cms_qe_menu/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3875
- cms_qe_menu/migrations/__pycache__/0001_initial.cpython-38.pyc,sha256=BCxgJILcb1GHFioOi4RgxqRD5dw-lkDD-gEq5c7x4L8,1568
3876
- cms_qe_menu/migrations/__pycache__/__init__.cpython-38.pyc,sha256=vOrW-cUdJfj00ZyRXSo1fNQfeIrAJtz5InMcmqdsgbg,163
3877
3851
  cms_qe_menu/templates/cms_qe/menu/menu.html,sha256=Us7xVn09GxLoWXHSOIu5pXSCQaLF1vFy-Xy_nKAnxeg,333
3878
3852
  cms_qe_menu/templates/cms_qe/menu/menu_tag.html,sha256=ZtB6qk8funm69hJaUMb8VfbUqe5ED4mcKu9-eAg6zh8,324
3879
3853
  cms_qe_menu/templates/cms_qe/menu/submenu_tag.html,sha256=WAt0wMDMrbeCb5pxYXBkuS8alpveBFUnMa_YdRSSiPk,119
@@ -3903,19 +3877,10 @@ cms_qe_newsletter/management/commands/cms_qe_newsletter_sync.py,sha256=2aNQUGqGj
3903
3877
  cms_qe_newsletter/migrations/0001_initial.py,sha256=zpbbaCss2a-DHi4L3IvSIlhH0dd7z79qF9QxUlvTn8E,3384
3904
3878
  cms_qe_newsletter/migrations/0002_alter_mailinglist_id_and_more.py,sha256=rdU732lC12zBmDvcEnK11iMp1WwJ1E7U1TJT2xJ1z44,1513
3905
3879
  cms_qe_newsletter/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3906
- cms_qe_newsletter/migrations/__pycache__/0001_initial.cpython-38.pyc,sha256=S5EH90h3jx_VTEWSQdaL6lSxi28tprGFEFa66RPvWvI,2290
3907
- cms_qe_newsletter/migrations/__pycache__/__init__.cpython-38.pyc,sha256=OgwvUliIAYr6QXZl89viRQ3JW9pa1_2voC_5C1xgul4,169
3908
- cms_qe_newsletter/templates/admin/cms_qe_newsletter/mailinglist/change_list.html,sha256=JniZTuOuwc6wU7bg0sgQ5RcZvlwdcJDgc2hgrZbXY2Q,471
3880
+ cms_qe_newsletter/templates/admin/cms_qe_newsletter/mailinglist/change_list.html,sha256=SrqxWB61nIHDFavdjwVWq6CfyXV_mxG2-dxgm7x8vic,436
3909
3881
  cms_qe_newsletter/templates/cms_qe/newsletter/form.html,sha256=5YsoZlQsxlBfMStROmK8V9T0-w5akjCu3a75GlpO9bk,385
3910
3882
  cms_qe_newsletter/templates/cms_qe/newsletter/newsletter.html,sha256=0YnNGr4hNhAlkM-7ISeE8y1vRhFi7DdjJI_QH_B_ME4,195
3911
3883
  cms_qe_newsletter/templates/cms_qe/newsletter/submitted.html,sha256=mOgMi56fuo3VFGC7P_uIA0XQQ7qAkG130s-WuvmF-n4,51
3912
- cms_qe_newsletter/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3913
- cms_qe_newsletter/tests/test_mailchimp.py,sha256=_fwNbNjeZA1plUWgFl_NSjly9jqyzG170Bt-mavSQvM,1159
3914
- cms_qe_newsletter/tests/test_managment.py,sha256=mz-ztXPtcVR01V8_mjpBpUgxwa1OrI90UgCShwnW3sA,886
3915
- cms_qe_newsletter/tests/test_models.py,sha256=w428Cl_ZF_GvsGDavb8vIoZlkJLKL5Z7ZN5fK0d76ks,1432
3916
- cms_qe_newsletter/tests/test_plugin.py,sha256=HhSz-QcXAp3KJelQ7r0Z3np_QNHrJY7QbPODv3NI9Pg,523
3917
- cms_qe_newsletter/tests/test_sync.py,sha256=09Cszu3IWvgh6c8m8a-aXtbKWI_yZQbjwkfLT0fdlzI,2269
3918
- cms_qe_newsletter/tests/test_views.py,sha256=IJ621fRok6kK2BfSKfnY-EWVfFXoVRD_rHBpiboZKnk,449
3919
3884
  cms_qe_table/__init__.py,sha256=0eiVSkglZ6A-QLBnGXQdTlysM6dj2kfTc6scFcUGGVA,1084
3920
3885
  cms_qe_table/cms_plugins.py,sha256=dR8b7h_xOJnQ4CDetxrfOiv1tfekhdnpe4KbKqasLi0,1065
3921
3886
  cms_qe_table/exceptions.py,sha256=D9jeyKebnha1lObxS-eJhDeIYLobqlQCLieqg5jPkEU,349
@@ -3935,12 +3900,7 @@ cms_qe_table/locale/en/LC_MESSAGES/django.po,sha256=4Y8d5gJlwp6PDkEEN19IEwNpN1z7
3935
3900
  cms_qe_table/migrations/0001_initial.py,sha256=ZpPaS-CpveuWZ2YCDvbY9mqoKYuPBaMYScI2Yn4J9aw,1706
3936
3901
  cms_qe_table/migrations/0002_alter_tablepluginmodel_columns_and_more.py,sha256=edJFAeAoF5sLrz91JyshIwWaX-5hy6q9zPmHrejQV5Y,607
3937
3902
  cms_qe_table/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3938
- cms_qe_table/migrations/__pycache__/0001_initial.cpython-38.pyc,sha256=cnE5A68ctPwxo2mMGYANUxfEo7af7GL9MGz3RU7TNnI,1293
3939
- cms_qe_table/migrations/__pycache__/0002_tablepluginmodel_filter.cpython-38.pyc,sha256=4eIXRREfD3__XZRJv4IH_hJqzYli5rLgCm1gTcgr6C0,715
3940
- cms_qe_table/migrations/__pycache__/__init__.cpython-38.pyc,sha256=iFzrk7gKW7hxHg32j-mjWF9BLjcf5dXEUoJIQBx08Y4,164
3941
- cms_qe_table/static/cms_qe/css/table/columns-widget.css,sha256=Io7dU_nuRpSqXFxSsw0Dxk1ZuPolCxm2iSiZJKt15fI,184
3942
- cms_qe_table/static/cms_qe/js/table/Sortable.min.js,sha256=ncVUo40HSaxFORNNlffKfkkhbsUHNLAzQ2SFlRUw7gA,15369
3943
- cms_qe_table/templates/cms_qe/table/columns_widget.html,sha256=QyHX_TNbbzutPnu8QyPdEBT0LLXT3Y6PV1qQ9cGN-3g,4467
3903
+ cms_qe_table/templates/cms_qe/table/columns_widget.html,sha256=ghThHtrJLYGV8RlvYvgwwyX6koq4v42CoxL41LTUqiY,4439
3944
3904
  cms_qe_table/templates/cms_qe/table/filter_widget.html,sha256=XY5SP0wIWgiAhiW2wiW2tMHg6EPpPGErguGI8WXDaZ0,2603
3945
3905
  cms_qe_table/templates/cms_qe/table/paging.html,sha256=jgoXzKk7eQ51Hbd-nsjfUrmOhnTKxArZVQ6uXKGvpZs,621
3946
3906
  cms_qe_table/templates/cms_qe/table/table.html,sha256=uAYsPaH7ZzA9rOrMBNO7VO7NrgE9MLH35_NF-1n9-Ck,471
@@ -3951,10 +3911,6 @@ cms_qe_table/templates/cms_qe/table/table_value_int.html,sha256=mjmA7u_ENXs3JHza
3951
3911
  cms_qe_table/templates/cms_qe/table/table_widget.html,sha256=tsjlS5Mc_6iALFk0QIexPkFVLEwSb1PlsCkntqfuTwk,1315
3952
3912
  cms_qe_table/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3953
3913
  cms_qe_table/templatetags/cms_qe_table_filters.py,sha256=eFBB2FoCcpQRAknMIJLac0ts18w8XIODbouuJlP0ty4,782
3954
- cms_qe_table/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3955
- cms_qe_table/tests/test_models.py,sha256=6DsUUvIwZXIxiys8NUECswb6Laxr3eUsiY1B9nFbolY,728
3956
- cms_qe_table/tests/test_plugin.py,sha256=L66BSM-Yco2hI0ZPIEgx0IZeE3S_Z8DaVANDXKdEsbM,549
3957
- cms_qe_table/tests/test_utils.py,sha256=hORUKMjRman02zW3dLb7f4RDgCL9E-wCtt-gfxifMCY,2857
3958
3914
  cms_qe_test/__init__.py,sha256=-Vc3K2g4JFSE2qw5AvuTGi4rwQGMOXAEycrjgFWk1BQ,121
3959
3915
  cms_qe_test/cms.py,sha256=pspLQxbnwG71PuZKtwfWDu6uVk7RYO86Od1cDXBF108,1796
3960
3916
  cms_qe_video/__init__.py,sha256=2iOdITrw_UvFcQpFA0rhUWBCRe2qvTuDvltp5Q233cc,1070
@@ -3969,18 +3925,12 @@ cms_qe_video/locale/en/LC_MESSAGES/django.po,sha256=Kgi79guoKVK6CAiPSd2LW59Z5FWU
3969
3925
  cms_qe_video/migrations/0001_initial.py,sha256=_VkuQ1NfoIUKmleKYRtx0-hq8k1REVSWhDbEtzNFIDc,5640
3970
3926
  cms_qe_video/migrations/0002_alter_hostingvideoplayer_cmsplugin_ptr_and_more.py,sha256=fvmKbfGJU8CvDoHLOaS4N74tbqALtzJNw3QIkfTU3Hw,1624
3971
3927
  cms_qe_video/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3972
- cms_qe_video/migrations/__pycache__/0001_initial.cpython-38.pyc,sha256=-lmMaV-DGMRtGs5ESQi53lAqtBkxRhMIJR4ze9h_orM,3183
3973
- cms_qe_video/migrations/__pycache__/__init__.cpython-38.pyc,sha256=-GhhXIpjdL4VGqCxLLE3hreHMnV6Geu5Z_1kpqnQf0o,164
3974
3928
  cms_qe_video/templates/cms_qe/video/iframe_with_embed_link.html,sha256=K_GaqgEraAb-9UkfVZFajQ9qW-mILJSGePUCS4icXDc,447
3975
3929
  cms_qe_video/templates/cms_qe/video/track.html,sha256=EriBGOOCxaMe_1G7AELwHgse4Pq6PIo277kvKZnLQ5E,684
3976
3930
  cms_qe_video/templates/cms_qe/video/video_source_file.html,sha256=QJF5fs88s9FznpfFFWuKeIPYkPTAUKZe4dfNp9ShSdQ,602
3977
3931
  cms_qe_video/templates/cms_qe/video/video_widget.html,sha256=Yumciq6bGlAYI1lYx5j9V6IF8QYrncNYygPTkXEz6Wk,925
3978
3932
  cms_qe_video/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3979
3933
  cms_qe_video/templatetags/cms_qe_video.py,sha256=NR_mGv91J0rEreZrQjCzaaXSrZsKvrSas12wMJ-Dg24,1168
3980
- cms_qe_video/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3981
- cms_qe_video/tests/test_models.py,sha256=iTTQEFO9D8Shd5-5-EvM-mlvh8etww3c9Kf-DUVwz94,4366
3982
- cms_qe_video/tests/test_plugin.py,sha256=cod8QXTGOLpFgzB105JvzVoyTRq2UOY5Jpqos6GvA9g,1046
3983
- cms_qe_video/tests/test_templatetags.py,sha256=87koyj4w2PD2-bGQCrvE1UwULxDQSA_D_qL-ciM_L8U,1102
3984
3934
  example/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3985
3935
  example/urls.py,sha256=H-IJsRGFVZGw6FD9gvK-0B0dLeSOsduziHvDvcHCQZ0,399
3986
3936
  example/wsgi.py,sha256=lCKhvtFZlorSIA8qYEqc3pZ1Oflrz_Tc696MWJ62ue4,396
@@ -4001,8 +3951,8 @@ test_selenium/pages/cms/__init__.py,sha256=_qe4YZYaQbrXp7Szmmeo4TUSkXlE5Rozu8E3t
4001
3951
  test_selenium/pages/cms/login.py,sha256=UPzJQcYff8NUAT4nvmfQoJQxzOJyPrJ_cKtH35NVfNg,521
4002
3952
  test_selenium/pages/cms/page.py,sha256=YQnpZkopfVnhoyQKpRDGqjNeV6xUl-pEHjEcZ9HRiPk,489
4003
3953
  test_selenium/pages/cms/wizard.py,sha256=yatbXH-rf1ap4O1hY0I13WikM3zkm_NrAiSK6bqENIU,545
4004
- django_cms_qe-3.0.1.dist-info/LICENSE,sha256=5wLaeUil0gfU9p8C4zn2Yu_PvZBNieUoYl0z9FcFWdA,1521
4005
- django_cms_qe-3.0.1.dist-info/METADATA,sha256=-PQCdjzxTAQeOtVzT_BPRfw5aAKO1Zo0jEmzWnR1eXo,4510
4006
- django_cms_qe-3.0.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
4007
- django_cms_qe-3.0.1.dist-info/top_level.txt,sha256=Gx3iR7ga_mwVi-a0WHznNn16KhciCv31fUrdh0sr8IM,157
4008
- django_cms_qe-3.0.1.dist-info/RECORD,,
3954
+ django_cms_qe-3.0.3.dist-info/LICENSE,sha256=5wLaeUil0gfU9p8C4zn2Yu_PvZBNieUoYl0z9FcFWdA,1521
3955
+ django_cms_qe-3.0.3.dist-info/METADATA,sha256=3FZM-0z6H4CShIupMd2Wtggs2vldbePCVxpvytM6TLM,4497
3956
+ django_cms_qe-3.0.3.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
3957
+ django_cms_qe-3.0.3.dist-info/top_level.txt,sha256=Gx3iR7ga_mwVi-a0WHznNn16KhciCv31fUrdh0sr8IM,157
3958
+ django_cms_qe-3.0.3.dist-info/RECORD,,
cms_qe/tests/__init__.py DELETED
File without changes
@@ -1,61 +0,0 @@
1
- from unittest.mock import patch
2
-
3
- from django.contrib.auth.models import AnonymousUser
4
- from django.test import RequestFactory, TestCase
5
-
6
- from cms_qe.views import handler500
7
- from cms_qe_test.cms import create_page
8
-
9
-
10
- def test_page_found(client):
11
- create_page('Test page', page_params={'slug': 'test'})
12
- html = client.get('/en/test/').content
13
- assert b'<h1>Generic error</h1>' not in html
14
- assert b'<title>Test page</title>' in html
15
-
16
-
17
- def test_page_not_found(client):
18
- html = client.get('/en/non-existing-page/').content
19
- assert b'<h1>Generic error</h1>' in html
20
- assert b'error404' in html
21
-
22
-
23
- def test_page_not_found_custom_by_cms(client):
24
- create_page('custom page not found', page_params={'slug': 'error404'})
25
- response = client.get('/en/non-existing-page/')
26
- assert response.status_code == 404
27
- html = response.content
28
- assert b'<h1>Generic error</h1>' not in html
29
- assert b'<title>custom page not found</title>' in html
30
-
31
-
32
- def test_page_not_found_cached_custom_by_cms(client):
33
- create_page('custom page not found', page_params={'slug': 'error404'})
34
- # First request store page into the cache
35
- response = client.get('/en/non-existing-page/')
36
- assert response.status_code == 404
37
- # Second request is taken from the cache.
38
- response = client.get('/en/non-existing-page/')
39
- assert response.get('QE-Status-Code') is None
40
- assert response.status_code == 404
41
-
42
-
43
- class Handler500Test(TestCase):
44
- def test_template_rendered(self):
45
- request = RequestFactory().get("/500")
46
- request.current_page = None
47
- request.session = {}
48
- request.user = AnonymousUser()
49
- response = handler500(request)
50
- self.assertContains(response, '<h1>Internal error</h1>', status_code=500)
51
- self.assertContains(response, 'Something went very wrong. Please try again later.', status_code=500)
52
-
53
- @patch('cms_qe.views.errors.render', side_effect=Exception("Fail!"))
54
- def test_template_failure(self, render_mock):
55
- request = RequestFactory().get("/500")
56
- request.current_page = None
57
- request.session = {}
58
- request.user = AnonymousUser()
59
- response = handler500(request)
60
- self.assertContains(response, '<h1>Internal error</h1>', status_code=500)
61
- self.assertContains(response, 'Something went very wrong. Please try again later.', status_code=500)
@@ -1,108 +0,0 @@
1
- import csv
2
- import io
3
- import json
4
- from unittest.mock import patch
5
-
6
- import pytest
7
- from django.contrib.auth import get_user_model
8
- from pytest_data import use_data
9
-
10
- from ..export import export_data, export_file, get_supported_export_types
11
-
12
-
13
- class ModelAdmin:
14
- list_display = ('foo',)
15
-
16
- def foo(self, obj):
17
- return 'foo property'
18
-
19
-
20
- class ExportDataAdmin(ModelAdmin):
21
-
22
- def export_data(self, export_type, queryset):
23
- return 'foo export_data'
24
-
25
-
26
- @pytest.mark.django_db
27
- @use_data(user_data={'username': 'test_export_data_as_csv'})
28
- def test_export_data_as_csv(user):
29
- User = get_user_model()
30
- queryset = User.objects.all()
31
- data = export_data('csv', ModelAdmin(), queryset)
32
- data = list(csv.reader(io.StringIO(data)))
33
- assert len(data) == 2
34
- assert 'test_export_data_as_csv' in data[1]
35
- assert 'foo property' in data[1]
36
-
37
-
38
- @pytest.mark.django_db
39
- @use_data(user_data={'username': 'test_export_data_as_tsv'})
40
- def test_export_data_as_tsv(user):
41
- User = get_user_model()
42
- queryset = User.objects.all()
43
- data = export_data('tsv', ModelAdmin(), queryset)
44
- data = list(csv.reader(io.StringIO(data), delimiter='\t'))
45
- assert len(data) == 2
46
- assert 'test_export_data_as_tsv' in data[1]
47
- assert 'foo property' in data[1]
48
-
49
-
50
- @pytest.mark.django_db
51
- @use_data(user_data={'username': 'test_export_data_as_json'})
52
- def test_export_data_as_json(user):
53
- User = get_user_model()
54
- queryset = User.objects.all()
55
- data = export_data('json', ModelAdmin(), queryset)
56
- data = json.loads(data)
57
- assert len(data) == 1
58
- assert data[0]['username'] == 'test_export_data_as_json'
59
- assert data[0]['foo'] == 'foo property'
60
-
61
-
62
- @pytest.mark.django_db
63
- @use_data(user_data={'username': 'test_export_data_as_json'})
64
- def test_export_data_admin_function(user):
65
- User = get_user_model()
66
- queryset = User.objects.all()
67
- data = export_data('foo', ExportDataAdmin(), queryset)
68
- assert data == 'foo export_data'
69
-
70
-
71
- @pytest.mark.django_db
72
- @use_data(user_data={'username': 'test_export_data_as_json'})
73
- def test_export_file():
74
- User = get_user_model()
75
- queryset = User.objects.all()
76
- response = export_file('csv', ModelAdmin(), queryset)
77
- assert response['content-disposition'] == 'attachment; ' \
78
- 'filename="export.csv"'
79
- assert response.content == b'ID,password,last login,superuser ' \
80
- b'status,username,first name,last name,email address,staff ' \
81
- b'status,active,date joined,groups,user permissions,foo\r\n'
82
-
83
-
84
- def test_get_supported_export_types():
85
- with patch('cms_qe.export.getattr') as mock_getattr:
86
- mock_getattr.side_effect = [
87
- 'csv', 'html', 'json', 'latex', 'ods', 'rst', 'tsv', 'xls',
88
- 'xlsx', 'yaml']
89
- data = get_supported_export_types()
90
- assert sorted(data.keys()) == [
91
- 'csv', 'html', 'json', 'latex', 'ods', 'rst', 'tsv', 'xls', 'xlsx',
92
- 'yaml']
93
- assert data['csv'].mimetype == 'text/csv'
94
- assert data['csv'].label == 'Export selected as CSV'
95
-
96
-
97
- def test_get_supported_export_types_import_error():
98
- with patch('cms_qe.export.getattr') as mock_getattr:
99
- mock_getattr.side_effect = ImportError()
100
- data = get_supported_export_types()
101
- assert data == {}
102
-
103
-
104
- def test_get_supported_export_types_attribute_error():
105
- with patch('cms_qe.export.getattr') as mock_getattr:
106
- mock_getattr.side_effect = AttributeError()
107
- data = get_supported_export_types()
108
- assert data == {}
@@ -1,15 +0,0 @@
1
- import json
2
-
3
- from cms_qe.views import get_monitoring_data
4
-
5
-
6
- def test_get_monitoring_data():
7
- data = get_monitoring_data()
8
- assert data['status']
9
- assert 'cms_qe' in data['app_details']
10
-
11
-
12
- def test_monitoring_view(client):
13
- result = client.get('/api/monitoring').content
14
- data = json.loads(str(result, 'utf8'))
15
- assert data['status']
@@ -1,77 +0,0 @@
1
- from unittest.mock import patch
2
-
3
- import pytest
4
- from django.test import override_settings
5
- from mailqueue.models import MailerMessage
6
- from pytest_data import use_data
7
-
8
- from cms_qe.utils import get_base_url, get_functions, get_module, get_modules
9
-
10
-
11
- @pytest.mark.parametrize('expect,module_name', [
12
- (True, 'views'),
13
- (True, 'views.monitoring'),
14
- (False, 'no_module'),
15
- (False, 'monitoring.get_status'),
16
- ])
17
- def test_get_module(expect, module_name):
18
- module = get_module('cms_qe', module_name)
19
- assert module if expect else module is None
20
-
21
-
22
- def test_get_modules():
23
- modules = get_modules('monitoring')
24
- assert [module for app_name, module in modules if app_name == 'cms_qe']
25
-
26
-
27
- def test_get_functions():
28
- functions = get_functions('monitoring', 'get_status')
29
- assert [function for app_name, function in functions if app_name == 'cms_qe']
30
-
31
-
32
- def test_get_functions_existing_module_without_function():
33
- functions = get_functions('monitoring', 'no_function')
34
- assert not list(functions)
35
-
36
-
37
- @override_settings(META_SITE_PROTOCOL='https', )
38
- def test_get_absolute_url(post_request_empty):
39
- request = post_request_empty
40
- mock_url = 'test.com'
41
- with patch('cms_qe.utils.get_current_site', return_value=mock_url):
42
- base_url = get_base_url(request)
43
- assert base_url == f'https://{mock_url}'
44
-
45
-
46
- def test_sending_email_synchronously(email, mailoutbox):
47
- assert len(mailoutbox) == 0
48
- email.save()
49
- assert len(mailoutbox) == 1
50
- sent_mail = mailoutbox[0]
51
- assert 'Test content' in sent_mail.body
52
- assert 'Test' in sent_mail.subject
53
-
54
-
55
- @override_settings(MAILQUEUE_QUEUE_UP=True)
56
- def test_sending_email_asynchronously(email, mailoutbox):
57
- assert MailerMessage.objects.all().count() == 0
58
- email.save()
59
- assert len(mailoutbox) == 0
60
- assert MailerMessage.objects.all().count() == 1
61
- assert 'Test content' in MailerMessage.objects.all().first().content
62
-
63
-
64
- @use_data(email_data={'to': ['test1@examile.com', 'test2@examile.com']})
65
- def test_sending_email_synchronously_more_addressee(email, mailoutbox):
66
- email.save()
67
- assert len(mailoutbox) == 1
68
- sent_mail = mailoutbox[0]
69
- assert len(sent_mail.to) == 2
70
-
71
-
72
- @use_data(email_data={'to': ['test1@examile.com', 'test2@examile.com']})
73
- @override_settings(MAILQUEUE_QUEUE_UP=True)
74
- def test_sending_email_asynchronously_more_to_addressee(email, mailoutbox):
75
- email.save()
76
- assert MailerMessage.objects.all().count() == 1
77
- assert MailerMessage.objects.all().first().to_address == 'test1@examile.com, test2@examile.com'
@@ -1,18 +0,0 @@
1
- from constance import config
2
- from django.test import TestCase
3
- from django.urls import reverse
4
-
5
-
6
- class SecurityTxtViewTest(TestCase):
7
-
8
- def test_not_content(self):
9
- config.SECURITY_TXT_CONTENT = None
10
- response = self.client.get(reverse('security-txt'))
11
- self.assertRedirects(response, "/en/.well-known/security.txt/",
12
- status_code=302, target_status_code=404)
13
-
14
- def test_content(self):
15
- config.SECURITY_TXT_CONTENT = 'Contact: https://abuse.foo'
16
- response = self.client.get(reverse('security-txt'))
17
- self.assertContains(response, b'Contact: https://abuse.foo')
18
- self.assertEqual(response['Content-Type'], 'text/plain')
@@ -1,19 +0,0 @@
1
- Copyright (C) 2011-2016 Joost Cassee and others
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy
4
- of this software and associated documentation files (the "Software"), to deal
5
- in the Software without restriction, including without limitation the rights
6
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- copies of the Software, and to permit persons to whom the Software is
8
- furnished to do so, subject to the following conditions:
9
-
10
- The above copyright notice and this permission notice shall be included in
11
- all copies or substantial portions of the Software.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- THE SOFTWARE.
File without changes
@@ -1,24 +0,0 @@
1
- """
2
- django-analytical testing settings.
3
- """
4
-
5
- DATABASES = {
6
- 'default': {
7
- 'ENGINE': 'django.db.backends.sqlite3',
8
- 'NAME': ':memory:',
9
- }
10
- }
11
-
12
- INSTALLED_APPS = [
13
- 'django.contrib.sites',
14
- 'django.contrib.contenttypes',
15
- 'django.contrib.auth',
16
- 'analytical',
17
- ]
18
-
19
- SECRET_KEY = 'testing'
20
-
21
- MIDDLEWARE_CLASSES = (
22
- 'django.middleware.common.CommonMiddleware',
23
- 'django.middleware.csrf.CsrfViewMiddleware',
24
- )
File without changes
@@ -1,37 +0,0 @@
1
- """
2
- Dummy testing template tags and filters.
3
- """
4
-
5
-
6
- from analytical.templatetags.analytical import TAG_LOCATIONS
7
- from django.template import Library, Node, TemplateSyntaxError
8
-
9
- register = Library()
10
-
11
-
12
- def _location_node(location):
13
- class DummyNode(Node):
14
- def render(self, context):
15
- return f"<!-- dummy_{location} -->"
16
- return DummyNode
17
-
18
-
19
- _location_nodes = {loc: _location_node(loc) for loc in TAG_LOCATIONS}
20
-
21
-
22
- def _location_tag(location):
23
- def dummy_tag(parser, token):
24
- bits = token.split_contents()
25
- if len(bits) > 1:
26
- raise TemplateSyntaxError(f"'{bits[0]}' tag takes no arguments")
27
- return _location_nodes[location]
28
- return dummy_tag
29
-
30
-
31
- for loc in TAG_LOCATIONS:
32
- register.tag(f'dummy_{loc}', _location_tag(loc))
33
-
34
-
35
- def contribute_to_analytical(add_node_cls):
36
- for location in TAG_LOCATIONS:
37
- add_node_cls(location, _location_nodes[location])