Skip to content

Commit

Permalink
Merge pull request #13 from VolVoz/master
Browse files Browse the repository at this point in the history
upgrade unittests
  • Loading branch information
vmaksymiv committed Feb 15, 2016
2 parents 06341b7 + 0fb9566 commit baa12d3
Show file tree
Hide file tree
Showing 7 changed files with 300 additions and 262 deletions.
73 changes: 39 additions & 34 deletions openprocurement/tender/limited/tests/award.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class TenderAwardResourceTest(BaseTenderContentWebTest):
initial_bids = None

def test_create_tender_award_invalid(self):
request_path = '/tenders/{}/awards'.format(self.tender_id)
request_path = '/tenders/{}/awards?acc_token={}'.format(self.tender_id, self.tender_token)
response = self.app.post(request_path, 'data', status=415)
self.assertEqual(response.status, '415 Unsupported Media Type')
self.assertEqual(response.content_type, 'application/json')
Expand Down Expand Up @@ -90,15 +90,15 @@ def test_create_tender_award_invalid(self):

self.set_status('complete')

response = self.app.post_json('/tenders/{}/awards'.format(self.tender_id),
response = self.app.post_json('/tenders/{}/awards?acc_token={}'.format(self.tender_id, self.tender_token),
{'data': {'suppliers': [test_tender_data["procuringEntity"]],
'status': 'pending'}}, status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['errors'][0]["description"], "Can't create award in current (complete) tender status")

def test_create_tender_award(self):
request_path = '/tenders/{}/awards'.format(self.tender_id)
request_path = '/tenders/{}/awards?acc_token={}'.format(self.tender_id, self.tender_token)
response = self.app.post_json(request_path, {'data': {'suppliers': [test_tender_data["procuringEntity"]],
'status': 'pending'}})
self.assertEqual(response.status, '201 Created')
Expand All @@ -113,7 +113,12 @@ def test_create_tender_award(self):
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['data'][-1], award)

response = self.app.patch_json('/tenders/{}/awards/{}'.format(self.tender_id, award['id']),
response = self.app.patch_json('/tenders/{}/awards/{}?acc_token={}'.format(self.tender_id, award['id'], self.tender_token),
{"data": {"description": "description data"}})
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.content_type, 'application/json')

response = self.app.patch_json('/tenders/{}/awards/{}?acc_token={}'.format(self.tender_id, award['id'], self.tender_token),
{"data": {"status": "active"}})
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.content_type, 'application/json')
Expand All @@ -124,15 +129,15 @@ def test_create_tender_award(self):
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['data']['status'], u'active')

response = self.app.patch_json('/tenders/{}/awards/{}'.format(self.tender_id, award['id']),
response = self.app.patch_json('/tenders/{}/awards/{}?acc_token={}'.format(self.tender_id, award['id'], self.tender_token),
{"data": {"status": "cancelled"}})
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['data']['status'], u'cancelled')
# self.assertIn('Location', response.headers)

def test_patch_tender_award(self):
request_path = '/tenders/{}/awards'.format(self.tender_id)
request_path = '/tenders/{}/awards?acc_token={}'.format(self.tender_id, self.tender_token)
response = self.app.post_json(request_path, {'data': {'suppliers': [test_tender_data["procuringEntity"]],
'status': u'pending', "value": {"amount": 500}}})
self.assertEqual(response.status, '201 Created')
Expand All @@ -159,22 +164,22 @@ def test_patch_tender_award(self):
u'url', u'name': u'tender_id'}
])

response = self.app.patch_json('/tenders/{}/awards/{}'.format(self.tender_id, award['id']),
response = self.app.patch_json('/tenders/{}/awards/{}?acc_token={}'.format(self.tender_id, award['id'], self.tender_token),
{"data": {"awardStatus": "unsuccessful"}}, status=422)
self.assertEqual(response.status, '422 Unprocessable Entity')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['errors'], [
{"location": "body", "name": "awardStatus", "description": "Rogue field"}
])

response = self.app.patch_json('/tenders/{}/awards/{}'.format(self.tender_id, award['id']),
response = self.app.patch_json('/tenders/{}/awards/{}?acc_token={}'.format(self.tender_id, award['id'], self.tender_token),
{"data": {"status": "unsuccessful"}})
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.content_type, 'application/json')
# self.assertIn('Location', response.headers)
# new_award_location = response.headers['Location']

response = self.app.patch_json('/tenders/{}/awards/{}'.format(self.tender_id, award['id']),
response = self.app.patch_json('/tenders/{}/awards/{}?acc_token={}'.format(self.tender_id, award['id'], self.tender_token),
{"data": {"status": "pending"}}, status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.content_type, 'application/json')
Expand Down Expand Up @@ -215,21 +220,21 @@ def test_patch_tender_award(self):
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['data']["value"]["amount"], 500)

