|
1 | 1 | import spoke |
2 | 2 | import unittest |
3 | 3 | from datetime import datetime |
| 4 | +import os |
| 5 | +import random |
4 | 6 |
|
5 | 7 | CUSTOMER_NAME = 'abc123' |
6 | 8 | CUSTOMER_KEY = 'abc123' |
@@ -236,3 +238,71 @@ def test_update_extra_fields(self): |
236 | 238 | Extra = 'foo', |
237 | 239 | ) |
238 | 240 |
|
| 241 | + @unittest.skipUnless('SPOKE_CUSTOMER' in os.environ and 'SPOKE_KEY' in os.environ, 'Please set SPOKE_CUSTOMER and SPOKE_KEY for live testing') |
| 242 | + def test_roundtrip(self): |
| 243 | + customer = os.getenv('SPOKE_CUSTOMER') |
| 244 | + key = os.getenv('SPOKE_KEY') |
| 245 | + |
| 246 | + sp = spoke.Spoke( |
| 247 | + Customer = customer, |
| 248 | + Key = key, |
| 249 | + production = False, |
| 250 | + ) |
| 251 | + |
| 252 | + order_id = random.randint(1000000, 2000000) |
| 253 | + |
| 254 | + result = sp.new( |
| 255 | + Cases = [dict( |
| 256 | + CaseId = 1234, |
| 257 | + CaseType = 'iph4tough', |
| 258 | + PrintImage = dict( |
| 259 | + ImageType = 'jpg', |
| 260 | + Url = 'http://threadless.com/nothing.jpg', |
| 261 | + ), |
| 262 | + Quantity = 1, |
| 263 | + )], |
| 264 | + OrderId = order_id, |
| 265 | + OrderInfo = dict( |
| 266 | + Address1 = FAUX_ADDRESS, |
| 267 | + City = FAUX_CITY, |
| 268 | + CountryCode = 'US', |
| 269 | + FirstName = FAUX_FIRST_NAME, |
| 270 | + LastName = FAUX_LAST_NAME, |
| 271 | + OrderDate = datetime.now(), |
| 272 | + PhoneNumber = FAUXN_NUMBER, |
| 273 | + PostalCode = FAUX_ZIP, |
| 274 | + State = FAUX_STATE, |
| 275 | + ), |
| 276 | + ShippingMethod = 'FirstClass', |
| 277 | + PackSlip = spoke.Image( |
| 278 | + ImageType = 'jpg', |
| 279 | + Url = 'file:///tmp/nothing.jpg', |
| 280 | + ), |
| 281 | + Comments = [dict( |
| 282 | + Type = 'Printer', |
| 283 | + CommentText = 'testing', |
| 284 | + )] |
| 285 | + ) |
| 286 | + |
| 287 | + self.assertTrue('immc_id' in result) |
| 288 | + |
| 289 | + result = sp.update( |
| 290 | + OrderId = order_id, |
| 291 | + OrderInfo = dict( |
| 292 | + Address1 = FAUX_ADDRESS, |
| 293 | + City = FAUX_CITY, |
| 294 | + CountryCode = 'US', |
| 295 | + FirstName = FAUX_FIRST_NAME, |
| 296 | + LastName = FAUX_LAST_NAME, |
| 297 | + OrderDate = datetime.now(), |
| 298 | + PhoneNumber = FAUXN_NUMBER, |
| 299 | + PostalCode = FAUX_ZIP, |
| 300 | + State = FAUX_STATE, |
| 301 | + ), |
| 302 | + ) |
| 303 | + |
| 304 | + self.assertTrue('immc_id' in result) |
| 305 | + |
| 306 | + result = sp.cancel(order_id) |
| 307 | + |
| 308 | + self.assertTrue('immc_id' in result) |
0 commit comments