def test_valid_paid_call(self):
     self.request.get_json()['financial_status'] = "paid"
     validation = functions.call_validator(self.request)
     self.assertEqual(
         validation.response[0].decode(),
         "Call is valid redirected to {}".format(
             functions.shopify_topics_handler[
                 self.request.headers["X-Shopify-Topic"]]))
 def test_valid_update_product_call(self):
     self.request.headers["X-Shopify-Topic"] = "products/update"
     validation = functions.call_validator(self.request)
     self.assertEqual(
         validation.response[0].decode(),
         "Call is valid redirected to {}".format(
             functions.shopify_topics_handler[
                 self.request.headers["X-Shopify-Topic"]]))
 def test_unpaid_call(self):
     self.request.get_json()['financial_status'] = "unpaid"
     validation = functions.call_validator(self.request)
     self.assertEqual(validation.response[0].decode(),
                      "Cant handle unpaid call")
 def test_invalid_order_data(self):
     self.request.get_json()['email'] = ""
     validation = functions.call_validator(self.request)
     self.assertEqual(validation.response[0].decode(),
                      "Email or fullname or sku missing")
 def test_invalid_topic(self):
     self.request.headers["X-Shopify-Topic"] = "hacking your store"
     validation = functions.call_validator(self.request)
     self.assertEqual(validation.response[0].decode(),
                      "Invalid topic to handle")
 def test_invalid_caller(self):
     self.request.headers["X-Shopify-Shop-Domain"] = "https://hackers.io"
     validation = functions.call_validator(self.request)
     self.assertEqual(validation.response[0].decode(),
                      "Unauthorized caller")
 def test_invalid_signature(self):
     self.request.headers["X-Shopify-Hmac-SHA256"] = "invalid sha"
     validation = functions.call_validator(self.request)
     self.assertEqual(validation.response[0].decode(),
                      "Store signature is not valid")