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

1import unittest 

2 

3from webapp.publisher.snaps import logic 

4 

5 

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 ) 

14 

15 self.assertEqual(user_snaps, {}) 

16 self.assertEqual(registered_snaps, {}) 

17 

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 ) 

34 

35 expected_user_snaps = { 

36 "snap1": { 

37 "status": "Approved", 

38 "latest_revisions": [ 

39 {"since": "2018-01-01T00:00:00Z", "channels": []} 

40 ], 

41 } 

42 } 

43 

44 self.assertEqual(user_snaps, expected_user_snaps) 

45 self.assertEqual(registered_snaps, {}) 

46 

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 ) 

58 

59 expected_registered_snaps = { 

60 "snap1": {"status": "Approved", "latest_revisions": None} 

61 } 

62 

63 self.assertEqual(user_snaps, {}) 

64 self.assertEqual(registered_snaps, expected_registered_snaps) 

65 

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 ) 

83 

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 } 

95 

96 self.assertEqual(user_snaps, expected_user_snaps) 

97 self.assertEqual(registered_snaps, expected_registered_snaps) 

98 

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 ] 

105 

106 result = logic.is_snap_on_stable(channel_maps_list) 

107 self.assertFalse(result) 

108 

109 def test_snap_stable_not_info(self): 

110 channel_maps_list = [{"map": [{"channel": "stable", "info": None}]}] 

111 

112 result = logic.is_snap_on_stable(channel_maps_list) 

113 self.assertFalse(result) 

114 

115 def test_snap_stable(self): 

116 channel_maps_list = [{"map": [{"channel": "stable", "info": "info"}]}] 

117 

118 result = logic.is_snap_on_stable(channel_maps_list) 

119 self.assertTrue(result) 

120 

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) 

124 

125 self.assertEqual(result, "May 2021")