def _test_resource_serialization(self, session_method, resource_method):
        attr_type = resource.Resource

        class Test(resource.Resource):
            allow_create = True
            attr = resource.prop("attr", type=attr_type)

        the_id = 123
        sot = Test()
        sot.attr = resource.Resource({"id": the_id})
        self.assertEqual(attr_type, type(sot.attr))

        def fake_call(*args, **kwargs):
            attrs = kwargs["json"]
            try:
                json.dumps(attrs)
            except TypeError as e:
                self.fail("Unable to serialize _attrs: %s" % e)
            return mock.Mock(body=attrs)

        session = mock.Mock()
        setattr(session, session_method, mock.Mock(side_effect=fake_call))

        if resource_method == "create_by_id":
            session.create_by_id(session, sot._attrs)
        elif resource_method == "update_by_id":
            session.update_by_id(session, None, sot._attrs)
Esempio n. 2
0
    def setUp(self):
        super(TestProxyList, self).setUp()

        self.session = mock.Mock()

        self.args = {"a": "A", "b": "B", "c": "C"}
        self.fake_response = [resource.Resource()]

        self.sot = proxy.Proxy(self.session)
        ListableResource.list = mock.Mock()
        ListableResource.list.return_value = self.fake_response
Esempio n. 3
0
    def setUp(self):
        super(TestProxyList, self).setUp()

        self.session = mock.Mock()

        self.fake_a = 1
        self.fake_b = 2
        self.fake_c = 3
        self.fake_resource = resource.Resource.new(id=self.fake_a)
        self.fake_response = [resource.Resource()]
        self.fake_query = {"a": self.fake_resource, "b": self.fake_b}
        self.fake_path_args = {"c": self.fake_c}

        self.sot = proxy.BaseProxy(self.session)
        ListableResource.list = mock.Mock()
        ListableResource.list.return_value = self.fake_response
Esempio n. 4
0
 def test__check_resource_correct_resource(self):
     res = resource.Resource()
     self._test_correct(res)