diff --git a/sdk/storage/azdatalake/CHANGELOG.md b/sdk/storage/azdatalake/CHANGELOG.md index 3a8572fe917e..e3f976bc186b 100644 --- a/sdk/storage/azdatalake/CHANGELOG.md +++ b/sdk/storage/azdatalake/CHANGELOG.md @@ -1,5 +1,16 @@ # Release History +## 1.1.0-beta.2 (Unreleased) + +### Features Added +* HNS Encryption Scope support + +### Breaking Changes + +### Bugs Fixed + +### Other Changes + ## 1.1.0-beta.1 (2024-01-10) ### Features Added diff --git a/sdk/storage/azdatalake/assets.json b/sdk/storage/azdatalake/assets.json index 81645a340794..71e63fe6e1e3 100644 --- a/sdk/storage/azdatalake/assets.json +++ b/sdk/storage/azdatalake/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "go", "TagPrefix": "go/storage/azdatalake", - "Tag": "go/storage/azdatalake_7a31b2404b" + "Tag": "go/storage/azdatalake_9248522dce" } diff --git a/sdk/storage/azdatalake/filesystem/client_test.go b/sdk/storage/azdatalake/filesystem/client_test.go index a1f42713d8cd..1b5ecc4b2639 100644 --- a/sdk/storage/azdatalake/filesystem/client_test.go +++ b/sdk/storage/azdatalake/filesystem/client_test.go @@ -102,8 +102,9 @@ func (s *RecordedTestSuite) TestCreateFilesystemWithOptions() { metadata := map[string]*string{"foo": &testStr, "bar": &testStr} access := filesystem.FileSystem opts := filesystem.CreateOptions{ - Metadata: metadata, - Access: &access, + Metadata: metadata, + Access: &access, + CPKScopeInfo: &testcommon.TestCPKScopeInfo, } fsClient, err := testcommon.GetFileSystemClient(filesystemName, s.T(), testcommon.TestAccountDatalake, nil) _require.NoError(err) @@ -116,6 +117,7 @@ func (s *RecordedTestSuite) TestCreateFilesystemWithOptions() { _require.NoError(err) _require.NotNil(props.Metadata) _require.Equal(*props.PublicAccess, filesystem.FileSystem) + _require.Equal(props.DefaultEncryptionScope, &testcommon.TestEncryptionScope) } func (s *RecordedTestSuite) TestCreateFilesystemWithFileAccess() { @@ -262,6 +264,34 @@ func (s *RecordedTestSuite) TestFilesystemGetPropertiesWithLease() { _require.NoError(err) } +func (s *RecordedTestSuite) TestFilesystemGetPropertiesDefaultEncryptionScopeAndOverride() { + _require := require.New(s.T()) + testName := s.T().Name() + + filesystemName := testcommon.GenerateFileSystemName(testName) + fsClient, err := testcommon.GetFileSystemClient(filesystemName, s.T(), testcommon.TestAccountDatalake, nil) + _require.NoError(err) + defer testcommon.DeleteFileSystem(context.Background(), _require, fsClient) + + testStr := "hello" + metadata := map[string]*string{"foo": &testStr, "bar": &testStr} + access := filesystem.FileSystem + + opts := filesystem.CreateOptions{ + Metadata: metadata, + Access: &access, + CPKScopeInfo: &testcommon.TestCPKScopeInfo, + } + _, err = fsClient.Create(context.Background(), &opts) + _require.NoError(err) + + resp, err := fsClient.GetProperties(context.Background(), nil) + _require.NoError(err) + _require.Equal(resp.DenyEncryptionScopeOverride, to.Ptr(false)) + _require.Equal(resp.DefaultEncryptionScope, &testcommon.TestEncryptionScope) + +} + func (s *RecordedTestSuite) TestFilesystemDelete() { _require := require.New(s.T()) testName := s.T().Name() diff --git a/sdk/storage/azdatalake/internal/testcommon/clients_auth.go b/sdk/storage/azdatalake/internal/testcommon/clients_auth.go index 7a45a06c5385..db202ebf0909 100644 --- a/sdk/storage/azdatalake/internal/testcommon/clients_auth.go +++ b/sdk/storage/azdatalake/internal/testcommon/clients_auth.go @@ -12,6 +12,7 @@ import ( "fmt" "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" + "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container" "testing" "time" @@ -63,6 +64,11 @@ var ( EncryptionKeySHA256: &testEncryptedHash, EncryptionAlgorithm: &testEncryptionAlgorithm, } + TestEncryptionScope = "datalaketestencryptionscope" + TestCPKScopeInfo = container.CPKScopeInfo{ + DefaultEncryptionScope: &TestEncryptionScope, + PreventEncryptionScopeOverride: to.Ptr(false), + } ) var BasicHeaders = file.HTTPHeaders{ diff --git a/sdk/storage/azdatalake/service/client_test.go b/sdk/storage/azdatalake/service/client_test.go index 8720bba2980f..271c3c214ba5 100644 --- a/sdk/storage/azdatalake/service/client_test.go +++ b/sdk/storage/azdatalake/service/client_test.go @@ -92,6 +92,35 @@ func (s *ServiceUnrecordedTestsSuite) TestServiceClientFromConnectionString() { defer testcommon.DeleteFileSystem(context.Background(), _require, fsClient) } +func (s *ServiceRecordedTestsSuite) TestCreateFilesystemsWithOptions() { + _require := require.New(s.T()) + testName := s.T().Name() + svcClient, err := testcommon.GetServiceClientFromConnectionString(s.T(), testcommon.TestAccountDefault, nil) + _require.NoError(err) + md := map[string]*string{ + "foo": to.Ptr("foovalue"), + "bar": to.Ptr("barvalue"), + } + cpkScopeInfo := &testcommon.TestCPKScopeInfo + + fsName := testcommon.GenerateFileSystemName(testName) + fsClient := testcommon.ServiceGetFileSystemClient(fsName, svcClient) + + _, err = fsClient.Create(context.Background(), &filesystem.CreateOptions{Metadata: md, CPKScopeInfo: cpkScopeInfo}) + defer func(fsClient *filesystem.Client, ctx context.Context, options *filesystem.DeleteOptions) { + _, err := fsClient.Delete(ctx, options) + if err != nil { + _require.NoError(err) + } + }(fsClient, context.Background(), nil) + + _require.NoError(err) + resp, err := fsClient.GetProperties(context.Background(), nil) + + _require.NoError(err) + _require.Equal(resp.DefaultEncryptionScope, &testcommon.TestEncryptionScope) +} + func (s *ServiceRecordedTestsSuite) TestSetPropertiesLogging() { _require := require.New(s.T()) svcClient, err := testcommon.GetServiceClient(s.T(), testcommon.TestAccountDefault, nil)