Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : frontend-python3
---------------------------------------------------------------
commit 1fc1771bdcefd7926d379c7637e468a1400afe12
Author: Jakub Kadlčík <jkadlcik(a)redhat.com>
Date: Tue Sep 22 17:35:03 2015 +0200
[frontend] do the str/bytes/unicode py2/3 compatibility magic
---------------------------------------------------------------
frontend/coprs_frontend/coprs/rest_api/common.py | 2 +-
.../coprs/views/api_ns/api_general.py | 2 +-
frontend/coprs_frontend/coprs/views/misc.py | 7 +-
frontend/coprs_frontend/tests/coprs_test_case.py | 10 ++--
.../coprs_frontend/tests/test_api/test_build_r.py | 40 +++++-----
.../tests/test_api/test_build_task_r.py | 12 ++--
.../tests/test_api/test_mock_chroot_r.py | 6 +-
.../tests/test_api/test_project_chroot_r.py | 26 ++++----
.../tests/test_api/test_project_r.py | 20 +++---
.../test_views/test_admin/test_admin_general.py | 6 +-
.../test_views/test_api_ns/test_api_general.py | 8 +-
.../test_backend_ns/test_backend_general.py | 26 ++++----
.../test_views/test_coprs_ns/test_coprs_builds.py | 20 +++---
.../test_views/test_coprs_ns/test_coprs_general.py | 74 ++++++++++----------
14 files changed, 130 insertions(+), 129 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/rest_api/common.py
b/frontend/coprs_frontend/coprs/rest_api/common.py
index 061627d..6be90b2 100644
--- a/frontend/coprs_frontend/coprs/rest_api/common.py
+++ b/frontend/coprs_frontend/coprs/rest_api/common.py
@@ -91,7 +91,7 @@ def rest_api_auth_required(f):
base64string = flask.request.headers["Authorization"]
base64string = base64string.split()[1].strip()
userstring = base64.b64decode(base64string)
- (api_login, token) = userstring.split(":")
+ (api_login, token) = userstring.split(b":")
except Exception:
log.exception("Failed to get auth token from headers")
api_login = token = None
diff --git a/frontend/coprs_frontend/coprs/views/api_ns/api_general.py
b/frontend/coprs_frontend/coprs/views/api_ns/api_general.py
index ee6e493..743b36e 100644
--- a/frontend/coprs_frontend/coprs/views/api_ns/api_general.py
+++ b/frontend/coprs_frontend/coprs/views/api_ns/api_general.py
@@ -47,7 +47,7 @@ def api_new_token():
"""
user = flask.g.user
- copr64 = base64.b64encode("copr") + "##"
+ copr64 = base64.b64encode(b"copr") + b"##"
api_login = helpers.generate_api_token(
flask.current_app.config["API_TOKEN_LENGTH"] - len(copr64))
user.api_login = api_login
diff --git a/frontend/coprs_frontend/coprs/views/misc.py
b/frontend/coprs_frontend/coprs/views/misc.py
index b0a98d7..37ce246 100644
--- a/frontend/coprs_frontend/coprs/views/misc.py
+++ b/frontend/coprs_frontend/coprs/views/misc.py
@@ -30,7 +30,7 @@ def create_user_wrapper(username, email, timezone=None):
datetime.timedelta(
days=flask.current_app.config["API_TOKEN_EXPIRATION"])
- copr64 = base64.b64encode("copr") + "##"
+ copr64 = base64.b64encode(b"copr") + b"##"
user = models.User(username=username, mail=email,
timezone=timezone,
api_login=copr64 + helpers.generate_api_token(
@@ -42,7 +42,8 @@ def create_user_wrapper(username, email, timezone=None):
def fed_raw_name(oidname):
- return
oidname.replace(".id.fedoraproject.org/", "") \
+ return oidname.decode("utf-8") \
+ .replace(".id.fedoraproject.org/", "") \
.replace("http://", "")
@@ -204,7 +205,7 @@ def api_login_required(f):
base64string = flask.request.headers["Authorization"]
base64string = base64string.split()[1].strip()
userstring = base64.b64decode(base64string)
- (apt_login, token) = userstring.split(":")
+ (apt_login, token) = userstring.split(b":")
token_auth = False
if token and apt_login:
user = UsersLogic.get_by_api_login(apt_login).first()
diff --git a/frontend/coprs_frontend/tests/coprs_test_case.py
b/frontend/coprs_frontend/tests/coprs_test_case.py
index 35a670d..49848b5 100644
--- a/frontend/coprs_frontend/tests/coprs_test_case.py
+++ b/frontend/coprs_frontend/tests/coprs_test_case.py
@@ -80,8 +80,8 @@ class CoprsTestCase(object):
@property
def auth_header(self):
- return {"Authorization": "Basic " +
-
base64.b64encode("doesntmatter:{0}".format(self.backend_passwd))}
+ return {"Authorization": b"Basic " +
+
base64.b64encode("doesntmatter:{0}".format(self.backend_passwd).encode("utf-8"))}
@pytest.fixture
def f_db(self):
@@ -411,9 +411,9 @@ class CoprsTestCase(object):
return self.tc.open(url, **kwargs)
def _get_auth_string(self, login, token):
- userstring = "{}:{}".format(login, token)
+ userstring = "{}:{}".format(login, token).encode("utf-8")
base64string_user = base64.b64encode(userstring)
- base64string = "Basic " + base64string_user
+ base64string = b"Basic " + base64string_user
return base64string
@@ -453,6 +453,6 @@ class TransactionDecorator(object):
def wrapper(fn, fn_self, *args):
with fn_self.tc as fn_self.test_client:
with fn_self.test_client.session_transaction() as session:
- session["openid"] = getattr(fn_self, self.user).username
+ session["openid"] = getattr(fn_self,
self.user).username.encode("utf-8")
return fn(fn_self, *args)
return decorator.decorator(wrapper, fn)
diff --git a/frontend/coprs_frontend/tests/test_api/test_build_r.py
b/frontend/coprs_frontend/tests/test_api/test_build_r.py
index ae5bee3..00b600c 100644
--- a/frontend/coprs_frontend/tests/test_api/test_build_r.py
+++ b/frontend/coprs_frontend/tests/test_api/test_build_r.py
@@ -1,5 +1,5 @@
# coding: utf-8
-from cStringIO import StringIO
+from io import BytesIO
import json
import math
import random
@@ -27,7 +27,7 @@ class TestBuildResource(CoprsTestCase):
self.db.session.commit()
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
# not a pure test, but we test API here
builds = BuildsLogic.get_multiple().all()
@@ -48,8 +48,8 @@ class TestBuildResource(CoprsTestCase):
assert r_a.status_code == 200
assert r_b.status_code == 200
- obj_a = json.loads(r_a.data)
- obj_b = json.loads(r_b.data)
+ obj_a = json.loads(r_a.data.decode("utf-8"))
+ obj_b = json.loads(r_b.data.decode("utf-8"))
builds = BuildsLogic.get_multiple().all()
expected_ids_a = set([b.id for b in builds if b.ended_on is not None])
@@ -67,7 +67,7 @@ class TestBuildResource(CoprsTestCase):
self.db.session.commit()
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
# not a pure test, but we test API here
builds = [
@@ -86,7 +86,7 @@ class TestBuildResource(CoprsTestCase):
self.db.session.commit()
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
# not a pure test, but we test API here
builds = [
@@ -108,7 +108,7 @@ class TestBuildResource(CoprsTestCase):
href = "/api_2/builds?limit={}".format(lim)
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
builds = obj["builds"]
assert len(builds) == lim
@@ -123,8 +123,8 @@ class TestBuildResource(CoprsTestCase):
assert r1.status_code == 200
assert r2.status_code == 200
- obj1 = json.loads(r1.data)
- obj2 = json.loads(r2.data)
+ obj1 = json.loads(r1.data.decode("utf-8"))
+ obj2 = json.loads(r2.data.decode("utf-8"))
assert builds[:delta] == obj1["builds"]
assert builds[delta:2 * delta] == obj2["builds"]
@@ -191,7 +191,7 @@ class TestBuildResource(CoprsTestCase):
assert r0.status_code == 201
r1 = self.tc.get(r0.headers["Location"])
assert r1.status_code == 200
- build_obj = json.loads(r1.data)
+ build_obj = json.loads(r1.data.decode("utf-8"))
build_dict = build_obj["build"]
assert build_dict["source_metadata"]["url"] == \
metadata["srpm_url"]
@@ -252,7 +252,7 @@ class TestBuildResource(CoprsTestCase):
}
data = {
"metadata": json.dumps(metadata),
- "srpm": (StringIO(u'my file contents'), 'hello
world.src.rpm')
+ "srpm": (BytesIO(b'my file contents'), 'hello
world.src.rpm')
}
login = self.u2.api_login
token = self.u2.api_token
@@ -280,7 +280,7 @@ class TestBuildResource(CoprsTestCase):
}
data = {
"metadata": json.dumps(metadata),
- "srpm": (StringIO(u'my file contents'), 'hello
world.src.rpm')
+ "srpm": (BytesIO(b'my file contents'), 'hello
world.src.rpm')
}
self.db.session.commit()
r0 = self.request_rest_api_with_auth(
@@ -303,7 +303,7 @@ class TestBuildResource(CoprsTestCase):
}
data = {
"metadata": json.dumps(metadata),
- "srpm": (StringIO(u'my file contents'), 'hello
world.src.rpm')
+ "srpm": (BytesIO(b'my file contents'), 'hello
world.src.rpm')
}
self.db.session.commit()
r0 = self.request_rest_api_with_auth(
@@ -315,13 +315,13 @@ class TestBuildResource(CoprsTestCase):
assert r0.status_code == 201
r1 = self.tc.get(r0.headers["Location"])
assert r1.status_code == 200
- build_obj = json.loads(r1.data)
+ build_obj = json.loads(r1.data.decode("utf-8"))
assert build_obj["build"]["source_type"] ==
"srpm_upload"
tasks_href =
build_obj["_links"]["build_tasks"]["href"]
r2 = self.tc.get(tasks_href)
- build_chroots_obj = json.loads(r2.data)
+ build_chroots_obj = json.loads(r2.data.decode("utf-8"))
build_chroots_names = set([bc["build_task"]["chroot_name"]
for bc in
build_chroots_obj["build_tasks"]])
assert set(chroot_name_list) == build_chroots_names
@@ -350,7 +350,7 @@ class TestBuildResource(CoprsTestCase):
self,f_users, f_coprs, f_builds, f_db,
f_users_api, f_mock_chroots):
data = {
- "srpm": (StringIO(u'my file contents'), 'hello
world.src.rpm')
+ "srpm": (BytesIO(b'my file contents'), 'hello
world.src.rpm')
}
self.db.session.commit()
r0 = self.request_rest_api_with_auth(
@@ -371,7 +371,7 @@ class TestBuildResource(CoprsTestCase):
href = "/api_2/builds/{}".format(b_id)
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert obj["build"]["id"] == b_id
assert obj["_links"]["self"]["href"] == href
@@ -385,7 +385,7 @@ class TestBuildResource(CoprsTestCase):
href = "/api_2/builds/{}?show_build_tasks=True".format(b_id)
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert obj["build"]["id"] == b_id
assert obj["_links"]["self"]["href"] == href
assert "build_tasks" in obj
@@ -520,7 +520,7 @@ class TestBuildResource(CoprsTestCase):
r2 = self.tc.get(r.headers["Location"])
assert r2.status_code == 200
- obj = json.loads(r2.data)
+ obj = json.loads(r2.data.decode("utf-8"))
assert obj["build"]["state"] == "canceled"
def test_build_put_cancel_wrong_state(
@@ -547,6 +547,6 @@ class TestBuildResource(CoprsTestCase):
r2 = self.tc.get(href)
assert r2.status_code == 200
- obj = json.loads(r2.data)
+ obj = json.loads(r2.data.decode("utf-8"))
assert obj["build"]["state"] == old_state
diff --git a/frontend/coprs_frontend/tests/test_api/test_build_task_r.py
b/frontend/coprs_frontend/tests/test_api/test_build_task_r.py
index 1ffc37e..31b1034 100644
--- a/frontend/coprs_frontend/tests/test_api/test_build_task_r.py
+++ b/frontend/coprs_frontend/tests/test_api/test_build_task_r.py
@@ -26,7 +26,7 @@ class TestBuildTaskResource(CoprsTestCase):
r0 = self.tc.get(href)
assert r0.status_code == 200
- obj = json.loads(r0.data)
+ obj = json.loads(r0.data.decode("utf-8"))
assert len(obj["build_tasks"]) == len(bc_list)
def test_collection_ok_default_limit(self, f_users, f_coprs, f_mock_chroots,
f_builds, f_db,
@@ -41,7 +41,7 @@ class TestBuildTaskResource(CoprsTestCase):
r0 = self.tc.get(href)
assert r0.status_code == 200
- obj = json.loads(r0.data)
+ obj = json.loads(r0.data.decode("utf-8"))
assert obj["_links"]["self"]["href"] ==
expected
def test_collection_ok_by_state(
@@ -64,7 +64,7 @@ class TestBuildTaskResource(CoprsTestCase):
r0 = self.tc.get(href)
assert r0.status_code == 200
- obj = json.loads(r0.data)
+ obj = json.loads(r0.data.decode("utf-8"))
assert len(obj["build_tasks"]) == len(expected_chroots)
assert set(bt["build_task"]["chroot_name"]
for bt in obj["build_tasks"]) == expected_chroots
@@ -82,7 +82,7 @@ class TestBuildTaskResource(CoprsTestCase):
r0 = self.tc.get(href)
assert r0.status_code == 200
- obj = json.loads(r0.data)
+ obj = json.loads(r0.data.decode("utf-8"))
assert len(obj["build_tasks"]) == len(bc_list)
assert obj["_links"]["self"]["href"] == href
@@ -101,7 +101,7 @@ class TestBuildTaskResource(CoprsTestCase):
r0 = self.tc.get(href)
assert r0.status_code == 200
- obj = json.loads(r0.data)
+ obj = json.loads(r0.data.decode("utf-8"))
assert len(obj["build_tasks"]) == bc_list_len
assert obj["_links"]["self"]["href"] == href
@@ -134,7 +134,7 @@ class TestBuildTaskResource(CoprsTestCase):
r0 = self.tc.get(href)
assert r0.status_code == 200
- obj = json.loads(r0.data)
+ obj = json.loads(r0.data.decode("utf-8"))
for k, res_k in expected_fields:
if res_k is None:
res_k = k
diff --git a/frontend/coprs_frontend/tests/test_api/test_mock_chroot_r.py
b/frontend/coprs_frontend/tests/test_api/test_mock_chroot_r.py
index beb3568..16d6c3f 100644
--- a/frontend/coprs_frontend/tests/test_api/test_mock_chroot_r.py
+++ b/frontend/coprs_frontend/tests/test_api/test_mock_chroot_r.py
@@ -18,7 +18,7 @@ class TestMockChrootResource(CoprsTestCase):
href = "/api_2/mock_chroots"
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert obj["_links"]["self"]["href"] == href
assert len(obj["chroots"]) == len(self.mc_basic_list)
@@ -31,7 +31,7 @@ class TestMockChrootResource(CoprsTestCase):
href = "/api_2/mock_chroots?active_only=True"
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert obj["_links"]["self"]["href"] == href
assert len(obj["chroots"]) == expected_len
@@ -48,6 +48,6 @@ class TestMockChrootResource(CoprsTestCase):
href = "/api_2/mock_chroots/{}".format(chroot_name)
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert obj["_links"]["self"]["href"] == href
assert obj["chroot"]["name"] == chroot_name
diff --git a/frontend/coprs_frontend/tests/test_api/test_project_chroot_r.py
b/frontend/coprs_frontend/tests/test_api/test_project_chroot_r.py
index fdb20fa..054b37f 100644
--- a/frontend/coprs_frontend/tests/test_api/test_project_chroot_r.py
+++ b/frontend/coprs_frontend/tests/test_api/test_project_chroot_r.py
@@ -23,7 +23,7 @@ class TestProjectChrootResource(CoprsTestCase):
r0 = self.tc.get("/api_2/projects/1/chroots")
assert r0.status_code == 200
- assert len(json.loads(r0.data)["chroots"]) == init_len
+ assert len(json.loads(r0.data.decode("utf-8"))["chroots"]) ==
init_len
r1 = self.request_rest_api_with_auth(
"/api_2/projects/1/chroots/{}".format(chroot_name),
@@ -33,7 +33,7 @@ class TestProjectChrootResource(CoprsTestCase):
r2 = self.tc.get("/api_2/projects/1/chroots")
assert r2.status_code == 200
- assert len(json.loads(r2.data)["chroots"]) == init_len - 1
+ assert len(json.loads(r2.data.decode("utf-8"))["chroots"]) ==
init_len - 1
# test idempotency
r3 = self.request_rest_api_with_auth(
@@ -43,7 +43,7 @@ class TestProjectChrootResource(CoprsTestCase):
assert r3.status_code == 204
r4 = self.tc.get("/api_2/projects/1/chroots")
assert r4.status_code == 200
- assert len(json.loads(r4.data)["chroots"]) == init_len - 1
+ assert len(json.loads(r4.data.decode("utf-8"))["chroots"]) ==
init_len - 1
def test_remove_chroot_other_user(
self, f_users, f_coprs,f_db, f_users_api,
@@ -57,7 +57,7 @@ class TestProjectChrootResource(CoprsTestCase):
r0 = self.tc.get("/api_2/projects/1/chroots")
assert r0.status_code == 200
- assert len(json.loads(r0.data)["chroots"]) == init_len
+ assert len(json.loads(r0.data.decode("utf-8"))["chroots"]) ==
init_len
r1 = self.request_rest_api_with_auth(
"/api_2/projects/1/chroots/{}".format(chroot_name),
@@ -68,7 +68,7 @@ class TestProjectChrootResource(CoprsTestCase):
r2 = self.tc.get("/api_2/projects/1/chroots")
assert r2.status_code == 200
- assert len(json.loads(r2.data)["chroots"]) == init_len
+ assert len(json.loads(r2.data.decode("utf-8"))["chroots"]) ==
init_len
def test_put_correct(self, f_users, f_coprs, f_db, f_users_api, f_mock_chroots):
chroot_name = self.mc1.name
@@ -170,7 +170,7 @@ class TestProjectChrootResource(CoprsTestCase):
r0 = self.tc.get("/api_2/projects/1/chroots")
assert r0.status_code == 200
- assert len(json.loads(r0.data)["chroots"]) == 1
+ assert len(json.loads(r0.data.decode("utf-8"))["chroots"]) ==
1
r1 = self.request_rest_api_with_auth(
"/api_2/projects/1/chroots/{}".format(chroot_name),
@@ -196,7 +196,7 @@ class TestProjectChrootResource(CoprsTestCase):
r0 = self.tc.get("/api_2/projects/1/chroots")
assert r0.status_code == 200
- assert len(json.loads(r0.data)["chroots"]) == 1
+ assert len(json.loads(r0.data.decode("utf-8"))["chroots"]) ==
1
r1 = self.request_rest_api_with_auth(
"/api_2/projects/1/chroots",
@@ -215,7 +215,7 @@ class TestProjectChrootResource(CoprsTestCase):
for k, v in base_data.items():
assert response_data.get(k) == v
- assert_content(json.loads(r3.data)["chroot"])
+
assert_content(json.loads(r3.data.decode("utf-8"))["chroot"])
def test_create_chroot_build_no_buildchroot(self, f_users, f_coprs, f_db,
f_users_api, f_mock_chroots):
new_chroot_name = self.mc2.name
@@ -232,7 +232,7 @@ class TestProjectChrootResource(CoprsTestCase):
r0 = self.tc.get("/api_2/projects/1/chroots")
assert r0.status_code == 200
- assert len(json.loads(r0.data)["chroots"]) == 1
+ assert len(json.loads(r0.data.decode("utf-8"))["chroots"]) ==
1
def test_create_chroot_missing_name(self, f_users, f_coprs, f_db, f_users_api,
f_mock_chroots):
base_data = {
@@ -243,7 +243,7 @@ class TestProjectChrootResource(CoprsTestCase):
self.db.session.commit()
r0 = self.tc.get("/api_2/projects/1/chroots")
assert r0.status_code == 200
- assert len(json.loads(r0.data)["chroots"]) == 1
+ assert len(json.loads(r0.data.decode("utf-8"))["chroots"]) ==
1
r1 = self.request_rest_api_with_auth(
"/api_2/projects/1/chroots",
@@ -254,7 +254,7 @@ class TestProjectChrootResource(CoprsTestCase):
r2 = self.tc.get("/api_2/projects/1/chroots")
assert r2.status_code == 200
- assert len(json.loads(r2.data)["chroots"]) == 1
+ assert len(json.loads(r2.data.decode("utf-8"))["chroots"]) ==
1
def test_create_chroot_non_existing_name(
self, f_users, f_coprs, f_db, f_users_api, f_mock_chroots):
@@ -272,7 +272,7 @@ class TestProjectChrootResource(CoprsTestCase):
self.db.session.commit()
r0 = self.tc.get("/api_2/projects/1/chroots")
assert r0.status_code == 200
- assert len(json.loads(r0.data)["chroots"]) == 1
+ assert len(json.loads(r0.data.decode("utf-8"))["chroots"]) ==
1
r1 = self.request_rest_api_with_auth(
"/api_2/projects/1/chroots",
@@ -301,7 +301,7 @@ class TestProjectChrootResource(CoprsTestCase):
self.db.session.commit()
r0 = self.tc.get("/api_2/projects/1/chroots")
assert r0.status_code == 200
- assert len(json.loads(r0.data)["chroots"]) == 1
+ assert len(json.loads(r0.data.decode("utf-8"))["chroots"]) ==
1
r1 = self.request_rest_api_with_auth(
"/api_2/projects/1/chroots",
diff --git a/frontend/coprs_frontend/tests/test_api/test_project_r.py
b/frontend/coprs_frontend/tests/test_api/test_project_r.py
index dff95fe..34c4617 100644
--- a/frontend/coprs_frontend/tests/test_api/test_project_r.py
+++ b/frontend/coprs_frontend/tests/test_api/test_project_r.py
@@ -35,7 +35,7 @@ class TestProjectResource(CoprsTestCase):
href = "/api_2/projects"
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert obj["_links"]["self"]["href"] == href
def test_project_list_all(self, f_users, f_mock_chroots, f_coprs, f_db):
@@ -43,7 +43,7 @@ class TestProjectResource(CoprsTestCase):
href = "/api_2/projects"
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert set(p["project"]["id"] for p in
obj["projects"]) == \
expected_id_set
@@ -55,7 +55,7 @@ class TestProjectResource(CoprsTestCase):
href = "/api_2/projects?owner={}".format(self.u1.username)
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert set(p["project"]["id"] for p in
obj["projects"]) == \
expected_id_set
@@ -67,7 +67,7 @@ class TestProjectResource(CoprsTestCase):
href = "/api_2/projects?name={}".format(self.c1.name)
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert set(p["project"]["id"] for p in
obj["projects"]) == \
expected_id_set
@@ -85,7 +85,7 @@ class TestProjectResource(CoprsTestCase):
for href, expected in zip(href_list, [s_1, s_2, s_3]):
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert set(p["project"]["id"] for p in
obj["projects"]) == \
expected
@@ -107,7 +107,7 @@ class TestProjectResource(CoprsTestCase):
r0 =
self.tc.get(u"/api_2/projects?search_query={}".format(self.prefix))
assert r0.status_code == 200
- obj = json.loads(r0.data)
+ obj = json.loads(r0.data.decode("utf-8"))
assert len(obj["projects"]) == k1 + k2
for p in obj["projects"]:
assert self.prefix in p["project"]["name"]
@@ -115,7 +115,7 @@ class TestProjectResource(CoprsTestCase):
r1 = self.tc.get(u"/api_2/projects?search_query={}&owner={}"
.format(self.prefix, c1_username))
assert r1.status_code == 200
- obj = json.loads(r1.data)
+ obj = json.loads(r1.data.decode("utf-8"))
assert len(obj["projects"]) == k1
for p in obj["projects"]:
assert self.prefix in p["project"]["name"]
@@ -254,7 +254,7 @@ class TestProjectResource(CoprsTestCase):
href = "/api_2/projects/{}".format(p_id)
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert obj["project"]["id"] == p_id
assert obj["_links"]["self"]["href"] == href
@@ -266,7 +266,7 @@ class TestProjectResource(CoprsTestCase):
href = "/api_2/projects/{}?show_chroots=True".format(p_id)
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert obj["project"]["id"] == p_id
assert obj["_links"]["self"]["href"] == href
@@ -282,7 +282,7 @@ class TestProjectResource(CoprsTestCase):
href = "/api_2/projects/{}?show_builds=True".format(p_id)
r = self.tc.get(href)
assert r.status_code == 200
- obj = json.loads(r.data)
+ obj = json.loads(r.data.decode("utf-8"))
assert obj["project"]["id"] == p_id
assert obj["_links"]["self"]["href"] == href
diff --git a/frontend/coprs_frontend/tests/test_views/test_admin/test_admin_general.py
b/frontend/coprs_frontend/tests/test_views/test_admin/test_admin_general.py
index 7489374..3e68ae0 100644
--- a/frontend/coprs_frontend/tests/test_views/test_admin/test_admin_general.py
+++ b/frontend/coprs_frontend/tests/test_views/test_admin/test_admin_general.py
@@ -9,10 +9,10 @@ class TestAdminLogin(CoprsTestCase):
def test_nonadmin_cant_login(self, f_users, f_db):
with self.tc as c:
with c.session_transaction() as s:
- s["openid"] = self.u2.username
+ s["openid"] = self.u2.username.encode("utf-8")
r = c.get("/admin/", follow_redirects=True)
- assert self.text_to_check not in r.data
+ assert self.text_to_check not in r.data.decode("utf-8")
def test_admin_can_login(self, f_users, f_db):
with self.tc as c:
@@ -20,4 +20,4 @@ class TestAdminLogin(CoprsTestCase):
s["openid"] = self.u1.username
r = c.get("/admin/", follow_redirects=True)
- assert self.text_to_check in r.data
+ assert self.text_to_check in r.data.decode("utf-8")
diff --git a/frontend/coprs_frontend/tests/test_views/test_api_ns/test_api_general.py
b/frontend/coprs_frontend/tests/test_views/test_api_ns/test_api_general.py
index 833d9af..e71e4c0 100644
--- a/frontend/coprs_frontend/tests/test_views/test_api_ns/test_api_general.py
+++ b/frontend/coprs_frontend/tests/test_views/test_api_ns/test_api_general.py
@@ -18,8 +18,8 @@ class TestCreateCopr(CoprsTestCase):
def post_api_with_auth(self, url, content):
userstring = "{}:{}".format(self.u1.api_login, self.u1.api_token)
- base64string_user = base64.b64encode(userstring)
- base64string = "Basic " + base64string_user
+ base64string_user = base64.b64encode(userstring.encode("utf-8"))
+ base64string = b"Basic " + base64string_user
return self.tc.post(
url,
@@ -52,7 +52,7 @@ class TestCreateCopr(CoprsTestCase):
"/api/coprs/{}/new/".format(self.u1.name),
content_encoded
)
- response = json.loads(r.data)
+ response = json.loads(r.data.decode("utf-8"))
assert "New project was successfully created" in
response["message"]
copr = self.models.Copr.query.filter(self.models.Copr.name ==
self.copr_name).one()
@@ -84,7 +84,7 @@ class TestCreateCopr(CoprsTestCase):
"/api/coprs/{}/new/".format(self.u1.name),
content_encoded
)
- response = json.loads(r.data)
+ response = json.loads(r.data.decode("utf-8"))
assert "New project was successfully created" in
response["message"]
copr = self.models.Copr.query.filter(self.models.Copr.name ==
self.copr_name).one()
diff --git
a/frontend/coprs_frontend/tests/test_views/test_backend_ns/test_backend_general.py
b/frontend/coprs_frontend/tests/test_views/test_backend_ns/test_backend_general.py
index 3b8a748..bc4cddd 100644
--- a/frontend/coprs_frontend/tests/test_views/test_backend_ns/test_backend_general.py
+++ b/frontend/coprs_frontend/tests/test_views/test_backend_ns/test_backend_general.py
@@ -6,7 +6,7 @@ from tests.coprs_test_case import CoprsTestCase
class TestWaitingBuilds(CoprsTestCase):
def test_no_waiting_builds(self):
- assert '"builds": []' in self.tc.get(
+ assert b'"builds": []' in self.tc.get(
"/backend/waiting/", headers=self.auth_header).data
def test_waiting_build_only_lists_not_started_or_ended(
@@ -18,7 +18,7 @@ class TestWaitingBuilds(CoprsTestCase):
self.db.session.commit()
r = self.tc.get("/backend/waiting/", headers=self.auth_header)
- assert len(json.loads(r.data)["builds"]) == 5
+ assert len(json.loads(r.data.decode("utf-8"))["builds"]) ==
5
# status = 0 # failure
@@ -88,7 +88,7 @@ class TestUpdateBuilds(CoprsTestCase):
r = self.tc.post("/backend/update/",
content_type="application/json",
data="")
- assert "You have to provide the correct password" in r.data
+ assert b"You have to provide the correct password" in r.data
# todo: add test for `backend/starting_build/`
@@ -99,8 +99,8 @@ class TestUpdateBuilds(CoprsTestCase):
content_type="application/json",
headers=self.auth_header,
data=self.data2)
- assert json.loads(r.data)["updated_builds_ids"] == [1]
- assert json.loads(r.data)["non_existing_builds_ids"] == []
+ assert
json.loads(r.data.decode("utf-8"))["updated_builds_ids"] == [1]
+ assert
json.loads(r.data.decode("utf-8"))["non_existing_builds_ids"] == []
updated = self.models.Build.query.filter(
self.models.Build.id == 1).one()
@@ -120,8 +120,8 @@ class TestUpdateBuilds(CoprsTestCase):
headers=self.auth_header,
data=self.data3)
- assert sorted(json.loads(r.data)["updated_builds_ids"]) == [1, 2]
- assert sorted(json.loads(r.data)["non_existing_builds_ids"]) == [
+ assert
sorted(json.loads(r.data.decode("utf-8"))["updated_builds_ids"]) ==
[1, 2]
+ assert
sorted(json.loads(r.data.decode("utf-8"))["non_existing_builds_ids"])
== [
123321, 1234321]
started = self.models.Build.query.filter(
@@ -138,14 +138,14 @@ class TestUpdateBuilds(CoprsTestCase):
class TestWaitingActions(CoprsTestCase):
def test_no_waiting_actions(self):
- assert '"actions": []' in self.tc.get(
+ assert b'"actions": []' in self.tc.get(
"/backend/waiting/", headers=self.auth_header).data
def test_waiting_actions_only_lists_not_started_or_ended(
self, f_users, f_coprs, f_actions, f_db):
r = self.tc.get("/backend/waiting/", headers=self.auth_header)
- assert len(json.loads(r.data)["actions"]) == 2
+ assert len(json.loads(r.data.decode("utf-8"))["actions"]) ==
2
class TestUpdateActions(CoprsTestCase):
@@ -189,8 +189,8 @@ class TestUpdateActions(CoprsTestCase):
content_type="application/json",
headers=self.auth_header,
data=self.data1)
- assert json.loads(r.data)["updated_actions_ids"] == [1]
- assert json.loads(r.data)["non_existing_actions_ids"] == []
+ assert
json.loads(r.data.decode("utf-8"))["updated_actions_ids"] == [1]
+ assert
json.loads(r.data.decode("utf-8"))["non_existing_actions_ids"] == []
updated = self.models.Action.query.filter(
self.models.Action.id == 1).first()
@@ -205,8 +205,8 @@ class TestUpdateActions(CoprsTestCase):
content_type="application/json",
headers=self.auth_header,
data=self.data2)
- assert sorted(json.loads(r.data)["updated_actions_ids"]) == [1, 2]
- assert json.loads(r.data)["non_existing_actions_ids"] == [100]
+ assert
sorted(json.loads(r.data.decode("utf-8"))["updated_actions_ids"]) ==
[1, 2]
+ assert
json.loads(r.data.decode("utf-8"))["non_existing_actions_ids"] ==
[100]
updated = self.models.Action.query.filter(
self.models.Action.id == 1).first()
diff --git a/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py
b/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py
index 42ee9af..2fa1290 100644
--- a/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py
+++ b/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_builds.py
@@ -11,7 +11,7 @@ class TestCoprShowBuilds(CoprsTestCase):
r = self.tc.get(
"/coprs/{0}/{1}/builds/".format(self.u2.name, self.c2.name))
- assert r.data.count('<tr class="build-') == 2
+ assert r.data.count(b'<tr class="build-') == 2
class TestCoprAddBuild(CoprsTestCase):
@@ -80,7 +80,7 @@ class TestCoprAddBuild(CoprsTestCase):
r = self.tc.get(
"/coprs/{0}/{1}/add_build/".format(self.u1.name, "foo"))
- assert '<input checked id="enable_net"
name="enable_net"' not in r.data
+ assert b'<input checked id="enable_net"
name="enable_net"' not in r.data
class TestCoprCancelBuild(CoprsTestCase):
@@ -140,7 +140,7 @@ class TestCoprDeleteBuild(CoprsTestCase):
.format(self.u1.name, self.c1.name, self.b1.id),
data={},
follow_redirects=True)
- assert "Build has been deleted" in r.data
+ assert b"Build has been deleted" in r.data
b = (self.models.Build.query.filter(
self.models.Build.id == self.b1.id)
.first())
@@ -187,7 +187,7 @@ class TestCoprDeleteBuild(CoprsTestCase):
.format(self.u1.name, self.c1.name, self.b1.id),
data={},
follow_redirects=True)
- assert "not allowed to delete build" in r.data
+ assert b"not allowed to delete build" in r.data
b = (self.models.Build.query.filter(
self.models.Build.id == self.b1.id)
.first())
@@ -236,7 +236,7 @@ class TestCoprRepeatBuild(CoprsTestCase):
assert r.status_code == 200
# no longer using URL
#assert self.b_few_chroots.pkgs in r.data
- assert "Resubmit build {}".format(self.b_few_chroots.id) in r.data
+ assert b"Resubmit build {}".format(self.b_few_chroots.id) in r.data
# TODO: maybe test, that only failed chroots are selected
@@ -264,7 +264,7 @@ class TestCoprRepeatBuild(CoprsTestCase):
data={},
follow_redirects=True)
- assert "Resubmit build {}".format(self.b1.id) in r.data
+ assert b"Resubmit build {}".format(self.b1.id) in r.data
assert r.status_code == 200
# assert "Build was resubmitted" in r.data
# assert len(self.models.Build.query
@@ -285,7 +285,7 @@ class TestCoprRepeatBuild(CoprsTestCase):
follow_redirects=True)
# import ipdb; ipdb.set_trace()
- assert "You are not allowed to repeat this build." in r.data
+ assert b"You are not allowed to repeat this build." in r.data
@TransactionDecorator("u1")
def test_copr_build_package_urls(self, f_users,
@@ -305,6 +305,6 @@ class TestCoprRepeatBuild(CoprsTestCase):
for i, url in enumerate(urls):
r.insert(i, self.test_client.post(route, data={"pkgs": url},
follow_redirects=True))
- assert "New build has been created" in r[0].data
- assert "doesn't seem to be a valid URL" in r[1].data
- assert "doesn't seem to be a valid SRPM URL" in r[2].data
+ assert b"New build has been created" in r[0].data
+ assert b"doesn't seem to be a valid URL" in r[1].data
+ assert b"doesn't seem to be a valid SRPM URL" in r[2].data
diff --git a/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_general.py
b/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_general.py
index 91a3afc..ca0ab85 100644
--- a/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_general.py
+++ b/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_general.py
@@ -49,11 +49,11 @@ class TestMonitor(CoprsTestCase):
class TestCoprsShow(CoprsTestCase):
def test_show_no_entries(self):
- assert "No projects..." in self.tc.get("/").data
+ assert b"No projects..." in self.tc.get("/").data
def test_show_more_entries(self, f_users, f_coprs, f_db):
r = self.tc.get("/")
- assert r.data.count('<!--copr-project-->') == 3
+ assert r.data.count(b'<!--copr-project-->') == 3
class TestCoprsOwned(CoprsTestCase):
@@ -62,13 +62,13 @@ class TestCoprsOwned(CoprsTestCase):
def test_owned_none(self, f_users, f_coprs, f_db):
self.db.session.add(self.u3)
r = self.test_client.get("/coprs/{0}/".format(self.u3.name))
- assert "No projects..." in r.data
+ assert b"No projects..." in r.data
@TransactionDecorator("u1")
def test_owned_one(self, f_users, f_coprs, f_db):
self.db.session.add(self.u1)
r = self.test_client.get("/coprs/{0}/".format(self.u1.name))
- assert r.data.count('<!--copr-project-->') == 1
+ assert r.data.count(b'<!--copr-project-->') == 1
class TestCoprsAllowed(CoprsTestCase):
@@ -77,13 +77,13 @@ class TestCoprsAllowed(CoprsTestCase):
def test_allowed_none(self, f_users, f_coprs, f_copr_permissions, f_db):
self.db.session.add(self.u3)
r = self.test_client.get("/coprs/{0}/allowed/".format(self.u3.name))
- assert "No projects..." in r.data
+ assert b"No projects..." in r.data
@TransactionDecorator("u1")
def test_allowed_one(self, f_users, f_coprs, f_copr_permissions, f_db):
self.db.session.add(self.u1)
r = self.test_client.get("/coprs/{0}/allowed/".format(self.u1.name))
- assert r.data.count('<!--copr-project-->') == 1
+ assert r.data.count(b'<!--copr-project-->') == 1
class TestCoprNew(CoprsTestCase):
@@ -143,7 +143,7 @@ class TestCoprNew(CoprsTestCase):
self.db.session.add(self.c1)
assert len(self.models.Copr.query.filter(
self.models.Copr.name == self.c1.name).all()) == foocoprs
- assert "You already have project named" in r.data
+ assert b"You already have project named" in r.data
@TransactionDecorator("u1")
def test_copr_new_with_initial_pkgs(self, f_users, f_mock_chroots, f_db):
@@ -164,7 +164,7 @@ class TestCoprNew(CoprsTestCase):
assert self.models.Build.query.first().copr == copr
assert self.models.Build.query.first().enable_net is True
assert copr.build_count == 1
- assert "Initial packages were successfully submitted" in r.data
+ assert b"Initial packages were successfully submitted" in r.data
@TransactionDecorator("u1")
@@ -186,7 +186,7 @@ class TestCoprNew(CoprsTestCase):
assert self.models.Build.query.first().copr == copr
assert self.models.Build.query.first().enable_net is False
assert copr.build_count == 1
- assert "Initial packages were successfully submitted" in r.data
+ assert b"Initial packages were successfully submitted" in r.data
@TransactionDecorator("u1")
def test_copr_new_is_allowed_even_if_deleted_has_same_name(
@@ -222,29 +222,29 @@ class TestCoprDetail(CoprsTestCase):
def test_copr_detail_normal(self, f_users, f_coprs, f_db):
r = self.tc.get("/coprs/{0}/{1}/".format(self.u1.name, self.c1.name))
assert r.status_code == 200
- assert self.c1.name in r.data
+ assert self.c1.name.encode("utf-8") in r.data
def test_copr_detail_contains_builds(self, f_users, f_coprs,
f_mock_chroots, f_builds, f_db):
r = self.tc.get(
"/coprs/{0}/{1}/builds/".format(self.u1.name, self.c1.name))
- assert r.data.count('<tr class="build') == 2
+ assert r.data.count(b'<tr class="build') == 2
def test_copr_detail_anonymous_doesnt_contain_permissions_table_when_no_permissions(
self, f_users, f_coprs, f_copr_permissions, f_db):
r = self.tc.get(
"/coprs/{0}/{1}/permissions/".format(self.u1.name, self.c1.name))
- assert '<!--permissions-table-->' not in r.data
+ assert b'<!--permissions-table-->' not in r.data
def test_copr_detail_contains_permissions_table(self, f_users, f_coprs,
f_copr_permissions, f_db):
r = self.tc.get(
"/coprs/{0}/{1}/permissions/".format(self.u2.name, self.c3.name))
- assert '<!--permissions-table-->' in r.data
- assert '<td>{0}'.format(self.u3.name) in r.data
- assert '<td>{0}'.format(self.u1.name) in r.data
+ assert b'<!--permissions-table-->' in r.data
+ assert '<td>{0}'.format(self.u3.name).encode("utf-8") in
r.data
+ assert '<td>{0}'.format(self.u1.name).encode("utf-8") in
r.data
@TransactionDecorator("u2")
def test_detail_has_correct_permissions_form(self, f_users, f_coprs,
@@ -254,14 +254,14 @@ class TestCoprDetail(CoprsTestCase):
r = self.test_client.get(
"/coprs/{0}/{1}/permissions/".format(self.u2.name, self.c3.name))
- assert r.data.count("nothing") == 2
- assert '<select id="copr_builder_1"
name="copr_builder_1">' in r.data
- assert '<select id="copr_admin_1"
name="copr_admin_1">' in r.data
+ assert r.data.count(b"nothing") == 2
+ assert b'<select id="copr_builder_1"
name="copr_builder_1">' in r.data
+ assert b'<select id="copr_admin_1"
name="copr_admin_1">' in r.data
def test_copr_detail_doesnt_show_cancel_build_for_anonymous(self, f_users, f_coprs,
f_builds, f_db):
r = self.tc.get(
"/coprs/{0}/{1}/build/{2}/".format(self.u2.name, self.c2.name,
self.c2.builds[0].id))
- assert "/cancel_build/" not in r.data
+ assert b"/cancel_build/" not in r.data
@TransactionDecorator("u1")
def test_copr_detail_doesnt_allow_non_submitter_to_cancel_build(
@@ -270,7 +270,7 @@ class TestCoprDetail(CoprsTestCase):
self.db.session.add_all([self.u2, self.c2])
r = self.test_client.get(
"/coprs/{0}/{1}/build/{2}/".format(self.u2.name, self.c2.name,
self.c2.builds[0].id))
- assert "/cancel_build/" not in r.data
+ assert b"/cancel_build/" not in r.data
@TransactionDecorator("u2")
def test_copr_detail_allows_submitter_to_cancel_build(
@@ -279,7 +279,7 @@ class TestCoprDetail(CoprsTestCase):
self.db.session.add_all([self.u2, self.c2])
r = self.test_client.get(
"/coprs/{0}/{1}/build/{2}/".format(self.u2.name, self.c2.name,
self.c2.builds[0].id))
- assert "/cancel_build/" in r.data
+ assert b"/cancel_build/" in r.data
class TestCoprEdit(CoprsTestCase):
@@ -292,7 +292,7 @@ class TestCoprEdit(CoprsTestCase):
# TODO: use some kind of html parsing library to look
# for the hidden input, this ties us
# to the precise format of the tag
- assert ('<input hidden id="id" name="id"
type="hidden" value="{0}">'
+ assert (b'<input hidden id="id" name="id"
type="hidden" value="{0}">'
.format(self.c1.id) in r.data)
@@ -308,7 +308,7 @@ class TestCoprUpdate(CoprsTestCase):
"id": self.c1.id},
follow_redirects=True)
- assert "Project has been updated successfully" in r.data
+ assert b"Project has been updated successfully" in r.data
@TransactionDecorator("u1")
def test_copr_admin_can_update(self, f_users, f_coprs,
@@ -322,7 +322,7 @@ class TestCoprUpdate(CoprsTestCase):
"id": self.c3.id},
follow_redirects=True)
- assert "Project has been updated successfully" in r.data
+ assert b"Project has been updated successfully" in r.data
@TransactionDecorator("u1")
def test_update_multiple_chroots(self, f_users, f_coprs,
@@ -338,7 +338,7 @@ class TestCoprUpdate(CoprsTestCase):
"id": self.c1.id},
follow_redirects=True)
- assert "Project has been updated successfully" in r.data
+ assert b"Project has been updated successfully" in r.data
self.c1 = self.db.session.merge(self.c1)
self.mc1 = self.db.session.merge(self.mc1)
self.mc2 = self.db.session.merge(self.mc2)
@@ -372,7 +372,7 @@ class TestCoprUpdate(CoprsTestCase):
"id": self.c2.id},
follow_redirects=True)
- assert "Project has been updated successfully" in r.data
+ assert b"Project has been updated successfully" in r.data
self.c2 = self.db.session.merge(self.c2)
self.mc1 = self.db.session.merge(self.mc1)
mock_chroots = (self.models.MockChroot.query
@@ -447,7 +447,7 @@ class TestCoprApplyForPermissions(CoprsTestCase):
data={"copr_builder": "1"},
follow_redirects=True)
- assert "Successfuly updated" in r.data
+ assert b"Successfuly updated" in r.data
self.u1 = self.db.session.merge(self.u1)
self.u2 = self.db.session.merge(self.u2)
@@ -469,7 +469,7 @@ class TestCoprApplyForPermissions(CoprsTestCase):
.format(self.u2.name, self.c2.name),
data={"copr_builder": 1,
"copr_admin": "1"},
follow_redirects=True)
- assert "Successfuly updated" in r.data
+ assert b"Successfuly updated" in r.data
self.u1 = self.db.session.merge(self.u1)
self.c2 = self.db.session.merge(self.c2)
@@ -553,7 +553,7 @@ class TestCoprUpdatePermissions(CoprsTestCase):
"copr_admin_3": "2"},
follow_redirects=True)
- assert "Project permissions were updated" in r.data
+ assert b"Project permissions were updated" in r.data
@TransactionDecorator("u1")
def test_copr_admin_can_give_up_his_permissions(self, f_users, f_coprs,
@@ -580,7 +580,7 @@ class TestCoprUpdatePermissions(CoprsTestCase):
.first())
assert perm.copr_admin == 1
- assert "Project permissions were updated" in r.data
+ assert b"Project permissions were updated" in r.data
class TestCoprDelete(CoprsTestCase):
@@ -593,7 +593,7 @@ class TestCoprDelete(CoprsTestCase):
data={"verify": "yes"},
follow_redirects=True)
- assert "Project has been deleted successfully" in r.data
+ assert b"Project has been deleted successfully" in r.data
self.db.session.add(self.c1)
assert self.models.Action.query.first().id == self.c1.id
assert self.models.Copr.query.filter(
@@ -609,7 +609,7 @@ class TestCoprDelete(CoprsTestCase):
data={"verify": "no"},
follow_redirects=True)
- assert "Project has been deleted successfully" not in r.data
+ assert b"Project has been deleted successfully" not in r.data
assert not self.models.Action.query.first()
assert self.models.Copr.query.filter(
self.models.Copr.id == self.c1.id).first()
@@ -622,7 +622,7 @@ class TestCoprDelete(CoprsTestCase):
data={"verify": "yes"},
follow_redirects=True)
self.c1 = self.db.session.merge(self.c1)
- assert "Project has been deleted successfully" not in r.data
+ assert b"Project has been deleted successfully" not in r.data
assert not self.models.Action.query.first()
assert self.models.Copr.query.filter(
self.models.Copr.id == self.c1.id).first()
@@ -679,13 +679,13 @@ class TestCoprRepoGeneration(CoprsTestCase):
def test_fail_on_missing_dash(self):
r = self.tc.get("/coprs/reponamewithoutdash/repo/")
assert r.status_code == 404
- assert "Project repo does not exist" in r.data
+ assert b"Project repo does not exist" in r.data
def test_fail_on_nonexistent_copr(self):
r = self.tc.get(
"/coprs/bogus-user/bogus-nonexistent-repo/repo/fedora-18-x86_64/")
assert r.status_code == 404
- assert "does not exist" in r.data
+ assert b"does not exist" in r.data
def test_fail_on_no_finished_builds(self, f_users, f_coprs, f_mock_chroots,
f_not_finished_builds, f_db):
@@ -695,7 +695,7 @@ class TestCoprRepoGeneration(CoprsTestCase):
.format(self.u1.name, self.c1.name))
assert r.status_code == 404
- assert "Repository not initialized" in r.data
+ assert b"Repository not initialized" in r.data
def test_works_on_older_builds(self, f_users, f_coprs, f_mock_chroots,
f_custom_builds, f_db):
@@ -707,7 +707,7 @@ class TestCoprRepoGeneration(CoprsTestCase):
.format(self.u1.name, self.c1.name))
assert r.status_code == 200
- assert "baseurl=https://bar.baz" in r.data
+ assert b"baseurl=https://bar.baz" in r.data
app.config["ENFORCE_PROTOCOL_FOR_BACKEND_URL"] = orig