def test_url_scan_on_put(self): """Should scan for links and store referenced URLNode ids on save""" url_node_1 = URLNode( url_order=0, title='Test URLNode', url_fragment='test-url-node-1', ) url_node_1.put() url_node_2 = URLNode( url_order=0, title='Test URLNode 2', url_fragment='test-url-node-2', ) url_node_2.put() test_widget = DummyWidget( name='Dummy Widget', html_element='p', content=( 'Content with multiple links: ' '{% page_url "test-url-node-1" %} ' '{% page_url "test-url-node-2" %} ' '{% page_url "test-url-node-1" %} ' ) ) test_widget.put() self.assertEqual(2, len(test_widget.linked_url_node_keys)) expected = set([str(url_node_1.key()), str(url_node_2.key())]) found = set(test_widget.linked_url_node_keys) self.assertEqual(expected, found)
def test_tag(self): """Should return a URLNode's URL and collect the node in the context""" url_fragment = 'this-does-exist' node = URLNode( url_order=0, title='Title', url_fragment=url_fragment, ) node.put() ctx = template.Context({}) ret = page_url(ctx, 'this-does-exist') self.assertEqual(ret, node.denormalized_url) self.assertTrue('_linked_url_nodes' in ctx) self.assertEqual( ctx['_linked_url_nodes'][url_fragment].key(), node.key())