Skip to content

Commit

Permalink
listing action now uses https + fixed some assertions in the tests to…
Browse files Browse the repository at this point in the history
… be more verbose.
  • Loading branch information
Phylante committed Oct 2, 2015
1 parent 71bef1b commit 12ebfcc
Show file tree
Hide file tree
Showing 12 changed files with 102 additions and 94 deletions.
2 changes: 1 addition & 1 deletion shiba/marketplacemanagement.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def get_product_list(self, scope="", kw="", nav="", refs="", productids="", nbpr
if type(productids) is list:
productids = ','.join(productids)
inf = ShibaTools.inf_constructor(self.connection, "listing", **locals())
url = ShibaTools.url_constructor(self.connection, inf, domain="http://ws.priceminister.com")
url = ShibaTools.url_constructor(self.connection, inf, domain="https://ws.priceminister.com")
obj = ShibaTools.retrieve_obj_from_url(url)
return obj

Expand Down
2 changes: 1 addition & 1 deletion shiba/shibaconnection.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def __init__(self, login, pwd, sandbox=False):
"getavailableshippingtypes": {"cat": "sales_ws", "version": "2013-06-25", "login": self.login,
"pwd": self.pwd},
"export": {"cat": "stock_ws", "version": "2014-01-28", "login": self.login, "pwd": self.pwd},
"listing": {"cat": "listing_ws", "version": "2014-01-28", "login": self.login, "pwd": self.pwd},
"listing": {"cat": "listing_ssl_ws", "version": "2015-07-05", "login": self.login, "pwd": self.pwd},
"categorymap": {"cat": "categorymap_ws", "version": "2011-10-11", "login": self.login, "pwd": self.pwd},
"getnewsales": {"cat": "sales_ws", "version": "2014-02-11", "login": self.login, "pwd": self.pwd},
"acceptsale": {"cat": "sales_ws", "version": "2010-09-20", "login": self.login, "pwd": self.pwd},
Expand Down
12 changes: 4 additions & 8 deletions tests/offline/test_accountingmanagement.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,12 @@

from shiba.accountingmanagement import AccountingManagement
from shiba.shibaconnection import ShibaConnection
from shiba.shibaexceptions import *

import os
import ConfigParser

import unittest
import mock

from datetime import date


def mock_get_operations(*args, **kwargs):
datas = open(os.path.join(os.path.dirname(__file__), 'Assets/sample_getoperations.xml'))
Expand All @@ -40,12 +36,12 @@ def setUp(self):
def test_get_operations(self, urlopen):
"""get_operations routine test"""
obj = self.init.get_operations()
self.assertTrue("getoperationsresult" in obj.content.tag)
self.assertTrue(obj.content.request.user == "vendeur")
self.assertTrue(obj.content.request.operationcause == "salestransfer")
self.assertIn("getoperationsresult", obj.content.tag)
self.assertEqual(obj.content.request.user, "vendeur")
self.assertEqual(obj.content.request.operationcause, "salestransfer")

@mock.patch('urllib2.urlopen', side_effect=mock_get_compensation_details)
def test_get_compensation_details(self, urlopen):
"""get_compensation_details test"""
obj = self.init.get_compensation_details("1337")
self.assertTrue(obj.content.tag == "getcompensationdetailsresult")
self.assertEqual(obj.content.tag, "getcompensationdetailsresult")
13 changes: 6 additions & 7 deletions tests/offline/test_inventorymanagement.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

from shiba.inventorymanagement import InventoryManagement
from shiba.shibaconnection import ShibaConnection
from shiba.shibaexceptions import *

import xmltodict
from lxml import objectify
Expand Down Expand Up @@ -54,14 +53,14 @@ def setUp(self):
def test_product_types(self, urlopen):
"""product_types return test"""
ptypes = self.init.product_types()
self.assertTrue("producttypesresult" in ptypes.content.tag)
self.assertIn("producttypesresult", ptypes.content.tag)

@mock.patch('urllib2.urlopen', side_effect=mock_product_type_template)
def test_product_type_template(self, urlopen):
"""product_type_template tests on two scopes, for a fixed alias, plus a fail result"""
alias = "insolites_produit"
ptemplate = self.init.product_type_template(alias, "")
self.assertTrue("producttypetemplateresult" in ptemplate.content.tag)
self.assertIn("producttypetemplateresult", ptemplate.content.tag)

@mock.patch('shiba.shibatools.ShibaTools.post_request', side_effect=mock_generic_import_file)
def test_generic_import_file(self, post_request):
Expand All @@ -70,18 +69,18 @@ def test_generic_import_file(self, post_request):
f = open(os.path.dirname(os.path.realpath(__file__)) + "/Assets/genericimportfile.xml", "rb")
testdict = xmltodict.parse(f)
ret = self.init.generic_import_file(testdict)
self.assertTrue("OK" == ret.content.response.status)
self.assertEqual("OK", ret.content.response.status)
f = open(os.path.dirname(os.path.realpath(__file__)) + "/Assets/genericimportfile.xml", "rb")
testobj = objectify.parse(f)
ret = self.init.generic_import_file(testobj)
self.assertTrue("OK" == ret.content.response.status)
self.assertEqual("OK", ret.content.response.status)

@mock.patch('urllib2.urlopen', side_effect=mock_get_available_shipping_types)
def test_get_available_shipping_types(self, urlopen):
obj = self.init.get_available_shipping_types()
self.assertTrue("getavailableshippingtypesresult" in obj.content.tag)
self.assertIn("getavailableshippingtypesresult", obj.content.tag)

@mock.patch('urllib2.urlopen', side_effect=mock_export_inventory)
def test_export_inventory(self, urlopen):
obj = self.init.export_inventory()
self.assertTrue("inventoryresult" in obj.content.tag)
self.assertIn("inventoryresult", obj.content.tag)
6 changes: 3 additions & 3 deletions tests/offline/test_marketplacemanagement.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,16 @@ def test_get_product_list(self, urlopen):
except ShibaParameterError:
pass
obj = self.init.get_product_list(kw="livre")
self.assertTrue("listingresult" in obj.content.tag)
self.assertIn("listingresult", obj.content.tag)
try:
obj = self.init.get_product_list(nbproductsperpage=-15, kw="livre")
except ShibaParameterError:
pass
obj = self.init.get_product_list(kw="informatique", scope="PRICING")
self.assertTrue("listingresult" in obj.content.tag)
self.assertIn("listingresult", obj.content.tag)

@mock.patch('urllib2.urlopen', side_effect=mock_get_category_map)
def test_get_category_map(self, urlopen):
"""get_category_map regular test"""
obj = self.init.get_category_map()
self.assertTrue("categorymap" in obj.content.tag)
self.assertIn("categorymap", obj.content.tag)
28 changes: 14 additions & 14 deletions tests/offline/test_salesmanagement.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ def setUp(self):
def test_get_new_sales(self, urlopen):
"""regular get_new_sales test"""
obj = self.init.get_new_sales()
self.assertTrue("getnewsalesresult" in obj.content.tag)
self.assertIn("getnewsalesresult", obj.content.tag)

@mock.patch('urllib2.urlopen', side_effect=mock_accept_sale)
def test_accept_sale(self, urlopen):
Expand Down Expand Up @@ -119,8 +119,8 @@ def test_refuse_sale(self, urlopen):
def test_get_current_sales(self, urlopen):
"""get_current_sales test, on variable parameters, plus some fail results"""
obj = self.init.get_current_sales()
self.assertTrue("getcurrentsalesresult" in obj.content.tag)
self.assertTrue(False == obj.content.request.ispendingpreorder)
self.assertIn("getcurrentsalesresult", obj.content.tag)
self.assertFalse(obj.content.request.ispendingpreorder)
try:
self.init.get_current_sales(ispendingpreorder="n")
except ShibaCallingError:
Expand All @@ -132,65 +132,65 @@ def test_get_current_sales(self, urlopen):
def test_get_billing_information(self, urlopen):
"""get_billing_information test, will raise an error due to unknown purchaseid"""
obj = self.init.get_billing_information("1337")
self.assertTrue(obj.content.tag == "getbillinginformationresult")
self.assertEqual(obj.content.tag, "getbillinginformationresult")

@mock.patch('urllib2.urlopen', side_effect=mock_get_shipping_information)
def test_get_shipping_information(self, urlopen):
"""get_billing_information test"""
obj = None
obj = self.init.get_shipping_information("1337")
self.assertTrue(obj.content.tag == "getshippinginformationresult")
self.assertEqual(obj.content.tag, "getshippinginformationresult")

@mock.patch('urllib2.urlopen', side_effect=mock_get_items_todo_list)
def test_get_items_todo_list(self, urlopen):
"""get_items_todo_list routine test"""
obj = self.init.get_item_todo_list()
self.assertTrue("getitemtodolistresult" in obj.content.tag)
self.assertIn("getitemtodolistresult", obj.content.tag)

@mock.patch('urllib2.urlopen', side_effect=mock_get_item_infos)
def test_get_item_infos(self, urlopen):
"""get_item_infos on a product"""
obj = self.init.get_item_infos("181063")
self.assertTrue(obj.content.tag == "getiteminfosresult")
self.assertEqual(obj.content.tag, "getiteminfosresult")

@mock.patch('urllib2.urlopen', side_effect=mock_cancel_item)
def test_cancel_item(self, urlopen):
"""cancel_item test"""
obj = self.init.cancel_item("1337", "comment")
self.assertTrue(obj.content.tag == "cancelitemresult")
self.assertEqual(obj.content.tag, "cancelitemresult")

@mock.patch('urllib2.urlopen', side_effect=mock_contactus)
def test_contact_us_about_item(self, urlopen):
"""contact_us_about_item test"""
obj = self.init.contact_us_about_item("1337", "message", "1337")
self.assertTrue(obj.content.tag == "contactusaboutitemresult")
self.assertEqual(obj.content.tag, "contactusaboutitemresult")

@mock.patch('urllib2.urlopen', side_effect=mock_contactuser)
def test_contact_user_about_item(self, urlopen):
"""contact_user_about_item on a product"""
obj = self.init.contact_user_about_item("1337", "message")
self.assertTrue(obj.content.tag == "contactuseraboutitemresult")
self.assertEqual(obj.content.tag, "contactuseraboutitemresult")

@mock.patch('urllib2.urlopen', side_effect=mock_set_tracking_package_infos)
def test_set_tracking_package_infos(self, urlopen):
"""set_tracking_package_infos on a product. Testing internal error catching as well."""
obj = self.init.set_tracking_package_infos("1337", "UPS", "0000000000")
self.assertTrue(obj.content.tag == "setshippingpackageinfosresult")
self.assertEqual(obj.content.tag, "setshippingpackageinfosresult")
obj = None
try:
obj = self.init.set_tracking_package_infos("1337", "Autre", "0000000000")
except ShibaCallingError:
pass
self.assertTrue(obj is None)
self.assertIsNone(obj)

@mock.patch('urllib2.urlopen', side_effect=mock_confirm_preorder)
def test_confirm_preorder(self, urlopen):
"""confirm_preorder on an advert. Testing internal error catching as well."""
obj = self.init.confirm_preorder("1337", 1)
self.assertTrue(obj.content.tag == "confirmpreorder")
self.assertEqual(obj.content.tag, "confirmpreorder")
obj = None
try:
obj = self.init.confirm_preorder("1337", -8)
except ShibaCallingError:
pass
self.assertTrue(obj is None)
self.assertIsNone(obj)
13 changes: 7 additions & 6 deletions tests/offline/test_shibatools.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def setUp(self):
def test_retrieve_obj_from_url(self, urlopen):
"""retrieve_obj_from_url test with a remote XML file"""
obj = self.init.retrieve_obj_from_url("http://www.w3schools.com/xml/note.xml")
self.assertTrue("note" in obj.content.tag)
self.assertIn("note", obj.content.tag)
self.assertTrue("to" in obj.content.to.tag and obj.content.to == "Tove")
self.assertTrue("heading" in obj.content.heading.tag and obj.content.heading == "Reminder")
self.assertTrue("body" in obj.content.body.tag and obj.content.body == "Don't forget me this weekend!")
Expand All @@ -50,16 +50,18 @@ def test_inf_constructor(self):
connection = ShibaConnection("test", "test")
action = "genericimportreport"
ret = self.init.inf_constructor(connection, action, inf1="info1", inf2="info2")
self.assertTrue("inf1" in ret and "inf2" in ret)
self.assertTrue(ret["inf1"] == "info1" and ret["action"] == "genericimportreport")
self.assertIn("inf1", ret)
self.assertIn("inf2", ret)
self.assertEqual(ret["inf1"], "info1")
self.assertEqual(ret["action"], "genericimportreport")

def test_url_constructor(self):
connection = ShibaConnection("test", "test")
action = "genericimportreport"
ret = self.init.inf_constructor(connection, action, inf1="info1", inf2="info2")
url = self.init.url_constructor(connection, ret)
self.assertTrue("https://ws.priceminister.com/stock_ws?pwd=test&version=2011-11-29&action=genericimportreport&"
"login=test&inf2=info2&inf1=info1" == url)
self.assertEqual("https://ws.priceminister.com/stock_ws?pwd=test&version=2011-11-29&action=genericimportreport&"
"login=test&inf2=info2&inf1=info1", url)

@mock.patch('shiba.shibatools.ShibaTools.post_request', side_effect=return_quota_exceeded_messages)
def test_assert_quota_exeeded(self, post_request):
Expand All @@ -69,4 +71,3 @@ def test_assert_quota_exeeded(self, post_request):
f = open(os.path.dirname(os.path.realpath(__file__)) + "/Assets/genericimportfile.xml", "rb")
testdict = xmltodict.parse(f)
self.assertRaises(ShibaQuotaExceededError, inventory.generic_import_file, data=testdict)

16 changes: 8 additions & 8 deletions tests/online/test_accountingmanagement.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

from __future__ import unicode_literals

from Shiba.accountingmanagement import AccountingManagement
from Shiba.shibaconnection import ShibaConnection
from Shiba.shibaexceptions import *
from shiba.accountingmanagement import AccountingManagement
from shiba.shibaconnection import ShibaConnection
from shiba.shibaexceptions import *

import os
import ConfigParser
Expand Down Expand Up @@ -38,18 +38,18 @@ def setUp(self):
def test_get_operations(self):
"""get_operations routine test, with date object as lastoperationdate too"""
obj = self.init.get_operations()
self.assertTrue("getoperationsresult" in obj.content.tag)
self.assertIn("getoperationsresult", obj.content.tag)
obj = self.init.get_operations("21/12/2012-00:00:00")
self.assertTrue(obj.content.request.lastoperationdate == "21/12/2012-00:00:00")
self.assertEqual(obj.content.request.lastoperationdate, "21/12/2012-00:00:00")
testdate = date(2012, 12, 21)
obj = self.init.get_operations(testdate)
self.assertTrue(obj.content.request.lastoperationdate == "21/12/12-00:00:00")
self.assertEqual(obj.content.request.lastoperationdate, "21/12/12-00:00:00")
obj = None
try:
obj = self.init.get_operations("INVALIDDATE")
except ShibaParameterError:
pass
self.assertTrue(obj is None)
self.assertIsNone(obj)

def test_get_compensation_details(self):
"""get_compensation_details test, must fail"""
Expand All @@ -58,4 +58,4 @@ def test_get_compensation_details(self):
obj = self.init.get_compensation_details("1337")
except ShibaParameterError:
pass
self.assertTrue(obj is None)
self.assertIsNone(obj)
21 changes: 11 additions & 10 deletions tests/online/test_inventorymanagement.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

from __future__ import unicode_literals

from Shiba.inventorymanagement import InventoryManagement
from Shiba.shibaconnection import ShibaConnection
from Shiba.shibaexceptions import *
from shiba.inventorymanagement import InventoryManagement
from shiba.shibaconnection import ShibaConnection
from shiba.shibaexceptions import *
from nose.tools import *

import xmltodict
Expand All @@ -21,6 +21,7 @@
import ConfigParser
import os


class InventoryManagementTest(unittest.TestCase):

def setUp(self):
Expand All @@ -40,16 +41,16 @@ def test_product_types(self):
"""product_types return test"""

ptypes = self.init.product_types()
self.assertTrue("producttypesresult" in ptypes.content.tag)
self.assertIn("producttypesresult", ptypes.content.tag)

def test_product_type_template(self):
"""product_type_template tests on two scopes, for a fixed alias, plus a fail result"""

alias = "insolites_produit"
ptemplate = self.init.product_type_template(alias, "")
self.assertTrue("producttypetemplateresult" in ptemplate.content.tag)
self.assertIn("producttypetemplateresult", ptemplate.content.tag)
ptemplate = self.init.product_type_template(alias, "VALUES")
self.assertTrue("producttypetemplateresult" in ptemplate.content.tag)
self.assertIn("producttypetemplateresult", ptemplate.content.tag)

@raises(ShibaParameterError)
def test_product_type_template_fail(self):
Expand All @@ -62,11 +63,11 @@ def test_generic_import_file(self):
f = open(os.path.dirname(os.path.realpath(__file__)) + "/Assets/genericimportfile.xml", "rb")
testdict = xmltodict.parse(f)
ret = self.init.generic_import_file(testdict)
self.assertTrue("OK" == ret.content.response.status)
self.assertEqual("OK", ret.content.response.status)
f = open(os.path.dirname(os.path.realpath(__file__)) + "/Assets/genericimportfile.xml", "rb")
testobj = objectify.parse(f)
ret = self.init.generic_import_file(testobj)
self.assertTrue("OK" == ret.content.response.status)
self.assertEqual("OK", ret.content.response.status)

def test_generic_import_report(self):
"""genreic_import_report method test from an import file call"""
Expand All @@ -75,7 +76,7 @@ def test_generic_import_report(self):
ret = self.init.generic_import_file(testobj)
importid = ret.content.response.importid
ret = self.init.generic_import_report(importid)
self.assertTrue("file" == ret.content.response.file.filename)
self.assertEqual("file", ret.content.response.file.filename)

def test_get_available_shipping_types(self):
try:
Expand All @@ -85,4 +86,4 @@ def test_get_available_shipping_types(self):

def test_export_inventory(self):
obj = self.init.export_inventory()
self.assertTrue("inventoryresult" in obj.content.tag)
self.assertIn("inventoryresult", obj.content.tag)
Loading

0 comments on commit 12ebfcc

Please sign in to comment.