def test_bump_version_number_major_overflow(self): """ Given: - a pack name and a version before an overflow condition When: - bumping the version number in the metadata.json Then: - return ValueError """ shutil.copy(src=os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack_invalid/pack_metadata.json'), dst=os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack_invalid/_pack_metadata.json')) from demisto_sdk.commands.update_release_notes.update_rn import UpdateRN update_rn = UpdateRN(pack="HelloWorld", update_type='major', pack_files={'HelloWorld'}, added_files=set()) update_rn.metadata_path = os.path.join( TestRNUpdate.FILES_PATH, 'fake_pack_invalid/pack_metadata.json') self.assertRaises(ValueError, update_rn.bump_version_number) os.remove( os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack_invalid/pack_metadata.json')) shutil.copy(src=os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack_invalid/_pack_metadata.json'), dst=os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack_invalid/pack_metadata.json'))
def test_bump_version_number_specific(self): """ Given: - a pack name and specific version When: - bumping the version number in the metadata.json Then: - return the correct bumped version number """ shutil.copy(src=os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack/pack_metadata.json'), dst=os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack/_pack_metadata.json')) expected_version = '2.0.0' from demisto_sdk.commands.update_release_notes.update_rn import UpdateRN update_rn = UpdateRN(pack="HelloWorld", update_type=None, specific_version='2.0.0', pack_files={'HelloWorld'}, added_files=set()) update_rn.metadata_path = os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack/pack_metadata.json') version_number, _ = update_rn.bump_version_number( pre_release=False, specific_version='2.0.0') assert version_number == expected_version os.remove( os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack/pack_metadata.json')) shutil.copy(src=os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack/_pack_metadata.json'), dst=os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack/pack_metadata.json'))
def test_bump_version_no_version(self): """ Given: - a pack name and a version before an overflow condition When: - bumping the version number in the metadata.json Then: - return ValueError """ from demisto_sdk.commands.update_release_notes.update_rn import UpdateRN update_rn = UpdateRN(pack_path="Packs/HelloWorld", update_type=None, modified_files_in_pack={'HelloWorld'}, added_files=set()) update_rn.metadata_path = os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack_invalid/pack_metadata.json') self.assertRaises(ValueError, update_rn.bump_version_number)
def test_bump_version_file_not_found(self): """ Given: - a pack name and a metadata which does not exist When: - bumping the version number in the metadata.json Then: - return ValueError """ from demisto_sdk.commands.update_release_notes.update_rn import UpdateRN update_rn = UpdateRN(pack_path="Packs/HelloWorld", update_type='major', modified_files_in_pack={'HelloWorld'}, added_files=set()) update_rn.metadata_path = os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack_invalid/pack_metadata_.json') self.assertRaises(SystemExit, update_rn.bump_version_number)
def test_does_pack_metadata_exist_no(self): """ Given: - Checking for the existance of a pack metadata file When: - metadata path is invalid Then: - return False to indicate it does not exist. """ from demisto_sdk.commands.update_release_notes.update_rn import UpdateRN update_rn = UpdateRN(pack_path="Packs/HelloWorld", update_type='minor', modified_files_in_pack=set(), added_files=set()) update_rn.metadata_path = 'This/Doesnt/Exist' result = update_rn._does_pack_metadata_exist() assert result is False
def test_commit_to_bump(self): """ Given: - No inputs, but a condition where bumping the version is ready When: - running update Then: - update the metadata json by the version designated. """ ORIGINAL = os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack_invalid/pack_metadata.json') TEMP_FILE = os.path.join(TestRNUpdate.FILES_PATH, 'fake_pack_invalid/_pack_metadata.json') from demisto_sdk.commands.update_release_notes.update_rn import UpdateRN update_rn = UpdateRN(pack_path="Packs/HelloWorld", update_type='minor', modified_files_in_pack={'HelloWorld'}, added_files=set()) shutil.copy(src=ORIGINAL, dst=TEMP_FILE) data_dict = get_json(TEMP_FILE) update_rn.metadata_path = TEMP_FILE update_rn.commit_to_bump(data_dict) os.remove(ORIGINAL) shutil.copy(src=TEMP_FILE, dst=ORIGINAL)