Coverage for tests/publisher/tests_publisher_logic.py: 100%
43 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-28 22:05 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-28 22:05 +0000
1import unittest
3from webapp.publisher.snaps import logic
6class PublisherLogicTest(unittest.TestCase):
7 # get_snaps_account_info
8 # ===
9 def test_empty_snaps(self):
10 account_info = {"snaps": {}}
11 user_snaps, registered_snaps = logic.get_snaps_account_info(
12 account_info
13 )
15 self.assertEqual(user_snaps, {})
16 self.assertEqual(registered_snaps, {})
18 def test_only_uploaded_snaps(self):
19 account_info = {
20 "snaps": {
21 "16": {
22 "snap1": {
23 "status": "Approved",
24 "latest_revisions": [
25 {"since": "2018-01-01T00:00:00Z", "channels": []}
26 ],
27 }
28 }
29 }
30 }
31 user_snaps, registered_snaps = logic.get_snaps_account_info(
32 account_info
33 )
35 expected_user_snaps = {
36 "snap1": {
37 "status": "Approved",
38 "latest_revisions": [
39 {"since": "2018-01-01T00:00:00Z", "channels": []}
40 ],
41 }
42 }
44 self.assertEqual(user_snaps, expected_user_snaps)
45 self.assertEqual(registered_snaps, {})
47 def test_only_registred_snaps(self):
48 account_info = {
49 "snaps": {
50 "16": {
51 "snap1": {"status": "Approved", "latest_revisions": None}
52 }
53 }
54 }
55 user_snaps, registered_snaps = logic.get_snaps_account_info(
56 account_info
57 )
59 expected_registered_snaps = {
60 "snap1": {"status": "Approved", "latest_revisions": None}
61 }
63 self.assertEqual(user_snaps, {})
64 self.assertEqual(registered_snaps, expected_registered_snaps)
66 def test_all_snaps(self):
67 account_info = {
68 "snaps": {
69 "16": {
70 "snap1": {
71 "status": "Approved",
72 "latest_revisions": [
73 {"since": "2018-01-01T00:00:00Z", "channels": []}
74 ],
75 },
76 "snap2": {"status": "Approved", "latest_revisions": None},
77 }
78 }
79 }
80 user_snaps, registered_snaps = logic.get_snaps_account_info(
81 account_info
82 )
84 expected_user_snaps = {
85 "snap1": {
86 "status": "Approved",
87 "latest_revisions": [
88 {"since": "2018-01-01T00:00:00Z", "channels": []}
89 ],
90 }
91 }
92 expected_registered_snaps = {
93 "snap2": {"status": "Approved", "latest_revisions": None}
94 }
96 self.assertEqual(user_snaps, expected_user_snaps)
97 self.assertEqual(registered_snaps, expected_registered_snaps)
99 # is_snap_on_stable
100 # ===
101 def test_snap_not_stable(self):
102 channel_maps_list = [
103 {"map": [{"channel": "not stable", "info": None}]}
104 ]
106 result = logic.is_snap_on_stable(channel_maps_list)
107 self.assertFalse(result)
109 def test_snap_stable_not_info(self):
110 channel_maps_list = [{"map": [{"channel": "stable", "info": None}]}]
112 result = logic.is_snap_on_stable(channel_maps_list)
113 self.assertFalse(result)
115 def test_snap_stable(self):
116 channel_maps_list = [{"map": [{"channel": "stable", "info": "info"}]}]
118 result = logic.is_snap_on_stable(channel_maps_list)
119 self.assertTrue(result)
121 def test_convert_date_month_year(self):
122 date_test = "2021-05-11T16:48:41.821037-06:00"
123 result = logic.convert_date(date_test)
125 self.assertEqual(result, "May 2021")