Skip to content

Use force_str instead of force_text #774

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Oct 18, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 6 additions & 15 deletions pytest_django/live_server_helper.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import sys
import six


@six.python_2_unicode_compatible
class LiveServer(object):
"""The liveserver fixture

Expand Down Expand Up @@ -70,21 +71,11 @@ def stop(self):
def url(self):
return "http://%s:%s" % (self.thread.host, self.thread.port)

if sys.version_info < (3, 0):
def __str__(self):
return self.url

def __unicode__(self):
return self.url

def __add__(self, other):
return unicode(self) + other # noqa: pyflakes on python3

else:

def __str__(self):
return self.url

def __add__(self, other):
return str(self) + other
def __add__(self, other):
return "%s%s" % (self, other)

def __repr__(self):
return "<LiveServer listening at %s>" % self.url
Expand Down
8 changes: 4 additions & 4 deletions pytest_django_test/db_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import pytest

from django.conf import settings
from django.utils.encoding import force_text
from django.utils.encoding import force_str


# Construct names for the "inner" database used in runpytest tests
Expand Down Expand Up @@ -66,14 +66,14 @@ def drop_database(name=TEST_DB_NAME):

if db_engine == "postgresql_psycopg2":
r = run_cmd("psql", "postgres", "-c", "DROP DATABASE %s" % name)
assert "DROP DATABASE" in force_text(
assert "DROP DATABASE" in force_str(
r.std_out
) or "does not exist" in force_text(r.std_err)
) or "does not exist" in force_str(r.std_err)
return

if db_engine == "mysql":
r = run_mysql("-e", "DROP DATABASE %s" % name)
assert "database doesn't exist" in force_text(r.std_err) or r.status_code == 0
assert "database doesn't exist" in force_str(r.std_err) or r.status_code == 0
return

assert db_engine == "sqlite3", "%s cannot be tested properly!" % db_engine
Expand Down
26 changes: 13 additions & 13 deletions tests/test_fixtures.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from django.db import connection, transaction
from django.test.client import Client, RequestFactory
from django.test.testcases import connections_support_transactions
from django.utils.encoding import force_text
from django.utils.encoding import force_str

from pytest_django.lazy_django import get_django_version
from pytest_django_test.app.models import Item
Expand All @@ -42,13 +42,13 @@ def test_client(client):
def test_admin_client(admin_client):
assert isinstance(admin_client, Client)
resp = admin_client.get("/admin-required/")
assert force_text(resp.content) == "You are an admin"
assert force_str(resp.content) == "You are an admin"


def test_admin_client_no_db_marker(admin_client):
assert isinstance(admin_client, Client)
resp = admin_client.get("/admin-required/")
assert force_text(resp.content) == "You are an admin"
assert force_str(resp.content) == "You are an admin"


@pytest.mark.django_db
Expand Down Expand Up @@ -328,10 +328,10 @@ def test_settings_before(self):
TestLiveServer._test_settings_before_run = True

def test_url(self, live_server):
assert live_server.url == force_text(live_server)
assert live_server.url == force_str(live_server)

def test_change_settings(self, live_server, settings):
assert live_server.url == force_text(live_server)
assert live_server.url == force_str(live_server)

def test_settings_restored(self):
"""Ensure that settings are restored after test_settings_before."""
Expand All @@ -356,20 +356,20 @@ def test_transactions(self, live_server):

def test_db_changes_visibility(self, live_server):
response_data = urlopen(live_server + "/item_count/").read()
assert force_text(response_data) == "Item count: 0"
assert force_str(response_data) == "Item count: 0"
Item.objects.create(name="foo")
response_data = urlopen(live_server + "/item_count/").read()
assert force_text(response_data) == "Item count: 1"
assert force_str(response_data) == "Item count: 1"

def test_fixture_db(self, db, live_server):
Item.objects.create(name="foo")
response_data = urlopen(live_server + "/item_count/").read()
assert force_text(response_data) == "Item count: 1"
assert force_str(response_data) == "Item count: 1"

def test_fixture_transactional_db(self, transactional_db, live_server):
Item.objects.create(name="foo")
response_data = urlopen(live_server + "/item_count/").read()
assert force_text(response_data) == "Item count: 1"
assert force_str(response_data) == "Item count: 1"

@pytest.fixture
def item(self):
Expand All @@ -386,15 +386,15 @@ def item_db(self, db):

def test_item_db(self, item_db, live_server):
response_data = urlopen(live_server + "/item_count/").read()
assert force_text(response_data) == "Item count: 1"
assert force_str(response_data) == "Item count: 1"

@pytest.fixture
def item_transactional_db(self, transactional_db):
return Item.objects.create(name="foo")

def test_item_transactional_db(self, item_transactional_db, live_server):
response_data = urlopen(live_server + "/item_count/").read()
assert force_text(response_data) == "Item count: 1"
assert force_str(response_data) == "Item count: 1"

@pytest.mark.django_project(
extra_settings="""
Expand All @@ -418,7 +418,7 @@ def test_serve_static_with_staticfiles_app(self, django_testdir, settings):
django_testdir.create_test_module(
"""
import pytest
from django.utils.encoding import force_text
from django.utils.encoding import force_str

try:
from urllib2 import urlopen, HTTPError
Expand All @@ -431,7 +431,7 @@ def test_a(self, live_server, settings):
in settings.INSTALLED_APPS)
response_data = urlopen(
live_server + '/static/a_file.txt').read()
assert force_text(response_data) == 'bla\\n'
assert force_str(response_data) == 'bla\\n'
"""
)
result = django_testdir.runpytest_subprocess("--tb=short", "-v")
Expand Down
4 changes: 2 additions & 2 deletions tests/test_urls.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from django.conf import settings
from django.utils.encoding import force_text
from django.utils.encoding import force_str


@pytest.mark.urls("pytest_django_test.urls_overridden")
Expand All @@ -16,7 +16,7 @@ def test_urls():
@pytest.mark.urls("pytest_django_test.urls_overridden")
def test_urls_client(client):
response = client.get("/overridden_url/")
assert force_text(response.content) == "Overridden urlconf works!"
assert force_str(response.content) == "Overridden urlconf works!"


def test_urls_cache_is_cleared(testdir):
Expand Down