コード例 #1
0
    def test_rich_text_field_with_embeds_in_lists(self):
        client = Client(
            'jd7yc4wnatx3',
            '6256b8ef7d66805ca41f2728271daf27e8fa6055873b802a813941a0fe696248',
            gzip_encoded=False
        )

        entry = client.entry('6NGLswCREsGA28kGouScyY')

        # Hyperlink data is conserved
        self.assertEqual(entry.body['content'][0], {
            'data': {},
            'content': [
                {'marks': [], 'value': 'A link to ', 'nodeType': 'text', 'nodeClass': 'text'},
                {
                    'data': {'uri': 'https://google.com'},
                    'content': [{'marks': [], 'value': 'google', 'nodeType': 'text', 'nodeClass': 'text'}],
                    'nodeType': 'hyperlink',
                    'nodeClass': 'inline'
                },
                {'marks': [], 'value': '', 'nodeType': 'text', 'nodeClass': 'text'}
            ],
            'nodeType': 'paragraph',
            'nodeClass': 'block'
        })

        # Unordered lists and ordered lists can contain embedded entries
        self.assertEqual(entry.body['content'][3]['nodeType'], 'unordered-list')
        self.assertEqual(str(entry.body['content'][3]['content'][2]['content'][0]['data']['target']), "<Entry[embedded] id='49rofLvvxCOiIMIi6mk8ai'>")

        self.assertEqual(entry.body['content'][4]['nodeType'], 'ordered-list')
        self.assertEqual(str(entry.body['content'][4]['content'][2]['content'][0]['data']['target']), "<Entry[embedded] id='5ZF9Q4K6iWSYIU2OUs0UaQ'>")
コード例 #2
0
    def test_unresolvable_entries_dont_get_included(self):
        client = Client(
            '011npgaszg5o',
            '42c9d93410a7319e9a735671fc1e415348f65e94a99fc768b70a7c649859d4fd')

        entry = client.entry('1HR1QvURo4MoSqO0eqmUeO')
        self.assertEqual(len(entry.modules), 2)
コード例 #3
0
 def test_circular_references_default_depth(self):
     client = Client('rk19fq93y3vw', '821aa502a7ce820e46adb30fa6942889619aac4342a7021cfe15197c52a593cc', content_type_cache=True)
     a = client.entry('6kdfS7uMs8owuEIoSaOcQk')
     self.assertEqual(str(a), "<Entry[a] id='6kdfS7uMs8owuEIoSaOcQk'>")
     self.assertEqual(str(a.b), "<Entry[b] id='7oADpDPuneEAsWUiO2CmEo'>")
     self.assertEqual(str(a.b.a.b.a.b.a.b.a.b.a.b.a.b.a.b.a.b.a.b.a), "<Entry[a] id='6kdfS7uMs8owuEIoSaOcQk'>")
     self.assertEqual(str(a.b.a.b.a.b.a.b.a.b.a.b.a.b.a.b.a.b.a.b.a.b), "<Link[Entry] id='7oADpDPuneEAsWUiO2CmEo'>")
コード例 #4
0
 def test_entry_incoming_references_with_query(self):
     client = Client('cfexampleapi', 'b4c0n73n7fu1', content_type_cache=False)
     entry = client.entry('nyancat')
     entries = entry.incoming_references(client, {'content_type': 'cat', 'select': ['fields.name']})
     self.assertEqual(len(entries), 1)
     self.assertEqual(str(entries[0]), "<Entry[cat] id='happycat'>")
     self.assertEqual(entries[0].fields(), {'name': 'Happy Cat'})
コード例 #5
0
    def test_client_entry(self):
        client = Client('cfexampleapi',
                        'b4c0n73n7fu1',
                        content_type_cache=False)
        entry = client.entry('nyancat')

        self.assertEqual(str(entry), "<Entry[cat] id='nyancat'>")
        self.assertEqual(str(entry.best_friend), "<Entry[cat] id='happycat'>")
コード例 #6
0
 def test_entry_incoming_references(self):
     client = Client('cfexampleapi',
                     'b4c0n73n7fu1',
                     content_type_cache=False)
     entry = client.entry('nyancat')
     entries = entry.incoming_references(client)
     self.assertEqual(len(entries), 1)
     self.assertEqual(str(entries[0]), "<Entry[cat] id='happycat'>")
コード例 #7
0
ファイル: client_test.py プロジェクト: chari8/contentful.py
    def test_rich_text_fields_should_not_get_hydrated_twice(self):
        client = Client(
            'fds721b88p6b',
            '45ba81cc69423fcd2e3f0a4779de29481bb5c11495bc7e14649a996cf984e98e',
            gzip_encoded=False)

        entry = client.entry('1tBAu0wP9qAQEg6qCqMics')

        # Not failing is already a success
        self.assertEqual(str(entry.children[0]), str(entry.children[1]))
        self.assertEqual(str(entry.children[0].body),
                         str(entry.children[1].body))
コード例 #8
0
    def test_structured_text_field(self):
        client = Client(
            'jd7yc4wnatx3',
            '6256b8ef7d66805ca41f2728271daf27e8fa6055873b802a813941a0fe696248')

        entry = client.entry('4BupPSmi4M02m0U48AQCSM')

        expected_entry_occurrances = 2
        embedded_entry_index = 1
        for content in entry.body['content']:
            if content['nodeType'] == 'embedded-entry-block':
                self.assertTrue(isinstance(content['data'], Entry))
                self.assertEqual(content['data'].body,
                                 'Embedded {0}'.format(embedded_entry_index))
                expected_entry_occurrances -= 1
                embedded_entry_index += 1
        self.assertEqual(expected_entry_occurrances, 0)