Merge lp:~roadmr/codetree/update-charmstore-api-usage into lp:codetree

Proposed by Daniel Manrique
Status: Merged
Approved by: Tom Haddon
Approved revision: 127
Merged at revision: 126
Proposed branch: lp:~roadmr/codetree/update-charmstore-api-usage
Merge into: lp:codetree
Diff against target: 74 lines (+7/-7)
3 files modified
codetree/handlers/charm.py (+1/-1)
setup.py (+1/-1)
tests/test_charm_handler.py (+5/-5)
To merge this branch: bzr merge lp:~roadmr/codetree/update-charmstore-api-usage
Reviewer Review Type Date Requested Status
Tom Haddon Approve
Canonical IS Reviewers Pending
Review via email: mp+415331@code.launchpad.net

Commit message

Charmhub's compatibility API doesn't support the /id endpoint which Codetree uses. This updates it to use the equivalent /any?include=id, which is explicitly supported as it's what Juju uses.

Description of the change

Charmhub's compatibility API doesn't support the /id endpoint which Codetree uses. This updates it to use the equivalent /any?include=id, which is explicitly supported as it's what Juju uses.

I took the liberty of also bumping the version number in case a release with just this update is desired.

To post a comment you must log in.
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

This merge proposal is being monitored by mergebot. Change the status to Approved to merge.

Revision history for this message
Tom Haddon (mthaddon) wrote :

LGTM, thx

review: Approve
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

Change successfully merged at revision 126

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'codetree/handlers/charm.py'
2--- codetree/handlers/charm.py 2020-06-22 14:38:44 +0000
3+++ codetree/handlers/charm.py 2022-02-09 16:52:09 +0000
4@@ -130,7 +130,7 @@
5 def resolve(self):
6 """ Discover/confirm the full charmstore URL including revision.
7 """
8- meta_url = "{}/{}/meta/id?channel={}".format(self.base_url, self.source, self.channel)
9+ meta_url = "{}/{}/meta/any?include=id&channel={}".format(self.base_url, self.source, self.channel)
10 try:
11 self.charmstore_url = requests.get(meta_url).json()["Id"][3:]
12 except KeyError:
13
14=== modified file 'setup.py'
15--- setup.py 2020-06-15 02:45:16 +0000
16+++ setup.py 2022-02-09 16:52:09 +0000
17@@ -19,7 +19,7 @@
18
19 setup(
20 name="python-codetree",
21- version="1.2.0",
22+ version="1.2.1",
23 description="A code tree builder",
24 url="https://launchpad.net/codetree",
25 packages=find_packages(exclude=['tests*']),
26
27=== modified file 'tests/test_charm_handler.py'
28--- tests/test_charm_handler.py 2020-06-22 14:38:44 +0000
29+++ tests/test_charm_handler.py 2022-02-09 16:52:09 +0000
30@@ -129,7 +129,7 @@
31
32 assert self.cs.get(dest, {})
33 assert _get.call_count == 2
34- expected_request_args = [call('{}/trusty/charm/meta/id?channel=stable'.format(self.cs.base_url)),
35+ expected_request_args = [call('{}/trusty/charm/meta/any?include=id&channel=stable'.format(self.cs.base_url)),
36 call('{}/trusty/charm/archive'.format(self.cs.base_url))]
37 assert _get.call_args_list == expected_request_args
38 expected_logging = [call("Downloading {} from charm store to {}".format(self.cs.source, dest)),
39@@ -141,7 +141,7 @@
40 # check only, no update needed
41 assert self.cs.get(dest, {})
42 assert _get.call_count == 1
43- expected_request_args = [call('{}/trusty/charm/meta/id?channel=stable'.format(self.cs.base_url))]
44+ expected_request_args = [call('{}/trusty/charm/meta/any?include=id&channel=stable'.format(self.cs.base_url))]
45 assert _get.call_args_list == expected_request_args
46 expected_logging = [call("{} is up to date from url {}, skipping.".format(dest, self.cs.charmstore_url))]
47 assert _logging_info.call_args_list == expected_logging
48@@ -153,7 +153,7 @@
49 self.cs._set_url(dest)
50 assert self.cs.get(dest, {})
51 assert _get.call_count == 2
52- expected_request_args = [call('{}/trusty/charm/meta/id?channel=stable'.format(self.cs.base_url)),
53+ expected_request_args = [call('{}/trusty/charm/meta/any?include=id&channel=stable'.format(self.cs.base_url)),
54 call('{}/trusty/charm/archive'.format(self.cs.base_url))]
55 assert _get.call_args_list == expected_request_args
56 expected_logging = [call("Downloading {} from charm store to {}".format(self.cs.source, dest)),
57@@ -170,7 +170,7 @@
58 # Confirm we return False which will be considered an error.
59 self.assertFalse(self.cs.get(dest, {}))
60 self.assertEqual(_get.call_count, 1)
61- expected_request_args = [call('{}/trusty/charm/meta/id?channel=stable'.format(self.cs.base_url))]
62+ expected_request_args = [call('{}/trusty/charm/meta/any?include=id&channel=stable'.format(self.cs.base_url))]
63 assert _get.call_args_list == expected_request_args
64 expected_logging = [call("Failed to update {} to {} because it looks like a bzr or git branch, and the "
65 "'overwrite' option wasn't set".format(dest, self.cs.charmstore_url))]
66@@ -209,7 +209,7 @@
67
68 assert self.cs.get(dest, {'channel': 'edge'})
69 assert _get.call_count == 2
70- expected_request_args = [call('{}/trusty/charm/meta/id?channel=edge'.format(self.cs.base_url)),
71+ expected_request_args = [call('{}/trusty/charm/meta/any?include=id&channel=edge'.format(self.cs.base_url)),
72 call('{}/trusty/charm/archive'.format(self.cs.base_url))]
73 assert _get.call_args_list == expected_request_args
74 expected_logging = [call("Downloading {} from charm store to {}".format(self.cs.source, dest)),

Subscribers

People subscribed via source and target branches