Пример #1
0
    def test_create_order(self):
        """ Create a new Order """
        order = OrderFactory()
        resp = self.app.post("/orders",
                             json=order.serialize(),
                             content_type="application/json")  # pylint: disable=maybe-no-member
        self.assertEqual(resp.status_code, status.HTTP_201_CREATED)
        # Make sure location header is set
        location = resp.headers.get("Location", None)
        self.assertIsNotNone(location)

        # Check the data is correct
        new_order = resp.get_json()
        self.assertEqual(new_order["name"], order.name, "Names does not match")
        self.assertEqual(new_order["products"], order.products,
                         "Product does not match")  # pylint: disable=maybe-no-member
        self.assertEqual(new_order["status"], order.status,
                         "Status does not match")  # pylint: disable=maybe-no-member

        # Check that the location header was correct by getting it
        resp = self.app.get(location, content_type="application/json")
        self.assertEqual(resp.status_code, status.HTTP_200_OK)
        new_order = resp.get_json()
        self.assertEqual(new_order["name"], order.name, "Names does not match")
        self.assertEqual(new_order["products"], order.products,
                         "Product does not match")  # pylint: disable=maybe-no-member
        self.assertEqual(new_order["status"], order.status,
                         "Status does not match")  # pylint: disable=maybe-no-member
Пример #2
0
 def test_unsupported_media_type(self):
     """ Send wrong media type """
     order = OrderFactory()
     resp = self.app.post("/orders",
                          json=order.serialize(),
                          content_type="test/html")  # pylint: disable=maybe-no-member
     self.assertEqual(resp.status_code,
                      status.HTTP_415_UNSUPPORTED_MEDIA_TYPE)  # pylint: disable=maybe-no-member
Пример #3
0
 def _create_orders(self, count):
     """ Factory method to create orders in bulk """
     orders = []
     for _ in range(count):
         order = OrderFactory()
         resp = self.app.post("/orders",
                              json=order.serialize(),
                              content_type="application/json")  # pylint: disable=maybe-no-member
         self.assertEqual(resp.status_code, status.HTTP_201_CREATED,
                          "Could not create test Order")
         new_order = resp.get_json()
         order.id = new_order["id"]
         orders.append(order)
     return orders
Пример #4
0
    def test_update_order(self):
        """ Update an existing Order """
        # create an Order to update
        test_order = OrderFactory()
        resp = self.app.post("/orders",
                             json=test_order.serialize(),
                             content_type="application/json")  # pylint: disable=maybe-no-member
        self.assertEqual(resp.status_code, status.HTTP_201_CREATED)

        # update the pet
        new_order = resp.get_json()
        new_order["name"] = "Happy-Happy Joy-Joy"
        resp = self.app.put("/orders/{}".format(new_order["id"]),
                            json=new_order,
                            content_type="application/json")
        self.assertEqual(resp.status_code, status.HTTP_200_OK)
        updated_order = resp.get_json()
        self.assertEqual(updated_order["name"], "Happy-Happy Joy-Joy")