def test_search_no_params(self): mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.get.return_value = mocked_response response = self.lcp_crud.search(test_base.SAMPLE_URL) tools.assert_equal(1, self.mock_client.get.call_count) test_base.assert_lcp_resource(mocked_response, response)
def test_delete(self): mocked_response = test_base.mock_response(status_code=NO_CONTENT) self.mock_client.delete.return_value = mocked_response response = self.lcp_crud.delete(test_base.SAMPLE_URL) tools.assert_equal(1, self.mock_client.delete.call_count) test_base.assert_lcp_resource(mocked_response, response)
def test_update(self): mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.put.return_value = mocked_response response = self.lcp_crud.update(test_base.SAMPLE_URL, {}) tools.assert_equal(1, self.mock_client.put.call_count) test_base.assert_lcp_resource(mocked_response, response)
def test_modify(self): mocked_response = test_base.mock_response( headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.patch.return_value = mocked_response response = self.lcp_crud.modify(test_base.SAMPLE_URL, {}) tools.assert_equal(1, self.mock_client.patch.call_count) test_base.assert_lcp_resource(mocked_response, response)
def test_search_no_params(self): mocked_response = test_base.mock_response( headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.get.return_value = mocked_response response = self.lcp_crud.search(test_base.SAMPLE_URL) tools.assert_equal(1, self.mock_client.get.call_count) test_base.assert_lcp_resource(mocked_response, response)
def test_getitem_gets_from_response(self): response_mock = test_base.mock_response( headers={}, body={'links': { 'self': { 'href': 'some_url' } }}) lcp_obj = crud.LCPResource(response_mock) tools.assert_equal('some_url', lcp_obj['links']['self']['href'])
def test_get_loyalty_program(self): mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.get.return_value = mocked_response response = self.lps_crud.read('lp123') tools.assert_equal(1, self.mock_client.get.call_count) self.mock_client.get.assert_called_with('/lps/lp123', data=None, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_payment(self): mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response response = self.payment_crud.create(self.path) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with(self.path, data='{}', params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_order(self): mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response response = self.orders_crud.create(self.order_type, self.data) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with('/orders/', data=self.expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_offerset_without_recipient(self): mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response response = self.offer_set_crud.create(self.offer_types, self.session, self.member_details) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with("/offer-sets/", data=self.expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_posting_no_pic(self): mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response response = self.posting_crud.create(PATH, AMOUNT, MV_URL) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with(PATH, data=EXPECTED_PAYLOAD, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_setitem_raises(self): response_mock = test_base.mock_response( headers={}, body={'links': { 'self': { 'href': 'some_url' } }}) with tools.assert_raises(TypeError): crud.LCPResource(response_mock)['links'] = 'foo'
def test_populates_url_from_self_link(self): response_mock = test_base.mock_response( headers={}, body={'links': { 'self': { 'href': 'some_url' } }}) lcp_obj = crud.LCPResource(response_mock) tools.assert_equal('some_url', lcp_obj.url)
def test_json_returns_copy_of_response(self): response_mock = test_base.mock_response( headers={}, body={'links': { 'self': { 'href': 'some_url' } }}) lcp_obj = crud.LCPResource(response_mock) json_copy = lcp_obj.json json_copy['links'] = 'foo' tools.assert_equal('some_url', lcp_obj['links']['self']['href'])
def test_create_posting_no_pic(self): mocked_response = test_base.mock_response( headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response response = self.posting_crud.create(PATH, AMOUNT, MV_URL) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with(PATH, data=EXPECTED_PAYLOAD, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_posting_with_optional_kwargs_add_top_level_params(self): mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response expected_payload = copy.deepcopy(EXPECTED_PAYLOAD) expected_payload.update(ADDITIONAL_PARAMS) response = self.posting_crud.create(PATH, AMOUNT, MV_URL, **ADDITIONAL_PARAMS) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with(PATH, data=expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_posting_with_optional_pic(self): mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response expected_payload = copy.deepcopy(EXPECTED_PAYLOAD) expected_payload['pic'] = PIC response = self.posting_crud.create(PATH, AMOUNT, MV_URL, pic=PIC) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with(PATH, data=expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_order_with_optional_kwargs_add_top_level_params(self): mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response expected_payload = copy.deepcopy(self.expected_payload) expected_payload.update(self.additional_params) response = self.orders_crud.create(self.order_type, self.data, **self.additional_params) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with('/orders/', data=expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_order(self): mocked_response = test_base.mock_response( headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response response = self.orders_crud.create(self.order_type, self.data) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with('/orders/', data=self.expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_offerset_without_recipient(self): mocked_response = test_base.mock_response( headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response response = self.offer_set_crud.create(self.offer_types, self.session, self.member_details) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with('/offer-sets/', data=self.expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_offer_set_with_optional_kwargs_add_top_level_params(self): mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response additional_params = {"a": "b", "c": "d"} response = self.offer_set_crud.create(self.offer_types, self.session, self.member_details, **additional_params) tools.assert_equal(1, self.mock_client.post.call_count) expected_payload = copy.deepcopy(self.expected_payload) expected_payload.update(additional_params) self.mock_client.post.assert_called_with("/offer-sets/", data=expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_posting_with_optional_pic(self): mocked_response = test_base.mock_response( headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response expected_payload = copy.deepcopy(EXPECTED_PAYLOAD) expected_payload['pic'] = PIC response = self.posting_crud.create(PATH, AMOUNT, MV_URL, pic=PIC) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with(PATH, data=expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_offerset_with_recipient(self): recipient_details = copy.deepcopy(self.member_details) recipient_details["memberId"] = "456456" mocked_response = test_base.mock_response(headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response expected_payload = copy.deepcopy(self.expected_payload) expected_payload.update({"recipient": recipient_details}) response = self.offer_set_crud.create(self.offer_types, self.session, self.member_details, recipient_details) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with("/offer-sets/", data=expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_order_with_optional_kwargs_add_top_level_params(self): mocked_response = test_base.mock_response( headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response expected_payload = copy.deepcopy(self.expected_payload) expected_payload.update(self.additional_params) response = self.orders_crud.create(self.order_type, self.data, **self.additional_params) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with('/orders/', data=expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_posting_with_optional_kwargs_add_top_level_params(self): mocked_response = test_base.mock_response( headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response expected_payload = copy.deepcopy(EXPECTED_PAYLOAD) expected_payload.update(ADDITIONAL_PARAMS) response = self.posting_crud.create(PATH, AMOUNT, MV_URL, **ADDITIONAL_PARAMS) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with(PATH, data=expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_offer_set_with_optional_kwargs_add_top_level_params(self): mocked_response = test_base.mock_response( headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response additional_params = {'a': 'b', 'c': 'd'} response = self.offer_set_crud.create(self.offer_types, self.session, self.member_details, **additional_params) tools.assert_equal(1, self.mock_client.post.call_count) expected_payload = copy.deepcopy(self.expected_payload) expected_payload.update(additional_params) self.mock_client.post.assert_called_with('/offer-sets/', data=expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_create_offerset_with_recipient(self): recipient_details = copy.deepcopy(self.member_details) recipient_details['memberId'] = '456456' mocked_response = test_base.mock_response( headers={}, body=test_base.SAMPLE_RESPONSE) self.mock_client.post.return_value = mocked_response expected_payload = copy.deepcopy(self.expected_payload) expected_payload.update({'recipient': recipient_details}) response = self.offer_set_crud.create(self.offer_types, self.session, self.member_details, recipient_details) tools.assert_equal(1, self.mock_client.post.call_count) self.mock_client.post.assert_called_with('/offer-sets/', data=expected_payload, params=None) test_base.assert_lcp_resource(mocked_response, response)
def test_url_is_none_when_no_self_link(self): response_mock = test_base.mock_response(headers={}) lcp_obj = crud.LCPResource(response_mock) tools.assert_equal(None, lcp_obj.url)
def test_populates_url_from_location_header(self): response_mock = test_base.mock_response(NO_CONTENT) lcp_obj = crud.LCPResource(response_mock) tools.assert_equal('http://example.com/foo/some_id', lcp_obj.url)
def test_request_failures_raises_crud_error(self): mocked_response = test_base.mock_response(status_code=NOT_FOUND) self.mock_client.post.return_value = mocked_response with tools.assert_raises(crud.CRUDError): self.lcp_crud.create(test_base.SAMPLE_URL, {})
def test_populates_url_from_self_link(self): response_mock = test_base.mock_response(headers={}, body={'links': {'self': {'href': 'some_url'}}}) lcp_obj = crud.LCPResource(response_mock) tools.assert_equal('some_url', lcp_obj.url)
def test_json_returns_copy_of_response(self): response_mock = test_base.mock_response(headers={}, body={'links': {'self': {'href': 'some_url'}}}) lcp_obj = crud.LCPResource(response_mock) json_copy = lcp_obj.json json_copy['links'] = 'foo' tools.assert_equal('some_url', lcp_obj['links']['self']['href'])
def test_setitem_raises(self): response_mock = test_base.mock_response(headers={}, body={'links': {'self': {'href': 'some_url'}}}) with tools.assert_raises(TypeError): crud.LCPResource(response_mock)['links'] = 'foo'
def test_getitem_gets_from_response(self): response_mock = test_base.mock_response(headers={}, body={'links': {'self': {'href': 'some_url'}}}) lcp_obj = crud.LCPResource(response_mock) tools.assert_equal('some_url', lcp_obj['links']['self']['href'])
def test_request_failures_raises_http_error(self): mocked_response = test_base.mock_response(status_code=NOT_FOUND) self.mock_client.post.return_value = mocked_response with tools.assert_raises(requests.HTTPError): self.lcp_crud.create(test_base.SAMPLE_URL, {})