Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-django-extra-views for 
openSUSE:Factory checked in at 2022-01-10 23:53:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-extra-views (Old)
 and      /work/SRC/openSUSE:Factory/.python-django-extra-views.new.1892 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-django-extra-views"

Mon Jan 10 23:53:33 2022 rev:3 rq:945315 version:0.14.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-django-extra-views/python-django-extra-views.changes
      2021-07-24 20:39:13.784410247 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-django-extra-views.new.1892/python-django-extra-views.changes
    2022-01-10 23:54:08.964833057 +0100
@@ -1,0 +2,5 @@
+Mon Jan 10 12:47:05 UTC 2022 - John Vandenberg <[email protected]>
+
+- Add merged_10881330.patch for Django 4.0 support
+
+-------------------------------------------------------------------

New:
----
  merged_10881330.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-django-extra-views.spec ++++++
--- /var/tmp/diff_new_pack.AekJme/_old  2022-01-10 23:54:09.432833467 +0100
+++ /var/tmp/diff_new_pack.AekJme/_new  2022-01-10 23:54:09.436833470 +0100
@@ -27,6 +27,7 @@
 URL:            https://github.com/AndrewIngram/django-extra-views
 Source:         
https://github.com/AndrewIngram/django-extra-views/archive/%{version}.tar.gz#/django-extra-views-%{version}.tar.gz
 Patch0:         
https://patch-diff.githubusercontent.com/raw/AndrewIngram/django-extra-views/pull/233.patch#/merged_pr_233.patch
+Patch1:         merged_10881330.patch
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
@@ -46,6 +47,7 @@
 %prep
 %setup -q -n django-extra-views-%{version}
 %patch0 -p1
+%patch1 -p1
 
 %build
 %python_build
@@ -61,6 +63,6 @@
 %files %{python_files}
 %doc README.rst
 %license LICENSE
-%{python_sitelib}/*
+%{python_sitelib}/*extra[-_]views*/
 
 %changelog

++++++ merged_10881330.patch ++++++
>From 10881330a1af3eb2d2324419ff1151646b8e4e85 Mon Sep 17 00:00:00 2001
From: sdolemelipone <[email protected]>
Date: Fri, 7 Jan 2022 13:47:05 +0000
Subject: [PATCH] Changed tests to check `response.context_data` rather than
 `response.context`

