diff options
Diffstat (limited to 'tests')
35 files changed, 98 insertions, 101 deletions
diff --git a/tests/admin_views/urls.py b/tests/admin_views/urls.py index ca9b165626..d0a671dc00 100644 --- a/tests/admin_views/urls.py +++ b/tests/admin_views/urls.py @@ -8,7 +8,7 @@ urlpatterns = [ url(r'^test_admin/admin/secure-view2/$', views.secure_view2, name='secure_view2'), url(r'^test_admin/admin/', admin.site.urls), url(r'^test_admin/admin2/', customadmin.site.urls), - url(r'^test_admin/admin3/', (admin.site.get_urls(), 'admin', 'admin3'), dict(form_url='pony')), + url(r'^test_admin/admin3/', (admin.site.get_urls(), 'admin', 'admin3'), {'form_url': 'pony'}), url(r'^test_admin/admin4/', customadmin.simple_site.urls), url(r'^test_admin/admin5/', admin.site2.urls), url(r'^test_admin/admin7/', admin.site7.urls), diff --git a/tests/admin_widgets/tests.py b/tests/admin_widgets/tests.py index b7814f966c..d53ac0b435 100644 --- a/tests/admin_widgets/tests.py +++ b/tests/admin_widgets/tests.py @@ -564,14 +564,14 @@ class ManyToManyRawIdWidgetTest(TestCase): w.render('test', [m1.pk, m2.pk], attrs={}), ( '<input type="text" name="test" value="%(m1pk)s,%(m2pk)s" class="vManyToManyRawIdAdminField" />' '<a href="/admin_widgets/member/" class="related-lookup" id="lookup_id_test" title="Lookup"></a>' - ) % dict(m1pk=m1.pk, m2pk=m2.pk) + ) % {'m1pk': m1.pk, 'm2pk': m2.pk} ) self.assertHTMLEqual( w.render('test', [m1.pk]), ( '<input type="text" name="test" value="%(m1pk)s" class="vManyToManyRawIdAdminField">' '<a href="/admin_widgets/member/" class="related-lookup" id="lookup_id_test" title="Lookup"></a>' - ) % dict(m1pk=m1.pk) + ) % {'m1pk': m1.pk} ) def test_m2m_related_model_not_in_admin(self): diff --git a/tests/aggregation/tests.py b/tests/aggregation/tests.py index 8178cb8bcc..8cf0596347 100644 --- a/tests/aggregation/tests.py +++ b/tests/aggregation/tests.py @@ -1114,7 +1114,7 @@ class AggregateTestCase(TestCase): # test completely changing how the output is rendered def lower_case_function_override(self, compiler, connection): sql, params = compiler.compile(self.source_expressions[0]) - substitutions = dict(function=self.function.lower(), expressions=sql) + substitutions = {'function': self.function.lower(), 'expressions': sql} substitutions.update(self.extra) return self.template % substitutions, params setattr(MySum, 'as_' + connection.vendor, lower_case_function_override) @@ -1141,7 +1141,7 @@ class AggregateTestCase(TestCase): # test overriding all parts of the template def be_evil(self, compiler, connection): - substitutions = dict(function='MAX', expressions='2') + substitutions = {'function': 'MAX', 'expressions': '2'} substitutions.update(self.extra) return self.template % substitutions, () setattr(MySum, 'as_' + connection.vendor, be_evil) diff --git a/tests/annotations/tests.py b/tests/annotations/tests.py index 2ad395e65c..981e73e43e 100644 --- a/tests/annotations/tests.py +++ b/tests/annotations/tests.py @@ -197,7 +197,7 @@ class NonAggregateAnnotationTestCase(TestCase): name_lower=Lower('last_name'), ).distinct('name_lower') - self.assertEqual(set(p.last_name for p in people), {'Stark', 'Roosevelt'}) + self.assertEqual({p.last_name for p in people}, {'Stark', 'Roosevelt'}) self.assertEqual(len(people), 2) people2 = Employee.objects.annotate( diff --git a/tests/apps/tests.py b/tests/apps/tests.py index d53719a7fb..50b3927434 100644 --- a/tests/apps/tests.py +++ b/tests/apps/tests.py @@ -194,7 +194,7 @@ class AppsTests(SimpleTestCase): 'app_label': "apps", 'apps': new_apps, } - meta = type("Meta", tuple(), meta_contents) + meta = type("Meta", (), meta_contents) body['Meta'] = meta body['__module__'] = TotallyNormal.__module__ temp_model = type("SouthPonies", (models.Model,), body) @@ -215,7 +215,7 @@ class AppsTests(SimpleTestCase): } body = {} - body['Meta'] = type("Meta", tuple(), meta_contents) + body['Meta'] = type("Meta", (), meta_contents) body['__module__'] = TotallyNormal.__module__ type("SouthPonies", (models.Model,), body) @@ -223,7 +223,7 @@ class AppsTests(SimpleTestCase): # was reloaded and issue a warning. This use-case is # useful for REPL. Refs #23621. body = {} - body['Meta'] = type("Meta", tuple(), meta_contents) + body['Meta'] = type("Meta", (), meta_contents) body['__module__'] = TotallyNormal.__module__ msg = ( "Model 'apps.southponies' was already registered. " @@ -236,7 +236,7 @@ class AppsTests(SimpleTestCase): # If it doesn't appear to be a reloaded module then we expect # a RuntimeError. body = {} - body['Meta'] = type("Meta", tuple(), meta_contents) + body['Meta'] = type("Meta", (), meta_contents) body['__module__'] = TotallyNormal.__module__ + '.whatever' with self.assertRaisesMessage(RuntimeError, "Conflicting 'southponies' models in application 'apps':"): type("SouthPonies", (models.Model,), body) diff --git a/tests/auth_tests/urls.py b/tests/auth_tests/urls.py index cd21e6f69d..b69c554bc8 100644 --- a/tests/auth_tests/urls.py +++ b/tests/auth_tests/urls.py @@ -75,7 +75,7 @@ urlpatterns = auth_urlpatterns + [ url(r'^password_reset_from_email/$', views.PasswordResetView.as_view(from_email='staffmember@example.com')), url(r'^password_reset_extra_email_context/$', - views.PasswordResetView.as_view(extra_email_context=dict(greeting='Hello!'))), + views.PasswordResetView.as_view(extra_email_context={'greeting': 'Hello!'})), url(r'^password_reset/custom_redirect/$', views.PasswordResetView.as_view(success_url='/custom/')), url(r'^password_reset/custom_redirect/named/$', diff --git a/tests/auth_tests/urls_deprecated.py b/tests/auth_tests/urls_deprecated.py index 49bb6adb25..7fba46d269 100644 --- a/tests/auth_tests/urls_deprecated.py +++ b/tests/auth_tests/urls_deprecated.py @@ -15,21 +15,21 @@ urlpatterns = [ views.password_reset_confirm, name='password_reset_confirm'), url(r'^reset/done/$', views.password_reset_complete, name='password_reset_complete'), - url(r'^password_reset_from_email/$', views.password_reset, dict(from_email='staffmember@example.com')), + url(r'^password_reset_from_email/$', views.password_reset, {'from_email': 'staffmember@example.com'}), url(r'^password_reset_extra_email_context/$', views.password_reset, - dict(extra_email_context=dict(greeting='Hello!'))), - url(r'^password_reset/custom_redirect/$', views.password_reset, dict(post_reset_redirect='/custom/')), - url(r'^password_reset/custom_redirect/named/$', views.password_reset, dict(post_reset_redirect='password_reset')), + {'extra_email_context': {'greeting': 'Hello!'}}), + url(r'^password_reset/custom_redirect/$', views.password_reset, {'post_reset_redirect': '/custom/'}), + url(r'^password_reset/custom_redirect/named/$', views.password_reset, {'post_reset_redirect': 'password_reset'}), url(r'^password_reset/html_email_template/$', views.password_reset, - dict(html_email_template_name='registration/html_password_reset_email.html')), + {'html_email_template_name': 'registration/html_password_reset_email.html'}), url(r'^reset/custom/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', views.password_reset_confirm, - dict(post_reset_redirect='/custom/')), + {'post_reset_redirect': '/custom/'}), url(r'^reset/custom/named/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', views.password_reset_confirm, - dict(post_reset_redirect='password_reset')), - url(r'^password_change/custom/$', views.password_change, dict(post_change_redirect='/custom/')), - url(r'^password_change/custom/named/$', views.password_change, dict(post_change_redirect='password_reset')), + {'post_reset_redirect': 'password_reset'}), + url(r'^password_change/custom/$', views.password_change, {'post_change_redirect': '/custom/'}), + url(r'^password_change/custom/named/$', views.password_change, {'post_change_redirect': 'password_reset'}), url(r'^login_required/$', login_required(views.password_reset)), url(r'^login_required_login_url/$', login_required(views.password_reset, login_url='/somewhere/')), diff --git a/tests/backends/test_creation.py b/tests/backends/test_creation.py index 4b5d01ea2d..7a18a8d19b 100644 --- a/tests/backends/test_creation.py +++ b/tests/backends/test_creation.py @@ -91,19 +91,19 @@ class PostgreSQLDatabaseCreationTests(SimpleTestCase): self.assertEqual(suffix, expected) def test_sql_table_creation_suffix_with_none_settings(self): - settings = dict(CHARSET=None, TEMPLATE=None) + settings = {'CHARSET': None, 'TEMPLATE': None} self.check_sql_table_creation_suffix(settings, "") def test_sql_table_creation_suffix_with_encoding(self): - settings = dict(CHARSET='UTF8') + settings = {'CHARSET': 'UTF8'} self.check_sql_table_creation_suffix(settings, "WITH ENCODING 'UTF8'") def test_sql_table_creation_suffix_with_template(self): - settings = dict(TEMPLATE='template0') + settings = {'TEMPLATE': 'template0'} self.check_sql_table_creation_suffix(settings, 'WITH TEMPLATE "template0"') def test_sql_table_creation_suffix_with_encoding_and_template(self): - settings = dict(CHARSET='UTF8', TEMPLATE='template0') + settings = {'CHARSET': 'UTF8', 'TEMPLATE': 'template0'} self.check_sql_table_creation_suffix(settings, '''WITH ENCODING 'UTF8' TEMPLATE "template0"''') def _execute_raise_database_already_exists(self, cursor, parameters, keepdb=False): diff --git a/tests/backends/tests.py b/tests/backends/tests.py index 7a9981c0ac..5e7c6ae99c 100644 --- a/tests/backends/tests.py +++ b/tests/backends/tests.py @@ -970,9 +970,7 @@ class ThreadTests(TransactionTestCase): t.start() t.join() # Each created connection got different inner connection. - self.assertEqual( - len(set(conn.connection for conn in connections_dict.values())), - 3) + self.assertEqual(len({conn.connection for conn in connections_dict.values()}), 3) # Finish by closing the connections opened by the other threads (the # connection opened in the main thread will automatically be closed on # teardown). diff --git a/tests/delete/tests.py b/tests/delete/tests.py index 5abae7622e..0c7e218d38 100644 --- a/tests/delete/tests.py +++ b/tests/delete/tests.py @@ -186,7 +186,7 @@ class DeletionTests(TestCase): obj = kwargs['instance'] deleted.append(obj) if isinstance(obj, R): - related_setnull_sets.append(list(a.pk for a in obj.setnull_set.all())) + related_setnull_sets.append([a.pk for a in obj.setnull_set.all()]) models.signals.pre_delete.connect(pre_delete) a = create_a('update_setnull') diff --git a/tests/file_storage/tests.py b/tests/file_storage/tests.py index 1ac86f6751..3d232bb176 100644 --- a/tests/file_storage/tests.py +++ b/tests/file_storage/tests.py @@ -66,7 +66,7 @@ class FileSystemStorageTests(unittest.TestCase): def test_deconstruction(self): path, args, kwargs = temp_storage.deconstruct() self.assertEqual(path, "django.core.files.storage.FileSystemStorage") - self.assertEqual(args, tuple()) + self.assertEqual(args, ()) self.assertEqual(kwargs, {'location': temp_storage_location}) kwargs_orig = { diff --git a/tests/foreign_object/models/empty_join.py b/tests/foreign_object/models/empty_join.py index 4ad1ad688b..202676b075 100644 --- a/tests/foreign_object/models/empty_join.py +++ b/tests/foreign_object/models/empty_join.py @@ -51,7 +51,7 @@ class StartsWithRelation(models.ForeignObject): return StartsWith(to_field.get_col(alias), from_field.get_col(related_alias)) def get_joining_columns(self, reverse_join=False): - return tuple() + return () def get_path_info(self): to_opts = self.remote_field.model._meta diff --git a/tests/forms_tests/tests/test_forms.py b/tests/forms_tests/tests/test_forms.py index f5d992442b..3f4fb4e10b 100644 --- a/tests/forms_tests/tests/test_forms.py +++ b/tests/forms_tests/tests/test_forms.py @@ -920,7 +920,7 @@ Java</label></li> f = SongForm(data) self.assertEqual(f.errors, {}) - data = MultiValueDict(dict(name=['Yesterday'], composers=['J', 'P'])) + data = MultiValueDict({'name': ['Yesterday'], 'composers': ['J', 'P']}) f = SongForm(data) self.assertEqual(f.errors, {}) @@ -946,7 +946,7 @@ Java</label></li> widget=MultipleHiddenInput, ) - f = SongFormHidden(MultiValueDict(dict(name=['Yesterday'], composers=['J', 'P'])), auto_id=False) + f = SongFormHidden(MultiValueDict({'name': ['Yesterday'], 'composers': ['J', 'P']}), auto_id=False) self.assertHTMLEqual( f.as_ul(), """<li>Name: <input type="text" name="name" value="Yesterday" required /> @@ -3390,7 +3390,7 @@ Good luck picking a username that doesn't already exist.</p> email = EmailField() comment = CharField() - data = dict(email='invalid') + data = {'email': 'invalid'} f = CommentForm(data, auto_id=False, error_class=DivErrorList) self.assertHTMLEqual(f.as_p(), """<p>Name: <input type="text" name="name" maxlength="50" /></p> <div class="errorlist"><div class="error">Enter a valid email address.</div></div> diff --git a/tests/generic_views/test_base.py b/tests/generic_views/test_base.py index f8061ca09d..9f9cde9aef 100644 --- a/tests/generic_views/test_base.py +++ b/tests/generic_views/test_base.py @@ -136,9 +136,8 @@ class ViewTest(unittest.TestCase): """ # Check each of the allowed method names for method in SimpleView.http_method_names: - kwargs = dict(((method, "value"),)) with self.assertRaises(TypeError): - SimpleView.as_view(**kwargs) + SimpleView.as_view(**{method: 'value'}) # Check the case view argument is ok if predefined on the class... CustomizableView.as_view(parameter="value") diff --git a/tests/gis_tests/distapp/tests.py b/tests/gis_tests/distapp/tests.py index eab144b3e4..30dbf4d8e1 100644 --- a/tests/gis_tests/distapp/tests.py +++ b/tests/gis_tests/distapp/tests.py @@ -421,7 +421,7 @@ class DistanceFunctionsTests(TestCase): qs = CensusZipcode.objects.exclude(name='77005').annotate( distance=Distance(Transform('poly', 32140), buf) ).order_by('name') - self.assertEqual(ref_zips, sorted([c.name for c in qs])) + self.assertEqual(ref_zips, sorted(c.name for c in qs)) for i, z in enumerate(qs): self.assertAlmostEqual(z.distance.m, dists_m[i], 5) diff --git a/tests/gis_tests/gdal_tests/test_srs.py b/tests/gis_tests/gdal_tests/test_srs.py index 4179943e21..02af60bc7a 100644 --- a/tests/gis_tests/gdal_tests/test_srs.py +++ b/tests/gis_tests/gdal_tests/test_srs.py @@ -177,8 +177,8 @@ class SpatialRefTest(unittest.TestCase): ] srs1 = SpatialReference(srlist[0].wkt) srs2 = SpatialReference(WGS84_proj) - self.assertTrue(all([part in proj_parts for part in srs1.proj.split()])) - self.assertTrue(all([part in proj_parts for part in srs2.proj.split()])) + self.assertTrue(all(part in proj_parts for part in srs1.proj.split())) + self.assertTrue(all(part in proj_parts for part in srs2.proj.split())) def test05_epsg(self): "Test EPSG import." diff --git a/tests/gis_tests/geoapp/test_feeds.py b/tests/gis_tests/geoapp/test_feeds.py index 6ca49be471..457754a004 100644 --- a/tests/gis_tests/geoapp/test_feeds.py +++ b/tests/gis_tests/geoapp/test_feeds.py @@ -17,7 +17,7 @@ class GeoFeedTest(TestCase): def assertChildNodes(self, elem, expected): "Taken from syndication/tests.py." - actual = set(n.nodeName for n in elem.childNodes) + actual = {n.nodeName for n in elem.childNodes} expected = set(expected) self.assertEqual(actual, expected) diff --git a/tests/gis_tests/geoapp/test_sitemaps.py b/tests/gis_tests/geoapp/test_sitemaps.py index 69c097ea5d..d1617860b5 100644 --- a/tests/gis_tests/geoapp/test_sitemaps.py +++ b/tests/gis_tests/geoapp/test_sitemaps.py @@ -19,7 +19,7 @@ class GeoSitemapTest(TestCase): def assertChildNodes(self, elem, expected): "Taken from syndication/tests.py." - actual = set(n.nodeName for n in elem.childNodes) + actual = {n.nodeName for n in elem.childNodes} expected = set(expected) self.assertEqual(actual, expected) diff --git a/tests/gis_tests/rasterapp/test_rasterfield.py b/tests/gis_tests/rasterapp/test_rasterfield.py index df2b448a7e..e8a065fa3d 100644 --- a/tests/gis_tests/rasterapp/test_rasterfield.py +++ b/tests/gis_tests/rasterapp/test_rasterfield.py @@ -317,7 +317,7 @@ class RasterFieldTest(TransactionTestCase): def test_lookup_value_error(self): # Test with invalid dict lookup parameter - obj = dict() + obj = {} msg = "Couldn't create spatial object from lookup value '%s'." % obj with self.assertRaisesMessage(ValueError, msg): RasterModel.objects.filter(geom__intersects=obj) diff --git a/tests/i18n/test_extraction.py b/tests/i18n/test_extraction.py index 731c29a978..f42aae1125 100644 --- a/tests/i18n/test_extraction.py +++ b/tests/i18n/test_extraction.py @@ -350,13 +350,13 @@ class BasicExtractorTests(ExtractorTests): cmd.locale_paths = [] cmd.default_locale_path = os.path.join(self.test_dir, 'locale') found_files = cmd.find_files(self.test_dir) - found_exts = set([os.path.splitext(tfile.file)[1] for tfile in found_files]) + found_exts = {os.path.splitext(tfile.file)[1] for tfile in found_files} self.assertEqual(found_exts.difference({'.py', '.html', '.txt'}), set()) cmd.extensions = ['js'] cmd.domain = 'djangojs' found_files = cmd.find_files(self.test_dir) - found_exts = set([os.path.splitext(tfile.file)[1] for tfile in found_files]) + found_exts = {os.path.splitext(tfile.file)[1] for tfile in found_files} self.assertEqual(found_exts.difference({'.js'}), set()) @mock.patch('django.core.management.commands.makemessages.popen_wrapper') diff --git a/tests/known_related_objects/tests.py b/tests/known_related_objects/tests.py index c0afe4f0b9..deef6560c5 100644 --- a/tests/known_related_objects/tests.py +++ b/tests/known_related_objects/tests.py @@ -42,7 +42,7 @@ class ExistingRelatedInstancesTests(TestCase): tournament_2 = self.t2 with self.assertNumQueries(1): pools = tournament_1.pool_set.all() | tournament_2.pool_set.all() - related_objects = set(pool.tournament for pool in pools) + related_objects = {pool.tournament for pool in pools} self.assertEqual(related_objects, {tournament_1, tournament_2}) def test_queryset_or_different_cached_items(self): @@ -60,12 +60,12 @@ class ExistingRelatedInstancesTests(TestCase): # 2 queries here as pool 3 has tournament 2, which is not cached with self.assertNumQueries(2): pools = tournament_1.pool_set.all() | Pool.objects.filter(pk=self.p3.pk) - related_objects = set(pool.tournament for pool in pools) + related_objects = {pool.tournament for pool in pools} self.assertEqual(related_objects, {tournament_1, tournament_2}) # and the other direction with self.assertNumQueries(2): pools = Pool.objects.filter(pk=self.p3.pk) | tournament_1.pool_set.all() - related_objects = set(pool.tournament for pool in pools) + related_objects = {pool.tournament for pool in pools} self.assertEqual(related_objects, {tournament_1, tournament_2}) def test_queryset_and(self): diff --git a/tests/m2m_through_regress/test_multitable.py b/tests/m2m_through_regress/test_multitable.py index 1ae76376fc..b354be979e 100644 --- a/tests/m2m_through_regress/test_multitable.py +++ b/tests/m2m_through_regress/test_multitable.py @@ -40,7 +40,7 @@ class MultiTableTests(TestCase): result = Event.objects.filter(name='Exposition Match').prefetch_related('special_people') with self.assertNumQueries(2): self.assertCountEqual(result, [self.event]) - self.assertEqual(sorted([p.name for p in result[0].special_people.all()]), ['Chris', 'Dan']) + self.assertEqual(sorted(p.name for p in result[0].special_people.all()), ['Chris', 'Dan']) def test_m2m_prefetch_reverse_proxied(self): result = Person.objects.filter(name='Dan').prefetch_related('special_event_set') diff --git a/tests/migrations/test_loader.py b/tests/migrations/test_loader.py index 620347ab90..3d0cc750d2 100644 --- a/tests/migrations/test_loader.py +++ b/tests/migrations/test_loader.py @@ -19,23 +19,23 @@ class RecorderTests(TestCase): """ recorder = MigrationRecorder(connection) self.assertEqual( - set((x, y) for (x, y) in recorder.applied_migrations() if x == "myapp"), + {(x, y) for (x, y) in recorder.applied_migrations() if x == "myapp"}, set(), ) recorder.record_applied("myapp", "0432_ponies") self.assertEqual( - set((x, y) for (x, y) in recorder.applied_migrations() if x == "myapp"), + {(x, y) for (x, y) in recorder.applied_migrations() if x == "myapp"}, {("myapp", "0432_ponies")}, ) # That should not affect records of another database recorder_other = MigrationRecorder(connections['other']) self.assertEqual( - set((x, y) for (x, y) in recorder_other.applied_migrations() if x == "myapp"), + {(x, y) for (x, y) in recorder_other.applied_migrations() if x == "myapp"}, set(), ) recorder.record_unapplied("myapp", "0432_ponies") self.assertEqual( - set((x, y) for (x, y) in recorder.applied_migrations() if x == "myapp"), + {(x, y) for (x, y) in recorder.applied_migrations() if x == "myapp"}, set(), ) diff --git a/tests/migrations/test_state.py b/tests/migrations/test_state.py index ee6a9544d9..9110e8d447 100644 --- a/tests/migrations/test_state.py +++ b/tests/migrations/test_state.py @@ -1144,7 +1144,7 @@ class RelatedModelsTests(SimpleTestCase): 'apps': self.apps, 'proxy': proxy, } - meta = type("Meta", tuple(), meta_contents) + meta = type("Meta", (), meta_contents) if not bases: bases = (models.Model,) body = { diff --git a/tests/model_inheritance/test_abstract_inheritance.py b/tests/model_inheritance/test_abstract_inheritance.py index 4bd0654e46..c496ac963b 100644 --- a/tests/model_inheritance/test_abstract_inheritance.py +++ b/tests/model_inheritance/test_abstract_inheritance.py @@ -318,8 +318,8 @@ class AbstractInheritanceTests(TestCase): def fields(model): if not hasattr(model, '_meta'): - return list() - return list((f.name, f.__class__) for f in model._meta.get_fields()) + return [] + return [(f.name, f.__class__) for f in model._meta.get_fields()] model_dict = {'__module__': 'model_inheritance'} model1 = type('Model1', (AbstractModel, Mixin), model_dict.copy()) diff --git a/tests/model_meta/tests.py b/tests/model_meta/tests.py index 9a692ffdd2..e64676cc1b 100644 --- a/tests/model_meta/tests.py +++ b/tests/model_meta/tests.py @@ -162,7 +162,7 @@ class PrivateFieldsTests(OptionsBaseTests): def test_private_fields(self): for model, expected_names in TEST_RESULTS['private_fields'].items(): objects = model._meta.private_fields - self.assertEqual(sorted([f.name for f in objects]), sorted(expected_names)) + self.assertEqual(sorted(f.name for f in objects), sorted(expected_names)) class GetFieldByNameTests(OptionsBaseTests): @@ -243,8 +243,8 @@ class RelationTreeTests(SimpleTestCase): def test_relations_related_objects(self): # Testing non hidden related objects self.assertEqual( - sorted([field.related_query_name() for field in Relation._meta._relation_tree - if not field.remote_field.field.remote_field.is_hidden()]), + sorted(field.related_query_name() for field in Relation._meta._relation_tree + if not field.remote_field.field.remote_field.is_hidden()), sorted([ 'fk_abstract_rel', 'fk_base_rel', 'fk_concrete_rel', 'fo_abstract_rel', 'fo_base_rel', 'fo_concrete_rel', 'm2m_abstract_rel', @@ -253,7 +253,7 @@ class RelationTreeTests(SimpleTestCase): ) # Testing hidden related objects self.assertEqual( - sorted([field.related_query_name() for field in BasePerson._meta._relation_tree]), + sorted(field.related_query_name() for field in BasePerson._meta._relation_tree), sorted([ '+', '_relating_basepeople_hidden_+', 'BasePerson_following_abstract+', 'BasePerson_following_abstract+', 'BasePerson_following_base+', 'BasePerson_following_base+', diff --git a/tests/modeladmin/tests.py b/tests/modeladmin/tests.py index 4862664dbc..a8aac7f51b 100644 --- a/tests/modeladmin/tests.py +++ b/tests/modeladmin/tests.py @@ -221,7 +221,7 @@ class ModelAdminTests(TestCase): name = forms.CharField() class Meta: - exclude = tuple() + exclude = () model = Band class BandAdmin(ModelAdmin): diff --git a/tests/prefetch_related/tests.py b/tests/prefetch_related/tests.py index 2f322482e3..7be7cbbac4 100644 --- a/tests/prefetch_related/tests.py +++ b/tests/prefetch_related/tests.py @@ -858,7 +858,7 @@ class GenericRelationTests(TestCase): with self.assertNumQueries(3): bookmark = Bookmark.objects.filter(pk=b.pk).prefetch_related('tags', 'favorite_tags')[0] - self.assertEqual(sorted([i.tag for i in bookmark.tags.all()]), ["django", "python"]) + self.assertEqual(sorted(i.tag for i in bookmark.tags.all()), ["django", "python"]) self.assertEqual([i.tag for i in bookmark.favorite_tags.all()], ["python"]) def test_custom_queryset(self): diff --git a/tests/schema/tests.py b/tests/schema/tests.py index d6773afa00..ecc6aeb1c6 100644 --- a/tests/schema/tests.py +++ b/tests/schema/tests.py @@ -171,7 +171,7 @@ class SchemaTests(TransactionTestCase): constraints = self.get_constraints(table) self.assertIn(index, constraints) index_orders = constraints[index]['orders'] - self.assertTrue(all([(val == expected) for val, expected in zip(index_orders, order)])) + self.assertTrue(all(val == expected for val, expected in zip(index_orders, order))) def assertForeignKeyExists(self, model, column, expected_fk_table): """ diff --git a/tests/syndication_tests/tests.py b/tests/syndication_tests/tests.py index 0563fd444c..28fe026414 100644 --- a/tests/syndication_tests/tests.py +++ b/tests/syndication_tests/tests.py @@ -41,7 +41,7 @@ class FeedTestCase(TestCase): cls.a1 = Article.objects.create(title='My first article', entry=cls.e1) def assertChildNodes(self, elem, expected): - actual = set(n.nodeName for n in elem.childNodes) + actual = {n.nodeName for n in elem.childNodes} expected = set(expected) self.assertEqual(actual, expected) @@ -52,7 +52,7 @@ class FeedTestCase(TestCase): def assertCategories(self, elem, expected): self.assertEqual( - set(i.firstChild.wholeText for i in elem.childNodes if i.nodeName == 'category'), + {i.firstChild.wholeText for i in elem.childNodes if i.nodeName == 'category'}, set(expected) ) diff --git a/tests/template_tests/syntax_tests/test_if_changed.py b/tests/template_tests/syntax_tests/test_if_changed.py index 2e6b2c9684..5ea6b0dcf4 100644 --- a/tests/template_tests/syntax_tests/test_if_changed.py +++ b/tests/template_tests/syntax_tests/test_if_changed.py @@ -210,7 +210,7 @@ class IfChangedTests(SimpleTestCase): 'include': '{% ifchanged %}{{ x }}{% endifchanged %}', }), ]) - output = engine.render_to_string('template', dict(vars=[1, 1, 2, 2, 3, 3])) + output = engine.render_to_string('template', {'vars': [1, 1, 2, 2, 3, 3]}) self.assertEqual(output, "123") def test_include_state(self): @@ -221,5 +221,5 @@ class IfChangedTests(SimpleTestCase): 'include': '{% ifchanged %}{{ x }}{% endifchanged %}', }), ]) - output = engine.render_to_string('template', dict(vars=[1, 1, 2, 2, 3, 3])) + output = engine.render_to_string('template', {'vars': [1, 1, 2, 2, 3, 3]}) self.assertEqual(output, '112233') diff --git a/tests/template_tests/syntax_tests/test_include.py b/tests/template_tests/syntax_tests/test_include.py index 5f92efc05a..760a801377 100644 --- a/tests/template_tests/syntax_tests/test_include.py +++ b/tests/template_tests/syntax_tests/test_include.py @@ -326,5 +326,5 @@ class IncludeTests(SimpleTestCase): 'next': '{% load custom %}{% counter %}' }), ], libraries={'custom': 'template_tests.templatetags.custom'}) - output = engine.render_to_string('template', dict(vars=range(9))) + output = engine.render_to_string('template', {'vars': range(9)}) self.assertEqual(output, '012345678') diff --git a/tests/urlpatterns_reverse/tests.py b/tests/urlpatterns_reverse/tests.py index f013d30e15..4c7c5d0465 100644 --- a/tests/urlpatterns_reverse/tests.py +++ b/tests/urlpatterns_reverse/tests.py @@ -28,43 +28,43 @@ from .views import empty_view resolve_test_data = ( # These entries are in the format: (path, url_name, app_name, namespace, view_name, func, args, kwargs) # Simple case - ('/normal/42/37/', 'normal-view', '', '', 'normal-view', views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'}), + ('/normal/42/37/', 'normal-view', '', '', 'normal-view', views.empty_view, (), {'arg1': '42', 'arg2': '37'}), ( - '/view_class/42/37/', 'view-class', '', '', 'view-class', views.view_class_instance, tuple(), + '/view_class/42/37/', 'view-class', '', '', 'view-class', views.view_class_instance, (), {'arg1': '42', 'arg2': '37'} ), ( '/included/normal/42/37/', 'inc-normal-view', 'included_namespace_urls', 'included_namespace_urls', 'included_namespace_urls:inc-normal-view', - views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), ( '/included/view_class/42/37/', 'inc-view-class', 'included_namespace_urls', 'included_namespace_urls', 'included_namespace_urls:inc-view-class', - views.view_class_instance, tuple(), {'arg1': '42', 'arg2': '37'} + views.view_class_instance, (), {'arg1': '42', 'arg2': '37'} ), # Unnamed args are dropped if you have *any* kwargs in a pattern - ('/mixed_args/42/37/', 'mixed-args', '', '', 'mixed-args', views.empty_view, tuple(), {'arg2': '37'}), + ('/mixed_args/42/37/', 'mixed-args', '', '', 'mixed-args', views.empty_view, (), {'arg2': '37'}), ( '/included/mixed_args/42/37/', 'inc-mixed-args', 'included_namespace_urls', 'included_namespace_urls', 'included_namespace_urls:inc-mixed-args', - views.empty_view, tuple(), {'arg2': '37'} + views.empty_view, (), {'arg2': '37'} ), ( '/included/12/mixed_args/42/37/', 'inc-mixed-args', 'included_namespace_urls', 'included_namespace_urls', 'included_namespace_urls:inc-mixed-args', - views.empty_view, tuple(), {'arg2': '37'} + views.empty_view, (), {'arg2': '37'} ), # Unnamed views should have None as the url_name. Regression data for #21157. ( - '/unnamed/normal/42/37/', None, '', '', 'urlpatterns_reverse.views.empty_view', views.empty_view, tuple(), + '/unnamed/normal/42/37/', None, '', '', 'urlpatterns_reverse.views.empty_view', views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), ( '/unnamed/view_class/42/37/', None, '', '', 'urlpatterns_reverse.views.ViewClass', views.view_class_instance, - tuple(), {'arg1': '42', 'arg2': '37'} + (), {'arg1': '42', 'arg2': '37'} ), # If you have no kwargs, you get an args list. @@ -83,69 +83,69 @@ resolve_test_data = ( # Namespaces ( '/test1/inner/42/37/', 'urlobject-view', 'testapp', 'test-ns1', 'test-ns1:urlobject-view', - views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), ( '/included/test3/inner/42/37/', 'urlobject-view', 'included_namespace_urls:testapp', 'included_namespace_urls:test-ns3', 'included_namespace_urls:test-ns3:urlobject-view', - views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), ( '/ns-included1/normal/42/37/', 'inc-normal-view', 'included_namespace_urls', 'inc-ns1', 'inc-ns1:inc-normal-view', - views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), ( '/included/test3/inner/42/37/', 'urlobject-view', 'included_namespace_urls:testapp', 'included_namespace_urls:test-ns3', 'included_namespace_urls:test-ns3:urlobject-view', - views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), ( '/default/inner/42/37/', 'urlobject-view', 'testapp', 'testapp', 'testapp:urlobject-view', - views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), ( '/other2/inner/42/37/', 'urlobject-view', 'nodefault', 'other-ns2', 'other-ns2:urlobject-view', - views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), ( '/other1/inner/42/37/', 'urlobject-view', 'nodefault', 'other-ns1', 'other-ns1:urlobject-view', - views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), # Nested namespaces ( '/ns-included1/test3/inner/42/37/', 'urlobject-view', 'included_namespace_urls:testapp', 'inc-ns1:test-ns3', 'inc-ns1:test-ns3:urlobject-view', - views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), ( '/ns-included1/ns-included4/ns-included2/test3/inner/42/37/', 'urlobject-view', 'included_namespace_urls:namespace_urls:included_namespace_urls:testapp', 'inc-ns1:inc-ns4:inc-ns2:test-ns3', 'inc-ns1:inc-ns4:inc-ns2:test-ns3:urlobject-view', - views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), ( '/app-included/test3/inner/42/37/', 'urlobject-view', 'included_namespace_urls:testapp', 'inc-app:test-ns3', - 'inc-app:test-ns3:urlobject-view', views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + 'inc-app:test-ns3:urlobject-view', views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), ( '/app-included/ns-included4/ns-included2/test3/inner/42/37/', 'urlobject-view', 'included_namespace_urls:namespace_urls:included_namespace_urls:testapp', 'inc-app:inc-ns4:inc-ns2:test-ns3', 'inc-app:inc-ns4:inc-ns2:test-ns3:urlobject-view', - views.empty_view, tuple(), {'arg1': '42', 'arg2': '37'} + views.empty_view, (), {'arg1': '42', 'arg2': '37'} ), # Namespaces capturing variables ( '/inc70/', 'inner-nothing', 'included_urls', 'inc-ns5', 'inc-ns5:inner-nothing', - views.empty_view, tuple(), {'outer': '70'} + views.empty_view, (), {'outer': '70'} ), ( '/inc78/extra/foobar/', 'inner-extra', 'included_urls', 'inc-ns5', 'inc-ns5:inner-extra', - views.empty_view, tuple(), {'outer': '78', 'extra': 'foobar'} + views.empty_view, (), {'outer': '78', 'extra': 'foobar'} ), ) @@ -195,10 +195,10 @@ test_data = ( ('price2', '/price/$10/', ['10'], {}), ('price3', '/price/$10/', ['10'], {}), ('product', '/product/chocolate+($2.00)/', [], {'price': '2.00', 'product': 'chocolate'}), - ('headlines', '/headlines/2007.5.21/', [], dict(year=2007, month=5, day=21)), + ('headlines', '/headlines/2007.5.21/', [], {'year': 2007, 'month': 5, 'day': 21}), ( 'windows', r'/windows_path/C:%5CDocuments%20and%20Settings%5Cspam/', [], - dict(drive_name='C', path=r'Documents and Settings\spam') + {'drive_name': 'C', 'path': r'Documents and Settings\spam'} ), ('special', r'/special_chars/~@+%5C$*%7C/', [r'~@+\$*|'], {}), ('special', r'/special_chars/some%20resource/', [r'some resource'], {}), diff --git a/tests/view_tests/tests/test_debug.py b/tests/view_tests/tests/test_debug.py index 1f01242af9..746d6cab8f 100644 --- a/tests/view_tests/tests/test_debug.py +++ b/tests/view_tests/tests/test_debug.py @@ -313,7 +313,7 @@ class ExceptionReporterTests(SimpleTestCase): def test_eol_support(self): """The ExceptionReporter supports Unix, Windows and Macintosh EOL markers""" - LINES = list('print %d' % i for i in range(1, 6)) + LINES = ['print %d' % i for i in range(1, 6)] reporter = ExceptionReporter(None, None, None, None) for newline in ['\n', '\r\n', '\r']: diff --git a/tests/view_tests/tests/test_i18n.py b/tests/view_tests/tests/test_i18n.py index 8cd6376507..c4d9a9a986 100644 --- a/tests/view_tests/tests/test_i18n.py +++ b/tests/view_tests/tests/test_i18n.py @@ -32,7 +32,7 @@ class SetLanguageTests(TestCase): The user is redirected to the 'next' argument if provided. """ lang_code = self._get_inactive_language_code() - post_data = dict(language=lang_code, next='/') + post_data = {'language': lang_code, 'next': '/'} response = self.client.post('/i18n/setlang/', post_data, HTTP_REFERER='/i_should_not_be_used/') self.assertRedirects(response, '/') self.assertEqual(self.client.session[LANGUAGE_SESSION_KEY], lang_code) @@ -43,7 +43,7 @@ class SetLanguageTests(TestCase): "safe". """ lang_code = self._get_inactive_language_code() - post_data = dict(language=lang_code, next='//unsafe/redirection/') + post_data = {'language': lang_code, 'next': '//unsafe/redirection/'} response = self.client.post('/i18n/setlang/', data=post_data) self.assertEqual(response.url, '/') self.assertEqual(self.client.session[LANGUAGE_SESSION_KEY], lang_code) @@ -55,7 +55,7 @@ class SetLanguageTests(TestCase): """ lang_code = self._get_inactive_language_code() non_https_next_url = 'http://testserver/redirection/' - post_data = dict(language=lang_code, next=non_https_next_url) + post_data = {'language': lang_code, 'next': non_https_next_url} # Insecure URL in POST data. response = self.client.post('/i18n/setlang/', data=post_data, secure=True) self.assertEqual(response.url, '/') @@ -71,7 +71,7 @@ class SetLanguageTests(TestCase): there isn't a "next" parameter. """ lang_code = self._get_inactive_language_code() - post_data = dict(language=lang_code) + post_data = {'language': lang_code} response = self.client.post('/i18n/setlang/', post_data, HTTP_REFERER='/i18n/') self.assertRedirects(response, '/i18n/', fetch_redirect_response=False) self.assertEqual(self.client.session[LANGUAGE_SESSION_KEY], lang_code) @@ -82,7 +82,7 @@ class SetLanguageTests(TestCase): "next" parameter. """ lang_code = self._get_inactive_language_code() - post_data = dict(language=lang_code) + post_data = {'language': lang_code} response = self.client.post('/i18n/setlang/', post_data) self.assertRedirects(response, '/') self.assertEqual(self.client.session[LANGUAGE_SESSION_KEY], lang_code) @@ -92,7 +92,7 @@ class SetLanguageTests(TestCase): The set_language view redirects to the "next" parameter for AJAX calls. """ lang_code = self._get_inactive_language_code() - post_data = dict(language=lang_code, next='/') + post_data = {'language': lang_code, 'next': '/'} response = self.client.post('/i18n/setlang/', post_data, HTTP_X_REQUESTED_WITH='XMLHttpRequest') self.assertRedirects(response, '/') self.assertEqual(self.client.session[LANGUAGE_SESSION_KEY], lang_code) @@ -103,7 +103,7 @@ class SetLanguageTests(TestCase): AJAX calls. """ lang_code = self._get_inactive_language_code() - post_data = dict(language=lang_code) + post_data = {'language': lang_code} headers = {'HTTP_REFERER': '/', 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest'} response = self.client.post('/i18n/setlang/', post_data, **headers) self.assertEqual(response.status_code, 204) @@ -114,7 +114,7 @@ class SetLanguageTests(TestCase): The set_language view returns 204 for AJAX calls by default. """ lang_code = self._get_inactive_language_code() - post_data = dict(language=lang_code) + post_data = {'language': lang_code} response = self.client.post('/i18n/setlang/', post_data, HTTP_X_REQUESTED_WITH='XMLHttpRequest') self.assertEqual(response.status_code, 204) self.assertEqual(self.client.session[LANGUAGE_SESSION_KEY], lang_code) @@ -124,7 +124,7 @@ class SetLanguageTests(TestCase): The fallback to root URL for the set_language view works for AJAX calls. """ lang_code = self._get_inactive_language_code() - post_data = dict(language=lang_code, next='//unsafe/redirection/') + post_data = {'language': lang_code, 'next': '//unsafe/redirection/'} response = self.client.post('/i18n/setlang/', post_data, HTTP_X_REQUESTED_WITH='XMLHttpRequest') self.assertEqual(response.url, '/') self.assertEqual(self.client.session[LANGUAGE_SESSION_KEY], lang_code) @@ -143,7 +143,7 @@ class SetLanguageTests(TestCase): 'LANGUAGE_COOKIE_PATH': '/test/', } with self.settings(**test_settings): - post_data = dict(language='pl', next='/views/') + post_data = {'language': 'pl', 'next': '/views/'} response = self.client.post('/i18n/setlang/', data=post_data) language_cookie = response.cookies.get('mylanguage') self.assertEqual(language_cookie.value, 'pl') |