def test_is_multipart(self):
        req = django.test.RequestFactory().get("/", content_type="text/plain")
        self.assertFalse(utils.Mimer(req).is_multipart())

        req = django.test.RequestFactory().post(
            "/", content_type="multipart/form-data")
        self.assertTrue(utils.Mimer(req).is_multipart())
 def test_translate(self):
     data = {"foo": "bar"}
     req = django.test.RequestFactory().post(
         "/", json.dumps(data), content_type="application/json")
     mimer = utils.Mimer(req)
     req = mimer.translate()
     self.assertEqual(req.POST, {})
     self.assertEqual(req.PUT, {})
     self.assertEqual(req.data, data)
Exemplo n.º 3
0
    def test_register_unregister(self):
        deserializer, content_type = lambda _: None, "foo"
        utils.Mimer.register(deserializer, content_type)

        req = django.test.RequestFactory().post("/", "", content_type=content_type)
        mimer = utils.Mimer(req)
        self.assertEqual(mimer.loader_for_type(content_type), deserializer)

        utils.Mimer.unregister(deserializer)
        self.assertIsNone(mimer.loader_for_type(content_type))
 def test_translate_none_deserializer(self):
     with mock.patch.dict(
             "django_declarative_apis.resources.utils.Mimer.TYPES",
         {None: "application_json"},
             clear=True,
     ):
         req = django.test.RequestFactory().post(
             "/", {"foo": "bar"}, content_type="application/json")
         mimer = utils.Mimer(req)
         self.assertIsNone(mimer.translate().data)
Exemplo n.º 5
0
 def test_loader_for_type(self):
     req = django.test.RequestFactory().post(
         "/", json.dumps({"foo": "bar"}), content_type="application/json"
     )
     mimer = utils.Mimer(req)
     self.assertEqual(mimer.loader_for_type("application/json"), json.loads)
Exemplo n.º 6
0
 def test_translate_invalid_data(self):
     req = django.test.RequestFactory().post(
         "/", "notjson", content_type="application/json"
     )
     mimer = utils.Mimer(req)
     self.assertRaises(utils.MimerDataException, mimer.translate)