Skip to content

Commit 76224ee

Browse files
committed
Fixing test issue and add overriden decorator
1 parent 15f6446 commit 76224ee

File tree

2 files changed

+58
-27
lines changed

2 files changed

+58
-27
lines changed

oscarapi/tests/unit/testadminapi.py

+1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ def test_root_view(self):
8080
"partners",
8181
"users",
8282
"attributeoptiongroups",
83+
"baskets",
8384
]
8485

8586
for api in admin_apis:

oscarapi/tests/unit/testbasket.py

+57-27
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import json
2+
from unittest import skipIf
23

34
from unittest.mock import patch
45
from django.test import override_settings
@@ -9,6 +10,7 @@
910

1011
from oscarapi.basket.operations import get_basket, get_user_basket
1112
from oscarapi.tests.utils import APITest
13+
from oscarapi import settings
1214

1315

1416
Basket = get_model("basket", "Basket")
@@ -49,7 +51,8 @@ def test_basket_api_create_not_possible(self):
4951

5052
# authenticated
5153
self.login("nobody", "nobody")
52-
data = {"owner": "http://testserver%s" % reverse("user-detail", args=[2])}
54+
data = {"owner": "http://testserver%s" %
55+
reverse("user-detail", args=[2])}
5356

5457
self.response = self.client.post(
5558
url, json.dumps(data), content_type="application/json"
@@ -61,7 +64,8 @@ def test_basket_api_create_not_possible(self):
6164
# admin
6265
self.login("admin", "admin")
6366

64-
data = {"owner": "http://testserver%s" % reverse("user-detail", args=[1])}
67+
data = {"owner": "http://testserver%s" %
68+
reverse("user-detail", args=[1])}
6569
self.response = self.client.post(
6670
url, json.dumps(data), content_type="application/json"
6771
)
@@ -124,23 +128,27 @@ def test_retrieve_basket_header(self):
124128

125129
# authenticated
126130
self.hlogin("nobody", "nobody", session_id="nobody")
127-
self.response = self.get("api-basket", session_id="nobody", authenticated=True)
131+
self.response = self.get(
132+
"api-basket", session_id="nobody", authenticated=True)
128133
self.response.assertStatusEqual(200)
129134
self.response.assertObjectIdEqual("owner", 2)
130135
basket_id = self.response["id"]
131136

132-
self.response = self.get("api-basket", session_id="nobody", authenticated=True)
137+
self.response = self.get(
138+
"api-basket", session_id="nobody", authenticated=True)
133139
self.response.assertStatusEqual(200)
134140
self.response.assertValueEqual("id", basket_id)
135141

136142
# admin
137143
self.hlogin("admin", "admin", session_id="admin")
138-
self.response = self.get("api-basket", session_id="admin", authenticated=True)
144+
self.response = self.get(
145+
"api-basket", session_id="admin", authenticated=True)
139146
self.response.assertStatusEqual(200)
140147
self.response.assertObjectIdEqual("owner", 1)
141148
basket_id = self.response["id"]
142149

143-
self.response = self.get("api-basket", session_id="admin", authenticated=True)
150+
self.response = self.get(
151+
"api-basket", session_id="admin", authenticated=True)
144152
self.response.assertStatusEqual(200)
145153
self.response.assertValueEqual("id", basket_id)
146154

@@ -234,7 +242,8 @@ def test_basket_read_permissions(self):
234242

235243
url = reverse("basket-lines-list", args=(1,))
236244
self.response = self.client.get(url)
237-
self.response.assertStatusEqual(403, "Users not access other peoples baskets.")
245+
self.response.assertStatusEqual(
246+
403, "Users not access other peoples baskets.")
238247

239248
self.assertEqual(
240249
Basket.objects.count(),
@@ -286,7 +295,8 @@ def test_basket_read_permissions_header(self):
286295

287296
# now try for authenticated user.
288297
self.hlogin("nobody", "nobody", session_id="nobody")
289-
self.response = self.get("api-basket", session_id="nobody", authenticated=True)
298+
self.response = self.get(
299+
"api-basket", session_id="nobody", authenticated=True)
290300
self.response.assertStatusEqual(200)
291301

292302
# try to access the urls in the response.
@@ -321,7 +331,8 @@ def test_basket_read_permissions_header(self):
321331
)
322332

323333
self.hlogin("admin", "admin", session_id="admin")
324-
self.response = self.get("api-basket", session_id="admin", authenticated=True)
334+
self.response = self.get(
335+
"api-basket", session_id="admin", authenticated=True)
325336
self.response.assertStatusEqual(200)
326337

327338
# try to access the urls in the response.
@@ -560,7 +571,8 @@ def test_basket_write_permissions_header_authenticated(self):
560571

561572
# now try for authenticated user.
562573
self.hlogin("nobody", "nobody", session_id="nobody")
563-
self.response = self.get("api-basket", session_id="nobody", authenticated=True)
574+
self.response = self.get(
575+
"api-basket", session_id="nobody", authenticated=True)
564576
self.response.assertStatusEqual(200)
565577

566578
# try to access the urls in the response.
@@ -606,11 +618,13 @@ def test_basket_write_permissions_header_authenticated(self):
606618
self.response.assertStatusEqual(201)
607619

608620
# throw the basket away
609-
self.response = self.delete(url, session_id="nobody", authenticated=True)
621+
self.response = self.delete(
622+
url, session_id="nobody", authenticated=True)
610623
self.response.assertStatusEqual(204)
611624

612625
# now lets start messing around
613-
self.response = self.get("api-basket", session_id="nobody", authenticated=True)
626+
self.response = self.get(
627+
"api-basket", session_id="nobody", authenticated=True)
614628
self.response.assertStatusEqual(200)
615629
basket_id = self.response["id"]
616630

@@ -650,7 +664,8 @@ def test_basket_write_permissions_header_authenticated(self):
650664
self.response.assertStatusEqual(403)
651665

652666
# try to delete someone else's basket
653-
self.response = self.delete(url, session_id="nobody", authenticated=True)
667+
self.response = self.delete(
668+
url, session_id="nobody", authenticated=True)
654669
self.response.assertStatusEqual(403)
655670

656671
# try adding lines to someone else's basket
@@ -739,7 +754,8 @@ def test_basket_write_permissions_admin(self):
739754

740755
# try to write to someone else's basket by sending the primary key
741756
# along.
742-
self.response = self.put(url, status="Saved", id=somebody_basket_id)
757+
self.response = self.put(
758+
url, status="Saved", id=somebody_basket_id)
743759
self.response.assertStatusEqual(200)
744760
self.response.assertValueEqual(
745761
"id", basket_id, "Primary key value can not be changed."
@@ -775,7 +791,8 @@ def test_basket_write_permissions_header_admin(self):
775791

776792
# now try for authenticated user.
777793
self.hlogin("admin", "admin", session_id="admin")
778-
self.response = self.get("api-basket", session_id="admin", authenticated=True)
794+
self.response = self.get(
795+
"api-basket", session_id="admin", authenticated=True)
779796
self.response.assertStatusEqual(200)
780797

781798
# try to access the urls in the response.
@@ -821,11 +838,13 @@ def test_basket_write_permissions_header_admin(self):
821838
self.response.assertStatusEqual(201)
822839

823840
# throw the basket away
824-
self.response = self.delete(url, session_id="admin", authenticated=True)
841+
self.response = self.delete(
842+
url, session_id="admin", authenticated=True)
825843
self.response.assertStatusEqual(204)
826844

827845
# now lets start messing around
828-
self.response = self.get("api-basket", session_id="admin", authenticated=True)
846+
self.response = self.get(
847+
"api-basket", session_id="admin", authenticated=True)
829848
self.response.assertStatusEqual(200)
830849
basket_id = self.response["id"]
831850

@@ -882,7 +901,8 @@ def test_basket_write_permissions_header_admin(self):
882901
self.response.assertStatusEqual(403)
883902

884903
# try to delete someone else's basket
885-
self.response = self.delete(url, session_id="admin", authenticated=True)
904+
self.response = self.delete(
905+
url, session_id="admin", authenticated=True)
886906
self.response.assertStatusEqual(403)
887907

888908
def test_add_product_anonymous(self):
@@ -929,7 +949,8 @@ def test_add_product_basket_addition_signal_send(self, mock):
929949
self.assertTrue(mock.called)
930950

931951
signal_arguments = mock.call_args[1]
932-
self.assertEqual(signal_arguments["product"], Product.objects.get(pk=1))
952+
self.assertEqual(
953+
signal_arguments["product"], Product.objects.get(pk=1))
933954
self.assertEqual(signal_arguments["user"].username, "nobody")
934955

935956
# see if we can get the basket from the request
@@ -953,7 +974,8 @@ def test_basket_line_permissions(self):
953974

954975
self.response = self.get(line0url)
955976
self.response.assertStatusEqual(200)
956-
self.response.assertValueEqual("product", "http://testserver/api/products/1/")
977+
self.response.assertValueEqual(
978+
"product", "http://testserver/api/products/1/")
957979
self.response.assertValueEqual("quantity", 5)
958980

959981
# now let's try to cheat
@@ -964,7 +986,8 @@ def test_basket_line_permissions(self):
964986
def test_basket_line_permissions_header(self):
965987
"A user's Basket lines can not be viewed by another user in any way, even with header authentication"
966988
self.hlogin("nobody", "nobody", session_id="nobody")
967-
self.response = self.get("api-basket", session_id="nobody", authenticated=True)
989+
self.response = self.get(
990+
"api-basket", session_id="nobody", authenticated=True)
968991
self.response.assertStatusEqual(200)
969992

970993
self.response = self.post(
@@ -981,14 +1004,17 @@ def test_basket_line_permissions_header(self):
9811004
line0 = self.response.body[0]
9821005
line0url = line0["url"]
9831006

984-
self.response = self.get(line0url, session_id="nobody", authenticated=True)
1007+
self.response = self.get(
1008+
line0url, session_id="nobody", authenticated=True)
9851009
self.response.assertStatusEqual(200)
986-
self.response.assertValueEqual("product", "http://testserver/api/products/1/")
1010+
self.response.assertValueEqual(
1011+
"product", "http://testserver/api/products/1/")
9871012
self.response.assertValueEqual("quantity", 5)
9881013

9891014
# now let's try to cheat
9901015
self.hlogin("somebody", "somebody", session_id="somebody")
991-
self.response = self.get(line0url, session_id="somebody", authenticated=True)
1016+
self.response = self.get(
1017+
line0url, session_id="somebody", authenticated=True)
9921018
self.response.assertStatusEqual(404)
9931019

9941020
def test_frozen_basket_can_not_be_accessed(self):
@@ -1009,7 +1035,8 @@ def test_frozen_basket_can_not_be_accessed(self):
10091035
def test_frozen_basket_can_not_be_accessed_header(self):
10101036
"Prove that frozen baskets can no longer be accessed by the user, even with header authentication"
10111037
self.hlogin("nobody", "nobody", session_id="nobody")
1012-
self.response = self.get("api-basket", session_id="nobody", authenticated=True)
1038+
self.response = self.get(
1039+
"api-basket", session_id="nobody", authenticated=True)
10131040
self.response.assertStatusEqual(200)
10141041
self.response.assertValueEqual("status", "Open")
10151042

@@ -1149,6 +1176,7 @@ def test_get_user_basket_with_multiple_baskets(self):
11491176
self.assertEqual(user_basket, Basket.open.first())
11501177

11511178

1179+
@skipIf(settings.BLOCK_ADMIN_API_ACCESS, "Admin API is enabled")
11521180
class BasketAdminTest(APITest):
11531181
"""
11541182
Test suite for admin basket list operations.
@@ -1349,15 +1377,17 @@ def test_basket_login_logout(self):
13491377
self.client.cookies,
13501378
"An basket cookie should have been created",
13511379
)
1352-
self.assertStartsWith(self.client.cookies["oscar_open_basket"].value, "1")
1380+
self.assertStartsWith(
1381+
self.client.cookies["oscar_open_basket"].value, "1")
13531382

13541383
# retrieve the basket with oscarapi.
13551384
self.response = self.get("api-basket")
13561385
self.response.assertValueEqual(
13571386
"owner", None, "The basket should not have an owner"
13581387
)
13591388
self.response.assertValueEqual("id", 1)
1360-
self.assertStartsWith(self.client.cookies["oscar_open_basket"].value, "1")
1389+
self.assertStartsWith(
1390+
self.client.cookies["oscar_open_basket"].value, "1")
13611391

13621392
# now lets log in with oscarapi
13631393
response = self.post("api-login", username="nobody", password="nobody")

0 commit comments

Comments
 (0)