Coverage for webapp/endpoints/releases.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.10.5, created at 2025-08-26 22:06 +0000

1# Packages 

2import flask 

3from canonicalwebteam.store_api.dashboard import Dashboard 

4 

5# Local 

6from webapp.helpers import api_publisher_session 

7from webapp.decorators import login_required 

8 

9dashboard = Dashboard(api_publisher_session) 

10 

11 

12@login_required 

13def get_release_history_data(snap_name): 

14 release_history = dashboard.snap_release_history(flask.session, snap_name) 

15 

16 channel_map = dashboard.snap_channel_map(flask.session, snap_name) 

17 

18 snap = channel_map.get("snap", {}) 

19 

20 context = { 

21 "snap_name": snap_name, 

22 "snap_title": snap.get("title"), 

23 "publisher_name": snap.get("publisher", {}).get("display-name", {}), 

24 "release_history": release_history, 

25 "private": snap.get("private"), 

26 "default_track": ( 

27 snap.get("default-track") 

28 if snap.get("default-track") is not None 

29 else "latest" 

30 ), 

31 "channel_map": channel_map.get("channel-map"), 

32 "tracks": snap.get("tracks"), 

33 } 

34 

35 return flask.jsonify({"success": True, "data": context})