Skip to content

Commit 20b1992

Browse files
[AzDatalake] Set Expiry (#22170)
* corrected release date in changelog * setExpiry for files * lint error * recordings
1 parent 396c97c commit 20b1992

File tree

2 files changed

+80
-1
lines changed

2 files changed

+80
-1
lines changed

sdk/storage/azdatalake/assets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "go",
44
"TagPrefix": "go/storage/azdatalake",
5-
"Tag": "go/storage/azdatalake_36b1978c0d"
5+
"Tag": "go/storage/azdatalake_c883370a69"
66
}

sdk/storage/azdatalake/file/client_test.go

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
9271006
func (s *RecordedTestSuite) TestFileSetAccessControlNil() {
9281007
_require := require.New(s.T())
9291008
testName := s.T().Name()

0 commit comments

Comments
 (0)