@@ -146,3 +146,46 @@ def config_last_stable_version(_):
146146 self .assertEqual ("1.0.0b4" , version_test .get ("version" ), "Version cal error" )
147147 self .assertEqual (False , version_test .get ("is_stable" ), "Version tag error" )
148148 self .assertEqual ("add" , version_test .get ("preview_tag" , False ), "Version tag error" )
149+
150+ @patch .object (VersionUpgradeMod , 'find_max_version' )
151+ def test_version_upgrade_pure_preview_pattern_to_preview (self , find_max_version ):
152+ # preview version update while no stable version before or stable version already lower in major
153+ def config_last_stable_version (_ ):
154+ return False , - 1
155+
156+ find_max_version .side_effect = config_last_stable_version
157+ version_test = cal_next_version (base_meta_file = os .path .join (TEST_DIR , "jsons" ,
158+ "az_costmanagement_meta_before.json" ),
159+ diff_meta_file = os .path .join (TEST_DIR , "jsons" ,
160+ "az_costmanagement_meta_after.json" ),
161+ current_version = "1.0.0" , is_preview = True )
162+ self .assertEqual ("1.0.1b1" , version_test .get ("version" ), "Version cal error" )
163+ self .assertEqual (False , version_test .get ("is_stable" ), "Version tag error" )
164+ self .assertEqual (False , version_test .get ("preview_tag" , False ), "Version tag error" )
165+
166+ @patch .object (VersionUpgradeMod , 'find_max_version' )
167+ def test_version_upgrade_pure_preview_pattern_to_stable (self , find_max_version ):
168+ # preview version update while no stable version before or stable version already lower in major
169+ def config_last_stable_version (_ ):
170+ return False , - 1
171+
172+ find_max_version .side_effect = config_last_stable_version
173+ version_test = cal_next_version (base_meta_file = os .path .join (TEST_DIR , "jsons" ,
174+ "az_costmanagement_meta_before.json" ),
175+ diff_meta_file = os .path .join (TEST_DIR , "jsons" ,
176+ "az_costmanagement_meta_after.json" ),
177+ current_version = "1.0.4" , is_preview = True , next_version_pre_tag = "stable" )
178+ self .assertEqual ("1.1.0" , version_test .get ("version" ), "Version cal error" )
179+ self .assertEqual (True , version_test .get ("is_stable" ), "Version tag error" )
180+ self .assertEqual ("remove" , version_test .get ("preview_tag" , False ), "Version tag error" )
181+
182+ def test_version_upgrade_pure_exp_pattern_to_stable (self ):
183+ version_test = cal_next_version (base_meta_file = os .path .join (TEST_DIR , "jsons" ,
184+ "az_costmanagement_meta_before.json" ),
185+ diff_meta_file = os .path .join (TEST_DIR , "jsons" ,
186+ "az_costmanagement_meta_after.json" ),
187+ current_version = "1.0.4" , is_experimental = True , next_version_pre_tag = "stable" )
188+ self .assertEqual ("1.1.0" , version_test .get ("version" ), "Version cal error" )
189+ self .assertEqual (True , version_test .get ("is_stable" ), "Version tag error" )
190+ self .assertEqual (False , version_test .get ("preview_tag" , False ), "Version tag error" )
191+ self .assertEqual ("remove" , version_test .get ("exp_tag" , False ), "Version tag error" )
0 commit comments