The `context` attribute of a response from a test client has changed in Django 
4.0. This
was causing some checks of ``"form" in res.context` to return `True` rather 
than `False`.
Checking against `context_data` is better practice as this is a dictionary.

It's not clear from the Django 4.0 release notes what caused this change.
---
 extra_views_tests/tests.py | 144 ++++++++++++++++++++-----------------
 1 file changed, 79 insertions(+), 65 deletions(-)

diff --git a/extra_views_tests/tests.py b/extra_views_tests/tests.py
index 758779c..21328e7 100644
--- a/extra_views_tests/tests.py
+++ b/extra_views_tests/tests.py
@@ -21,24 +21,26 @@ class FormSetViewTests(TestCase):
     def test_create(self):
         res = self.client.get("/formset/simple/")
         self.assertEqual(res.status_code, 200)
-        self.assertTrue("formset" in res.context)
-        self.assertFalse("form" in res.context)
+        self.assertTrue("formset" in res.context_data)
+        self.assertFalse("form" in res.context_data)
         self.assertTemplateUsed(res, "extra_views/address_formset.html")
         self.assertEqual(
-            res.context["formset"].__class__.__name__, "AddressFormFormSet"
+            res.context_data["formset"].__class__.__name__, 
"AddressFormFormSet"
         )
 
     def test_formset_named(self):
         res = self.client.get("/formset/simple/named/")
         self.assertEqual(res.status_code, 200)
-        self.assertEqual(res.context["formset"], res.context["AddressFormset"])
+        self.assertEqual(
+            res.context_data["formset"], res.context_data["AddressFormset"]
+        )
 
     def test_missing_management_form(self):
         # Django >=3.2 and does not raise an exception, but returns an error.
         if django.__version__ >= "3.2.0":
             res = self.client.post("/formset/simple/", {})
             self.assertEqual(200, res.status_code)
-            formset = res.context["formset"]
+            formset = res.context_data["formset"]
             self.assertFalse(formset.is_valid())
             self.assertIn(
                 "ManagementForm data is missing or has been tampered with",
@@ -58,7 +60,8 @@ def test_success(self):
     def test_success_message(self):
         res = self.client.post("/formset/simple/", self.management_data, 
follow=True)
         messages = [
-            message.__str__() for message in 
get_messages(res.context["view"].request)
+            message.__str__()
+            for message in get_messages(res.context_data["view"].request)
         ]
         self.assertIn("Formset objects were created successfully!", messages)
 
@@ -85,7 +88,7 @@ def test_invalid(self):
 
         res = self.client.post("/formset/simple/", data, follow=True)
         self.assertEqual(res.status_code, 200)
-        self.assertTrue("postcode" in res.context["formset"].errors[0])
+        self.assertTrue("postcode" in res.context_data["formset"].errors[0])
 
     def test_formset_class(self):
         res = self.client.get("/formset/custom/")
@@ -94,27 +97,31 @@ def test_formset_class(self):
     def test_inital(self):
         res = self.client.get("/formset/simple/kwargs/")
         self.assertEqual(res.status_code, 200)
-        initial_forms = res.context["formset"].initial_forms
+        initial_forms = res.context_data["formset"].initial_forms
         self.assertTrue(initial_forms)
         self.assertEqual(initial_forms[0].initial, {"name": "address1"})
 
     def test_prefix(self):
         res = self.client.get("/formset/simple/kwargs/")
         self.assertEqual(res.status_code, 200)
-        self.assertEqual(res.context["formset"].management_form.prefix, 
"test_prefix")
+        self.assertEqual(
+            res.context_data["formset"].management_form.prefix, "test_prefix"
+        )
 
     def test_factory_kwargs(self):
         res = self.client.get("/formset/simple/kwargs/")
         self.assertEqual(res.status_code, 200)
         self.assertEqual(
-            res.context["formset"].management_form.initial["MAX_NUM_FORMS"], 27
+            
res.context_data["formset"].management_form.initial["MAX_NUM_FORMS"], 27
         )
 
     def test_formset_kwargs(self):
         res = self.client.get("/formset/simple/kwargs/")
         self.assertEqual(res.status_code, 200)
-        self.assertEqual(res.context["formset"].management_form.auto_id, 
"id_test_%s")
-        initial_forms = res.context["formset"].initial_forms
+        self.assertEqual(
+            res.context_data["formset"].management_form.auto_id, "id_test_%s"
+        )
+        initial_forms = res.context_data["formset"].initial_forms
         self.assertTrue(initial_forms)
         self.assertTrue(initial_forms[0].empty_permitted)
 
@@ -129,15 +136,17 @@ class ModelFormSetViewTests(TestCase):
     def test_create(self):
         res = self.client.get("/modelformset/simple/")
         self.assertEqual(res.status_code, 200)
-        self.assertTrue("formset" in res.context)
-        self.assertFalse("form" in res.context)
+        self.assertTrue("formset" in res.context_data)
+        self.assertFalse("form" in res.context_data)
         self.assertTemplateUsed(res, "extra_views/item_formset.html")
-        self.assertEqual(res.context["formset"].__class__.__name__, 
"ItemFormFormSet")
+        self.assertEqual(
+            res.context_data["formset"].__class__.__name__, "ItemFormFormSet"
+        )
 
     def test_override(self):
         res = self.client.get("/modelformset/custom/")
         self.assertEqual(res.status_code, 200)
-        form = res.context["formset"].forms[0]
+        form = res.context_data["formset"].forms[0]
         self.assertEqual(form["flag"].value(), True)
         self.assertEqual(form["notes"].value(), "Write notes here")
 
@@ -173,20 +182,20 @@ def test_context(self):
             item.save()
 
         res = self.client.get("/modelformset/simple/")
-        self.assertTrue("object_list" in res.context)
-        self.assertEqual(len(res.context["object_list"]), 10)
+        self.assertTrue("object_list" in res.context_data)
+        self.assertEqual(len(res.context_data["object_list"]), 10)
 
     def test_fields_is_used(self):
         res = self.client.get("/modelformset/simple/")
         self.assertEqual(res.status_code, 200)
-        fields = res.context["formset"].empty_form.fields
+        fields = res.context_data["formset"].empty_form.fields
         self.assertIn("sku", fields)
         self.assertNotIn("date_placed", fields)
 
     def test_exclude_is_used(self):
         res = self.client.get("/modelformset/exclude/")
         self.assertEqual(res.status_code, 200)
-        fields = res.context["formset"].empty_form.fields
+        fields = res.context_data["formset"].empty_form.fields
         self.assertIn("date_placed", fields)
         self.assertNotIn("sku", fields)
 
@@ -214,12 +223,12 @@ def test_create(self):
 
         res = self.client.get("/inlineformset/{}/".format(order.id))
 
-        self.assertTrue("object" in res.context)
-        self.assertTrue("order" in res.context)
+        self.assertTrue("object" in res.context_data)
+        self.assertTrue("order" in res.context_data)
 
         self.assertEqual(res.status_code, 200)
-        self.assertTrue("formset" in res.context)
-        self.assertFalse("form" in res.context)
+        self.assertTrue("formset" in res.context_data)
+        self.assertFalse("form" in res.context_data)
 
     def test_post(self):
         order = Order(name="Dummy Order")
@@ -229,8 +238,8 @@ def test_post(self):
 
         res = self.client.post("/inlineformset/{}/".format(order.id), data, 
follow=True)
         self.assertEqual(res.status_code, 200)
-        self.assertTrue("formset" in res.context)
-        self.assertFalse("form" in res.context)
+        self.assertTrue("formset" in res.context_data)
+        self.assertFalse("form" in res.context_data)
 
     def test_save(self):
         order = Order(name="Dummy Order")
@@ -248,10 +257,10 @@ def test_save(self):
         res = self.client.post("/inlineformset/{}/".format(order.id), data, 
follow=True)
         order = Order.objects.get(id=order.id)
 
-        context_instance = res.context["formset"][0].instance
+        context_instance = res.context_data["formset"][0].instance
 
         self.assertEqual("Bubble Bath", context_instance.name)
-        self.assertEqual("", res.context["formset"][1].instance.name)
+        self.assertEqual("", res.context_data["formset"][1].instance.name)
 
         self.assertEqual(1, order.items.count())
 
@@ -273,9 +282,9 @@ def test_get(self):
         res = self.client.get("/genericinlineformset/{}/".format(order.id))
 
         self.assertEqual(res.status_code, 200)
-        self.assertTrue("formset" in res.context)
-        self.assertFalse("form" in res.context)
-        self.assertEqual("Test", 
res.context["formset"].forms[0]["name"].value())
+        self.assertTrue("formset" in res.context_data)
+        self.assertFalse("form" in res.context_data)
+        self.assertEqual("Test", 
res.context_data["formset"].forms[0]["name"].value())
 
     def test_post(self):
         order = Order(name="Dummy Order")
@@ -298,7 +307,9 @@ def test_post(self):
             "/genericinlineformset/{}/".format(order.id), data, follow=True
         )
         self.assertEqual(res.status_code, 200)
-        self.assertEqual("Updated", 
res.context["formset"].forms[0]["name"].value())
+        self.assertEqual(
+            "Updated", res.context_data["formset"].forms[0]["name"].value()
+        )
         self.assertEqual(1, Tag.objects.count())
 
     def test_post2(self):
@@ -330,7 +341,7 @@ def test_intial_data_is_used(self):
         order.save()
         res = self.client.get("/genericinlineformset/{}/".format(order.id))
         self.assertEqual(res.status_code, 200)
-        extra_forms = res.context["formset"].extra_forms
+        extra_forms = res.context_data["formset"].extra_forms
         self.assertTrue(extra_forms)
         self.assertEqual(extra_forms[0].initial, {"name": "test_tag_name"})
 
@@ -360,8 +371,8 @@ def test_create(self):
 
         res = self.client.post("/inlines/new/", data, follow=True)
 
-        self.assertTrue("object" in res.context)
-        self.assertTrue("order" in res.context)
+        self.assertTrue("object" in res.context_data)
+        self.assertTrue("order" in res.context_data)
 
         self.assertEqual(res.status_code, 200)
         self.assertEqual(1, Tag.objects.count())
@@ -394,15 +405,16 @@ def test_create_success_message(self):
         res = self.client.post("/inlines/new/", data, follow=True)
 
         messages = [
-            message.__str__() for message in 
get_messages(res.context["view"].request)
+            message.__str__()
+            for message in get_messages(res.context_data["view"].request)
         ]
         self.assertIn("Order Dummy Order was created successfully!", messages)
 
     def test_named_create(self):
         res = self.client.get("/inlines/new/named/")
         self.assertEqual(res.status_code, 200)
-        self.assertEqual(res.context["Items"], res.context["inlines"][0])
-        self.assertEqual(res.context["Tags"], res.context["inlines"][1])
+        self.assertEqual(res.context_data["Items"], 
res.context_data["inlines"][0])
+        self.assertEqual(res.context_data["Tags"], 
res.context_data["inlines"][1])
 
     def test_validation(self):
         data = {
@@ -426,8 +438,8 @@ def test_validation(self):
         }
 
         res = self.client.post("/inlines/new/", data, follow=True)
-        self.assertEqual(len(res.context["form"].errors), 1)
-        self.assertEqual(len(res.context["inlines"][0].errors[0]), 2)
+        self.assertEqual(len(res.context_data["form"].errors), 1)
+        self.assertEqual(len(res.context_data["inlines"][0].errors[0]), 2)
 
     def test_view_object_is_none_after_failed_validation_for_createview(self):
         # We are testing that view.object = None even if the form validates
@@ -454,9 +466,9 @@ def 
test_view_object_is_none_after_failed_validation_for_createview(self):
         }
 
         res = self.client.post("/inlines/new/", data, follow=True)
-        self.assertEqual(len(res.context["form"].errors), 0)
-        self.assertEqual(len(res.context["inlines"][0].errors[0]), 2)
-        self.assertEqual(res.context["view"].object, None)
+        self.assertEqual(len(res.context_data["form"].errors), 0)
+        self.assertEqual(len(res.context_data["inlines"][0].errors[0]), 2)
+        self.assertEqual(res.context_data["view"].object, None)
 
     def test_update(self):
         order = Order(name="Dummy Order")
@@ -592,37 +604,37 @@ def setUp(self):
     def test_search(self):
         res = self.client.get("/searchable/", data={"q": "1A test"})
         self.assertEqual(res.status_code, 200)
-        self.assertEqual(1, len(res.context["object_list"]))
+        self.assertEqual(1, len(res.context_data["object_list"]))
 
         res = self.client.get("/searchable/", data={"q": "1Atest"})
         self.assertEqual(res.status_code, 200)
-        self.assertEqual(0, len(res.context["object_list"]))
+        self.assertEqual(0, len(res.context_data["object_list"]))
 
         # date search
         res = self.client.get("/searchable/", data={"q": "01.01.2012"})
         self.assertEqual(res.status_code, 200)
-        self.assertEqual(1, len(res.context["object_list"]))
+        self.assertEqual(1, len(res.context_data["object_list"]))
 
         res = self.client.get("/searchable/", data={"q": "02.01.2012"})
         self.assertEqual(res.status_code, 200)
-        self.assertEqual(0, len(res.context["object_list"]))
+        self.assertEqual(0, len(res.context_data["object_list"]))
 
         # search query provided by view's get_search_query method
         res = self.client.get(
             "/searchable/predefined_query/", data={"q": "idoesntmatter"}
         )
         self.assertEqual(res.status_code, 200)
-        self.assertEqual(1, len(res.context["object_list"]))
+        self.assertEqual(1, len(res.context_data["object_list"]))
 
         # exact search query
         res = self.client.get("/searchable/exact_query/", data={"q": "test"})
         self.assertEqual(res.status_code, 200)
-        self.assertEqual(1, len(res.context["object_list"]))
+        self.assertEqual(1, len(res.context_data["object_list"]))
 
         # search query consists only of spaces
         res = self.client.get("/searchable/", data={"q": "  "})
         self.assertEqual(res.status_code, 200)
-        self.assertEqual(3, len(res.context["object_list"]))
+        self.assertEqual(3, len(res.context_data["object_list"]))
 
         # wrong lookup
         try:
@@ -645,26 +657,26 @@ def setUp(self):
     def test_sort(self):
         res = self.client.get("/sortable/fields/")
         self.assertEqual(res.status_code, 200)
-        self.assertFalse(res.context["sort_helper"].is_sorted_by_name())
+        self.assertFalse(res.context_data["sort_helper"].is_sorted_by_name())
 
-        asc_url = res.context["sort_helper"].get_sort_query_by_name_asc()
+        asc_url = res.context_data["sort_helper"].get_sort_query_by_name_asc()
         res = self.client.get("/sortable/fields/%s" % asc_url)
-        self.assertEqual(res.context["object_list"][0].name, "test A")
-        self.assertEqual(res.context["object_list"][1].name, "test B")
-        self.assertTrue(res.context["sort_helper"].is_sorted_by_name())
+        self.assertEqual(res.context_data["object_list"][0].name, "test A")
+        self.assertEqual(res.context_data["object_list"][1].name, "test B")
+        self.assertTrue(res.context_data["sort_helper"].is_sorted_by_name())
 
-        desc_url = res.context["sort_helper"].get_sort_query_by_name_desc()
+        desc_url = 
res.context_data["sort_helper"].get_sort_query_by_name_desc()
         res = self.client.get("/sortable/fields/%s" % desc_url)
-        self.assertEqual(res.context["object_list"][0].name, "test B")
-        self.assertEqual(res.context["object_list"][1].name, "test A")
-        self.assertTrue(res.context["sort_helper"].is_sorted_by_name())
+        self.assertEqual(res.context_data["object_list"][0].name, "test B")
+        self.assertEqual(res.context_data["object_list"][1].name, "test A")
+        self.assertTrue(res.context_data["sort_helper"].is_sorted_by_name())
         # reversed sorting
-        sort_url = res.context["sort_helper"].get_sort_query_by_name()
+        sort_url = res.context_data["sort_helper"].get_sort_query_by_name()
         res = self.client.get("/sortable/fields/%s" % sort_url)
-        self.assertEqual(res.context["object_list"][0].name, "test A")
-        sort_url = res.context["sort_helper"].get_sort_query_by_name()
+        self.assertEqual(res.context_data["object_list"][0].name, "test A")
+        sort_url = res.context_data["sort_helper"].get_sort_query_by_name()
         res = self.client.get("/sortable/fields/%s" % sort_url)
-        self.assertEqual(res.context["object_list"][0].name, "test B")
+        self.assertEqual(res.context_data["object_list"][0].name, "test B")
         # can't use fields and aliases in same time
         self.assertRaises(
             ImproperlyConfigured,
@@ -673,6 +685,8 @@ def test_sort(self):
         # check that aliases included in params
         res = self.client.get("/sortable/aliases/")
         self.assertIn(
-            "o=by_name", res.context["sort_helper"].get_sort_query_by_by_name()
+            "o=by_name", 
res.context_data["sort_helper"].get_sort_query_by_by_name()
+        )
+        self.assertIn(
+            "o=by_sku", 
res.context_data["sort_helper"].get_sort_query_by_by_sku()
         )
-        self.assertIn("o=by_sku", 
res.context["sort_helper"].get_sort_query_by_by_sku())

Reply via email to