@@ -924,6 +924,85 @@ func (s *RecordedTestSuite) TestDeleteFileIfETagMatchFalse() {
924924 testcommon .ValidateErrorCode (_require , err , datalakeerror .ConditionNotMet )
925925}
926926
927+ func (s * RecordedTestSuite ) TestFileSetExpiry () {
928+ _require := require .New (s .T ())
929+ testName := s .T ().Name ()
930+
931+ filesystemName := testcommon .GenerateFileSystemName (testName )
932+ fsClient , err := testcommon .GetFileSystemClient (filesystemName , s .T (), testcommon .TestAccountDatalake , nil )
933+ _require .NoError (err )
934+ defer testcommon .DeleteFileSystem (context .Background (), _require , fsClient )
935+
936+ _ , err = fsClient .Create (context .Background (), nil )
937+ _require .NoError (err )
938+
939+ fileName := testcommon .GenerateFileName (testName )
940+ fClient , err := testcommon .GetFileClient (filesystemName , fileName , s .T (), testcommon .TestAccountDatalake , nil )
941+ _require .NoError (err )
942+
943+ resp , err := fClient .Create (context .Background (), nil )
944+ _require .NoError (err )
945+ _require .NotNil (resp )
946+
947+ _ , err = fClient .SetExpiry (context .Background (), file.SetExpiryValues {ExpiryType : file .SetExpiryTypeNeverExpire }, nil )
948+ _require .NoError (err )
949+
950+ res , err := fClient .GetProperties (context .Background (), nil )
951+ _require .Nil (res .ExpiresOn )
952+ _require .NoError (err )
953+
954+ _ , err = fClient .SetExpiry (
955+ context .Background (),
956+ file.SetExpiryValues {
957+ ExpiryType : file .SetExpiryTypeRelativeToCreation ,
958+ ExpiresOn : strconv .Itoa (10 ),
959+ },
960+ nil ,
961+ )
962+ _require .NoError (err )
963+
964+ time .Sleep (time .Second * 12 )
965+
966+ _ , err = fClient .GetProperties (context .Background (), nil )
967+ testcommon .ValidateErrorCode (_require , err , datalakeerror .PathNotFound )
968+ }
969+
970+ func (s * UnrecordedTestSuite ) TestFileSetExpiryTypeAbsoluteTime () {
971+ _require := require .New (s .T ())
972+ testName := s .T ().Name ()
973+
974+ filesystemName := testcommon .GenerateFileSystemName (testName )
975+ fsClient , err := testcommon .GetFileSystemClient (filesystemName , s .T (), testcommon .TestAccountDatalake , nil )
976+ _require .NoError (err )
977+ defer testcommon .DeleteFileSystem (context .Background (), _require , fsClient )
978+
979+ _ , err = fsClient .Create (context .Background (), nil )
980+ _require .NoError (err )
981+
982+ fileName := testcommon .GenerateFileName (testName )
983+ fClient , err := testcommon .GetFileClient (filesystemName , fileName , s .T (), testcommon .TestAccountDatalake , nil )
984+ _require .NoError (err )
985+
986+ resp , err := fClient .Create (context .Background (), nil )
987+ _require .NoError (err )
988+ _require .NotNil (resp )
989+
990+ _ , err = fClient .SetExpiry (
991+ context .Background (),
992+ file.SetExpiryValues {
993+ ExpiryType : file .SetExpiryTypeAbsolute ,
994+ ExpiresOn : time .Now ().Add (5 * time .Second ).UTC ().Format (http .TimeFormat ),
995+ },
996+ nil )
997+ _require .NoError (err )
998+
999+ time .Sleep (time .Second * 7 )
1000+
1001+ _ , err = fClient .GetProperties (context .Background (), nil )
1002+ testcommon .ValidateErrorCode (_require , err , datalakeerror .PathNotFound )
1003+
1004+ }
1005+
9271006func (s * RecordedTestSuite ) TestFileSetAccessControlNil () {
9281007 _require := require .New (s .T ())
9291008 testName := s .T ().Name ()
0 commit comments