@@ -713,3 +713,85 @@ def test_restore_of_data_set_when_volume_does_not_exist(ansible_zos_module):
713
713
# finally:
714
714
# delete_data_set_or_file(hosts, data_set_name)
715
715
# delete_data_set_or_file(hosts, DATA_SET_BACKUP_LOCATION)
716
+
717
+
718
+ @pytest .mark .parametrize ("dstype" , ["seq" , "pds" , "pdse" ])
719
+ def test_backup_gds (ansible_zos_module , dstype ):
720
+ try :
721
+ hosts = ansible_zos_module
722
+ # We need to replace hyphens because of NAZARE-10614: dzip fails archiving data set names with '-'
723
+ data_set_name = get_tmp_ds_name (symbols = True ).replace ("-" , "" )
724
+ backup_dest = get_tmp_ds_name (symbols = True ).replace ("-" , "" )
725
+ results = hosts .all .zos_data_set (name = data_set_name , state = "present" , type = "gdg" , limit = 3 )
726
+ for result in results .contacted .values ():
727
+ assert result .get ("changed" ) is True
728
+ assert result .get ("module_stderr" ) is None
729
+ results = hosts .all .zos_data_set (name = f"{ data_set_name } (+1)" , state = "present" , type = dstype )
730
+ for result in results .contacted .values ():
731
+ assert result .get ("changed" ) is True
732
+ assert result .get ("module_stderr" ) is None
733
+ results = hosts .all .zos_data_set (name = f"{ data_set_name } (+1)" , state = "present" , type = dstype )
734
+ for result in results .contacted .values ():
735
+ assert result .get ("changed" ) is True
736
+ assert result .get ("module_stderr" ) is None
737
+ results = hosts .all .zos_backup_restore (
738
+ operation = "backup" ,
739
+ data_sets = dict (include = [f"{ data_set_name } (-1)" , f"{ data_set_name } (0)" ]),
740
+ backup_name = backup_dest ,
741
+ )
742
+ for result in results .contacted .values ():
743
+ assert result .get ("changed" ) is True
744
+ assert result .get ("module_stderr" ) is None
745
+ finally :
746
+ hosts .all .shell (cmd = f"drm ANSIBLE.* " )
747
+
748
+
749
+ @pytest .mark .parametrize ("dstype" , ["seq" , "pds" , "pdse" ])
750
+ def test_backup_into_gds (ansible_zos_module , dstype ):
751
+ """This test will create a dataset and backup it into a new generation of
752
+ backup data sets.
753
+ """
754
+ try :
755
+ hosts = ansible_zos_module
756
+ # We need to replace hyphens because of NAZARE-10614: dzip fails archiving data set names with '-'
757
+ data_set_name = get_tmp_ds_name (symbols = True ).replace ("-" , "" )
758
+ ds_name = get_tmp_ds_name (symbols = True ).replace ("-" , "" )
759
+ results = hosts .all .zos_data_set (name = data_set_name , state = "present" , type = "gdg" , limit = 3 )
760
+ for result in results .contacted .values ():
761
+ assert result .get ("changed" ) is True
762
+ assert result .get ("module_stderr" ) is None
763
+ results = hosts .all .zos_data_set (name = f"{ data_set_name } (+1)" , state = "present" , type = dstype )
764
+ for result in results .contacted .values ():
765
+ assert result .get ("changed" ) is True
766
+ assert result .get ("module_stderr" ) is None
767
+ results = hosts .all .zos_data_set (name = ds_name , state = "present" , type = dstype )
768
+ for result in results .contacted .values ():
769
+ assert result .get ("changed" ) is True
770
+ assert result .get ("module_stderr" ) is None
771
+ ds_to_write = f"{ ds_name } (MEM)" if dstype in ['pds' , 'pdse' ] else ds_name
772
+ results = hosts .all .shell (cmd = f"decho 'test line' \" { ds_to_write } \" " )
773
+ for result in results .contacted .values ():
774
+ assert result .get ("changed" ) is True
775
+ assert result .get ("module_stderr" ) is None
776
+ results = hosts .all .zos_backup_restore (
777
+ operation = "backup" ,
778
+ data_sets = dict (include = [ds_name ]),
779
+ backup_name = f"{ data_set_name } .G0002V00" ,
780
+ )
781
+ for result in results .contacted .values ():
782
+ assert result .get ("changed" ) is True
783
+ assert result .get ("module_stderr" ) is None
784
+ results = hosts .all .shell (cmd = f"drm \" { ds_name } \" " )
785
+ for result in results .contacted .values ():
786
+ assert result .get ("changed" ) is True
787
+ assert result .get ("module_stderr" ) is None
788
+ results = hosts .all .zos_backup_restore (
789
+ operation = "restore" ,
790
+ backup_name = f"{ data_set_name } (0)" ,
791
+ )
792
+ for result in results .contacted .values ():
793
+ assert result .get ("changed" ) is True
794
+ assert result .get ("module_stderr" ) is None
795
+ finally :
796
+ hosts .all .shell (cmd = f"drm ANSIBLE.* " )
797
+
0 commit comments