Skip to content

Commit

Permalink
Merge pull request #1083 from sphinx-contrib/support-property-retry-o…
Browse files Browse the repository at this point in the history
…n-cb-extension-prop

support property retry events for extension-specific properties
  • Loading branch information
jdknight authored Feb 1, 2025
2 parents cab1d10 + 6cbf6be commit f283001
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
4 changes: 3 additions & 1 deletion sphinxcontrib/confluencebuilder/publisher.py
Original file line number Diff line number Diff line change
Expand Up @@ -960,6 +960,7 @@ def store_page(self, page_name, data, parent_id=None):
# fetch known properties (associated with this extension) from the page
page_id = page['id'] if page else None
cb_props = self.get_page_property(page_id, CB_PROP_KEY, {
'key': CB_PROP_KEY,
'value': {},
})

Expand Down Expand Up @@ -1190,6 +1191,7 @@ def store_page_by_id(self, page_name, page_id, data):

# fetch known properties (associated with this extension) from the page
cb_props = self.get_page_property(page_id, CB_PROP_KEY, {
'key': CB_PROP_KEY,
'value': {},
})

Expand Down Expand Up @@ -1535,7 +1537,7 @@ def _post_page_actions(self, page_id, cb_props):

# push an updated to confluence builder property which includes an
# updated hash value
self.store_page_property(page_id, CB_PROP_KEY, cb_props)
self._update_page_properties(page_id, [cb_props])

# ensure remove any watch flags on the update if watching is disabled
if not self.watch:
Expand Down
12 changes: 10 additions & 2 deletions tests/unit-tests/test_publisher_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ def test_publisher_page_store_page_id_allow_watch(self):
'number': '1',
},
}
daemon.register_get_rsp(200, scb_fetch_props_rsp)
daemon.register_get_rsp(200, scb_fetch_props_rsp) # initial
daemon.register_get_rsp(200, scb_fetch_props_rsp) # re-fetch

# prepare response for update event
daemon.register_put_rsp(200, dict(page_fetch_rsp))
Expand Down Expand Up @@ -107,6 +108,9 @@ def test_publisher_page_store_page_id_allow_watch(self):
props_fetch_req = daemon.pop_get_request()
self.assertIsNotNone(props_fetch_req)

props_fetch_req = daemon.pop_get_request()
self.assertIsNotNone(props_fetch_req)

# check that the page property (e.g. hash update) was made
update_req = daemon.pop_put_request()
self.assertIsNotNone(update_req)
Expand Down Expand Up @@ -156,7 +160,8 @@ def test_publisher_page_store_page_id_default(self):
'number': '1',
},
}
daemon.register_get_rsp(200, scb_fetch_props_rsp)
daemon.register_get_rsp(200, scb_fetch_props_rsp) # initial
daemon.register_get_rsp(200, scb_fetch_props_rsp) # re-fetch

# prepare response for update event
daemon.register_put_rsp(200, dict(page_fetch_rsp))
Expand Down Expand Up @@ -200,6 +205,9 @@ def test_publisher_page_store_page_id_default(self):
props_fetch_req = daemon.pop_get_request()
self.assertIsNotNone(props_fetch_req)

props_fetch_req = daemon.pop_get_request()
self.assertIsNotNone(props_fetch_req)

# check that the page property (e.g. hash update) was made
update_req = daemon.pop_put_request()
self.assertIsNotNone(update_req)
Expand Down

0 comments on commit f283001

Please sign in to comment.