response = self.app.patch_json('/tenders/{}/awards/{}'.format(self.tender_id, award['id']),
response = self.app.patch_json('/tenders/{}/awards/{}?acc_token={}'.format(self.tender_id, award['id'], self.tender_token),
{"data": {"status": "unsuccessful"}}, status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['errors'][0]["description"], "Can't update award in current (complete) tender status")

def test_patch_tender_award_unsuccessful(self):
request_path = '/tenders/{}/awards'.format(self.tender_id)
request_path = '/tenders/{}/awards?acc_token={}'.format(self.tender_id, self.tender_token)
response = self.app.post_json(request_path, {'data': {'suppliers': [test_tender_data["procuringEntity"]],
'status': u'pending', "value": {"amount": 500}}})
self.assertEqual(response.status, '201 Created')
self.assertEqual(response.content_type, 'application/json')
award = response.json['data']

response = self.app.patch_json('/tenders/{}/awards/{}'.format(self.tender_id, award['id']),
response = self.app.patch_json('/tenders/{}/awards/{}?acc_token={}'.format(self.tender_id, award['id'], self.tender_token),
{"data": {"status": "unsuccessful"}})
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.content_type, 'application/json')
Expand All @@ -247,8 +252,8 @@ def test_patch_tender_award_unsuccessful(self):
# self.assertEqual(len(response.json['data']), 2)

def test_get_tender_award(self):
response = self.app.post_json('/tenders/{}/awards'.format(
self.tender_id), {'data': {'suppliers': [test_tender_data["procuringEntity"]],
response = self.app.post_json('/tenders/{}/awards?acc_token={}'.format(
self.tender_id, self.tender_token), {'data': {'suppliers': [test_tender_data["procuringEntity"]],
'status': 'pending'}})
self.assertEqual(response.status, '201 Created')
self.assertEqual(response.content_type, 'application/json')
Expand Down Expand Up @@ -286,8 +291,8 @@ class TenderAwardDocumentResourceTest(BaseTenderContentWebTest):
def setUp(self):
super(TenderAwardDocumentResourceTest, self).setUp()
# Create award
response = self.app.post_json('/tenders/{}/awards'.format(
self.tender_id), {'data': {'suppliers': [test_tender_data["procuringEntity"]], 'status': 'pending'}})
response = self.app.post_json('/tenders/{}/awards?acc_token={}'.format(
self.tender_id, self.tender_token), {'data': {'suppliers': [test_tender_data["procuringEntity"]], 'status': 'pending'}})
award = response.json['data']
self.award_id = award['id']

Expand All @@ -311,7 +316,7 @@ def test_not_found(self):
u'url', u'name': u'award_id'}
])

response = self.app.post('/tenders/{}/awards/{}/documents'.format(self.tender_id, self.award_id), status=404, upload_files=[
response = self.app.post('/tenders/{}/awards/{}/documents?acc_token={}'.format(self.tender_id, self.award_id, self.tender_token), status=404, upload_files=[
('invalid_value', 'name.doc', 'content')])
self.assertEqual(response.status, '404 Not Found')
self.assertEqual(response.content_type, 'application/json')
Expand Down Expand Up @@ -396,8 +401,8 @@ def test_not_found(self):
])

def test_create_tender_award_document(self):
response = self.app.post('/tenders/{}/awards/{}/documents'.format(
self.tender_id, self.award_id), upload_files=[('file', 'name.doc', 'content')])
response = self.app.post('/tenders/{}/awards/{}/documents?acc_token={}'.format(
self.tender_id, self.award_id, self.tender_token), upload_files=[('file', 'name.doc', 'content')])
self.assertEqual(response.status, '201 Created')
self.assertEqual(response.content_type, 'application/json')
doc_id = response.json["data"]['id']
Expand Down Expand Up @@ -442,21 +447,21 @@ def test_create_tender_award_document(self):

self.set_status('complete')

response = self.app.post('/tenders/{}/awards/{}/documents'.format(
self.tender_id, self.award_id), upload_files=[('file', 'name.doc', 'content')], status=403)
response = self.app.post('/tenders/{}/awards/{}/documents?acc_token={}'.format(
self.tender_id, self.award_id, self.tender_token), upload_files=[('file', 'name.doc', 'content')], status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['errors'][0]["description"], "Can't add document in current (complete) tender status")

def test_put_tender_award_document(self):
response = self.app.post('/tenders/{}/awards/{}/documents'.format(
self.tender_id, self.award_id), upload_files=[('file', 'name.doc', 'content')])
response = self.app.post('/tenders/{}/awards/{}/documents?acc_token={}'.format(
self.tender_id, self.award_id, self.tender_token), upload_files=[('file', 'name.doc', 'content')])
self.assertEqual(response.status, '201 Created')
self.assertEqual(response.content_type, 'application/json')
doc_id = response.json["data"]['id']
self.assertIn(doc_id, response.headers['Location'])

response = self.app.put('/tenders/{}/awards/{}/documents/{}'.format(self.tender_id, self.award_id, doc_id),
response = self.app.put('/tenders/{}/awards/{}/documents/{}?acc_token={}'.format(self.tender_id, self.award_id, doc_id, self.tender_token),
status=404,
upload_files=[('invalid_name', 'name.doc', 'content')])
self.assertEqual(response.status, '404 Not Found')
Expand All @@ -467,8 +472,8 @@ def test_put_tender_award_document(self):
u'body', u'name': u'file'}
])

