def test_post(self): with mock.patch.object(requests, "post"): client = Client("key", "secret") client._post("/api/") requests.post.assert_called() args = requests.post.call_args[1] self.assertEqual(args["url"], "https://api.shapeways.com/api/v1") self.assertIsInstance(args["auth"], OAuth1) self.assertEqual(args["params"], None) self.assertEqual(args["data"], None) requests.post.reset_mock() client = Client("key", "secret") params = { "key": "value", } client._post("/api/", params=params) requests.post.assert_called() args = requests.post.call_args[1] self.assertEqual(args["url"], "https://api.shapeways.com/api/v1") self.assertIsInstance(args["auth"], OAuth1) self.assertEqual(args["params"], params) self.assertEqual(args["data"], None) requests.post.reset_mock() client = Client("key", "secret") body = "nice body" client._post("/api/", body=body) requests.post.assert_called() args = requests.post.call_args[1] self.assertEqual(args["url"], "https://api.shapeways.com/api/v1") self.assertIsInstance(args["auth"], OAuth1) self.assertEqual(args["params"], None) self.assertEqual(args["data"], body) requests.post.reset_mock() client = Client("key", "secret") params = { "key": "value", } body = "nice body" client._post("/api/", body=body, params=params) requests.post.assert_called() args = requests.post.call_args[1] self.assertEqual(args["url"], "https://api.shapeways.com/api/v1") self.assertIsInstance(args["auth"], OAuth1) self.assertEqual(args["params"], params) self.assertEqual(args["data"], body)