Ejemplo n.º 1
0
    def test_not_all_pks(self):
        class Fake(ResourceBase):
            pks = ['id']

        props = dict(val=1)
        adapter = HalAdapter(None)
        rel = Fake(properties=props)
        resp = adapter._generate_relationship(rel, False)
        self.assertIsNone(resp)
Ejemplo n.º 2
0
 def test_list_relationships(self):
     class Fake(ResourceBase):
         pass
     props = dict(val=1, val2=2)
     props2 = dict(val=3, val4=4)
     adapter = HalAdapter(None)
     rel1 = Fake(properties=props)
     rel2 = Fake(properties=props2)
     resp = adapter._generate_relationship([rel1, rel2], True)
     self.assertListEqual([props, props2], resp)
Ejemplo n.º 3
0
    def setUp(self):
        ResourceMetaClass.registered_names_map.clear()
        ResourceMetaClass.registered_resource_classes.clear()
        HelloWorldViewset = get_refreshed_helloworld_viewset()

        self.properties = {'content': 'hello'}
        self.resource = HelloWorldViewset.hello(RequestContainer(query_args=dict(content='hello',
                                                                                 related='world')))
        self.adapter = HalAdapter(self.resource)
        self.data = json.loads(self.adapter.formatted_body)
Ejemplo n.º 4
0
    def test_embedded_relationships(self):
        class Fake(ResourceBase):
            pass

        props = dict(_embedded={},
                     _links=dict(self=dict(href='/fake')),
                     val=1,
                     val2=2)
        rel = Fake(properties=props)
        adapter = HalAdapter(None)
        resp = adapter._generate_relationship(rel, True)
        self.assertEqual(resp, props)
Ejemplo n.º 5
0
    def test_list_relationship_not_all_pks(self):
        class Fake(ResourceBase):
            pks = ['id']

        adapter = HalAdapter(None)
        props1 = dict(id=1, val=2)
        props2 = dict(val=1)
        rel1 = Fake(properties=props1)
        rel2 = Fake(properties=props2)
        resp = adapter._generate_relationship([rel1, rel2], True)
        self.assertEqual(len(resp), 1)
        self.assertEqual(resp[0], props1)
Ejemplo n.º 6
0
    def test_generate_relationshi_embedded(self):
        """
        Tests that embedded relationships are
        appropriately constructed.
        """
        class Fake(ResourceBase):
            pass

        res = Fake(properties=dict(x=1, y=2))
        relation_list = [(res, 'res', True,)]
        adapter = HalAdapter(Fake())
        embedded, links = adapter.generate_relationship(relation_list)
        self.assertDictEqual(embedded['res'], res.properties)
Ejemplo n.º 7
0
    def test_missing_generate_relationship(self):
        """
        Tests attempting to generate a relationship
        when not all of the pks are available.
        """
        class Fake(ResourceBase):
            pks = ('id',)

        res = Fake(properties=dict(x=1, y=2))
        relation_list = [(res, 'res', True,)]
        adapter = HalAdapter(Fake())
        embedded, links = adapter.generate_relationship(relation_list)
        self.assertDictEqual(embedded, {})
        self.assertDictEqual(links, {})
Ejemplo n.º 8
0
 def test_content_type(self):
     adapter = HalAdapter(None)
     self.assertEqual(adapter.extra_headers,
                      {'Content-Type': 'application/hal+json'})
Ejemplo n.º 9
0
 def test_hal_adapter_formatted_body(self):
     adapter = HalAdapter(self.resource)
     for i in six.moves.range(self.runs):
         x = adapter.formatted_body