response = self.app.put('/tenders/{}/awards/{}/documents/{}'.format(
self.tender_id, self.award_id, doc_id), upload_files=[('file', 'name.doc', 'content2')])
response = self.app.put('/tenders/{}/awards/{}/documents/{}?acc_token={}'.format(
self.tender_id, self.award_id, doc_id, self.tender_token), upload_files=[('file', 'name.doc', 'content2')])
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(doc_id, response.json["data"]["id"])
Expand All @@ -488,8 +493,8 @@ def test_put_tender_award_document(self):
self.assertEqual(doc_id, response.json["data"]["id"])
self.assertEqual('name.doc', response.json["data"]["title"])

response = self.app.put('/tenders/{}/awards/{}/documents/{}'.format(
self.tender_id, self.award_id, doc_id), 'content3', content_type='application/msword')
response = self.app.put('/tenders/{}/awards/{}/documents/{}?acc_token={}'.format(
self.tender_id, self.award_id, doc_id, self.tender_token), 'content3', content_type='application/msword')
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(doc_id, response.json["data"]["id"])
Expand All @@ -504,21 +509,21 @@ def test_put_tender_award_document(self):

self.set_status('complete')

response = self.app.put('/tenders/{}/awards/{}/documents/{}'.format(
self.tender_id, self.award_id, doc_id), upload_files=[('file', 'name.doc', 'content3')], status=403)
response = self.app.put('/tenders/{}/awards/{}/documents/{}?acc_token={}'.format(
self.tender_id, self.award_id, doc_id, self.tender_token), upload_files=[('file', 'name.doc', 'content3')], status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['errors'][0]["description"], "Can't update document in current (complete) tender status")

def test_patch_tender_award_document(self):
response = self.app.post('/tenders/{}/awards/{}/documents'.format(
self.tender_id, self.award_id), upload_files=[('file', 'name.doc', 'content')])
response = self.app.post('/tenders/{}/awards/{}/documents?acc_token={}'.format(
self.tender_id, self.award_id, self.tender_token), upload_files=[('file', 'name.doc', 'content')])
self.assertEqual(response.status, '201 Created')
self.assertEqual(response.content_type, 'application/json')
doc_id = response.json["data"]['id']
self.assertIn(doc_id, response.headers['Location'])

response = self.app.patch_json('/tenders/{}/awards/{}/documents/{}'.format(self.tender_id, self.award_id, doc_id), {"data": {"description": "document description"}})
response = self.app.patch_json('/tenders/{}/awards/{}/documents/{}?acc_token={}'.format(self.tender_id, self.award_id, doc_id, self.tender_token), {"data": {"description": "document description"}})
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(doc_id, response.json["data"]["id"])
Expand All @@ -532,7 +537,7 @@ def test_patch_tender_award_document(self):

self.set_status('complete')

response = self.app.patch_json('/tenders/{}/awards/{}/documents/{}'.format(self.tender_id, self.award_id, doc_id), {"data": {"description": "document description"}}, status=403)
response = self.app.patch_json('/tenders/{}/awards/{}/documents/{}?acc_token={}'.format(self.tender_id, self.award_id, doc_id, self.tender_token), {"data": {"description": "document description"}}, status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['errors'][0]["description"], "Can't update document in current (complete) tender status")
Expand Down
2 changes: 1 addition & 1 deletion openprocurement/tender/limited/tests/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def setUp(self):
self.app = webtest.TestApp(
"config:tests.ini", relative_to=os.path.dirname(__file__))
self.app.RequestClass = PrefixedRequestClass
self.app.authorization = ('Basic', ('token', ''))
self.app.authorization = ('Basic', ('broker', ''))
self.couchdb_server = self.app.app.registry.couchdb_server
self.db = self.app.app.registry.db

Expand Down

0 comments on commit baa12d3

Please sign in to comment.