@@ -147,6 +147,31 @@ func (s *RecordedTestSuite) TestCreateDirAndDelete() {
147147 _require .NotNil (resp )
148148}
149149
150+ func (s * RecordedTestSuite ) TestCreateDirUsingCPK () {
151+ _require := require .New (s .T ())
152+ testName := s .T ().Name ()
153+
154+ filesystemName := testcommon .GenerateFileSystemName (testName )
155+ fsClient , err := testcommon .GetFileSystemClient (filesystemName , s .T (), testcommon .TestAccountDatalake , nil )
156+ _require .NoError (err )
157+ defer testcommon .DeleteFileSystem (context .Background (), _require , fsClient )
158+
159+ _ , err = fsClient .Create (context .Background (), nil )
160+ _require .NoError (err )
161+
162+ dirName := testcommon .GenerateDirName (testName )
163+ dirClient , err := testcommon .GetDirClient (filesystemName , dirName , s .T (), testcommon .TestAccountDatalake , nil )
164+ _require .NoError (err )
165+
166+ dirOpts := & directory.CreateOptions {CPKInfo : & testcommon .TestCPKByValue }
167+ resp , err := dirClient .Create (context .Background (), dirOpts )
168+ _require .NoError (err )
169+ _require .NotNil (resp )
170+
171+ _require .Equal (true , * (resp .IsServerEncrypted ))
172+ _require .Equal (testcommon .TestCPKByValue .EncryptionKeySHA256 , resp .EncryptionKeySHA256 )
173+ }
174+
150175func (s * RecordedTestSuite ) TestGetAndCreateFileClient () {
151176 _require := require .New (s .T ())
152177 testName := s .T ().Name ()
@@ -1912,6 +1937,65 @@ func (s *RecordedTestSuite) TestDirSetMetadataWithAccessConditions() {
19121937 _require .NoError (err )
19131938}
19141939
1940+ func (s * RecordedTestSuite ) TestDirSetMetadataWithCPK () {
1941+ _require := require .New (s .T ())
1942+ testName := s .T ().Name ()
1943+
1944+ filesystemName := testcommon .GenerateFileSystemName (testName )
1945+ fsClient , err := testcommon .GetFileSystemClient (filesystemName , s .T (), testcommon .TestAccountDatalake , nil )
1946+ _require .NoError (err )
1947+ defer testcommon .DeleteFileSystem (context .Background (), _require , fsClient )
1948+
1949+ _ , err = fsClient .Create (context .Background (), nil )
1950+ _require .NoError (err )
1951+
1952+ dirName := testcommon .GenerateDirName (testName )
1953+ dirClient , err := testcommon .GetDirClient (filesystemName , dirName , s .T (), testcommon .TestAccountDatalake , nil )
1954+ _require .NoError (err )
1955+
1956+ defer testcommon .DeleteDir (context .Background (), _require , dirClient )
1957+
1958+ resp , err := dirClient .Create (context .Background (), & directory.CreateOptions {CPKInfo : & testcommon .TestCPKByValue })
1959+ _require .NoError (err )
1960+ _require .NotNil (resp )
1961+
1962+ opts := & directory.SetMetadataOptions {
1963+ CPKInfo : & testcommon .TestCPKByValue ,
1964+ }
1965+ _ , err = dirClient .SetMetadata (context .Background (), testcommon .BasicMetadata , opts )
1966+ _require .NoError (err )
1967+ }
1968+
1969+ func (s * RecordedTestSuite ) TestDirSetMetadataWithCPKNegative () {
1970+ _require := require .New (s .T ())
1971+ testName := s .T ().Name ()
1972+
1973+ filesystemName := testcommon .GenerateFileSystemName (testName )
1974+ fsClient , err := testcommon .GetFileSystemClient (filesystemName , s .T (), testcommon .TestAccountDatalake , nil )
1975+ _require .NoError (err )
1976+ defer testcommon .DeleteFileSystem (context .Background (), _require , fsClient )
1977+
1978+ _ , err = fsClient .Create (context .Background (), nil )
1979+ _require .NoError (err )
1980+
1981+ dirName := testcommon .GenerateDirName (testName )
1982+ dirClient , err := testcommon .GetDirClient (filesystemName , dirName , s .T (), testcommon .TestAccountDatalake , nil )
1983+ _require .NoError (err )
1984+
1985+ defer testcommon .DeleteDir (context .Background (), _require , dirClient )
1986+
1987+ resp , err := dirClient .Create (context .Background (), nil )
1988+ _require .NoError (err )
1989+ _require .NotNil (resp )
1990+
1991+ opts := & directory.SetMetadataOptions {
1992+ CPKInfo : & testcommon .TestCPKByValue ,
1993+ }
1994+ _ , err = dirClient .SetMetadata (context .Background (), testcommon .BasicMetadata , opts )
1995+ _require .Error (err )
1996+ _require .ErrorContains (err , "PathDoesNotUseCustomerSpecifiedEncryption" )
1997+ }
1998+
19151999func validatePropertiesSet (_require * require.Assertions , dirClient * directory.Client , disposition string ) {
19162000 resp , err := dirClient .GetProperties (context .Background (), nil )
19172001 _require .NoError (err )
@@ -2243,6 +2327,38 @@ func (s *RecordedTestSuite) TestDirRenameNoOptions() {
22432327 //_require.Contains(resp1.NewDirectoryClient.DFSURL(), "newName")
22442328}
22452329
2330+ func (s * RecordedTestSuite ) TestDirRenameRequestWithCPK () {
2331+ _require := require .New (s .T ())
2332+ testName := s .T ().Name ()
2333+
2334+ filesystemName := testcommon .GenerateFileSystemName (testName )
2335+ fsClient , err := testcommon .GetFileSystemClient (filesystemName , s .T (), testcommon .TestAccountDatalake , nil )
2336+ _require .NoError (err )
2337+ defer testcommon .DeleteFileSystem (context .Background (), _require , fsClient )
2338+
2339+ _ , err = fsClient .Create (context .Background (), nil )
2340+ _require .NoError (err )
2341+
2342+ dirName := testcommon .GenerateDirName (testName )
2343+ dirClient , err := testcommon .GetDirClient (filesystemName , dirName , s .T (), testcommon .TestAccountDatalake , nil )
2344+ _require .NoError (err )
2345+
2346+ createOpts := & directory.CreateOptions {
2347+ CPKInfo : & testcommon .TestCPKByValue ,
2348+ }
2349+
2350+ resp , err := dirClient .Create (context .Background (), createOpts )
2351+ _require .NoError (err )
2352+ _require .NotNil (resp )
2353+
2354+ renameFileOpts := & directory.RenameOptions {
2355+ CPKInfo : & testcommon .TestCPKByValue ,
2356+ }
2357+
2358+ _ , err = dirClient .Rename (context .Background (), "newName" , renameFileOpts )
2359+ _require .NoError (err )
2360+ }
2361+
22462362func (s * RecordedTestSuite ) TestRenameDirWithNilAccessConditions () {
22472363 _require := require .New (s .T ())
22482364 testName := s .T ().Name ()
@@ -2548,6 +2664,35 @@ func (s *RecordedTestSuite) TestDirGetPropertiesResponseCapture() {
25482664 _require .Equal ("directory" , respFromCtxService .Header .Get ("x-ms-resource-type" ))
25492665}
25502666
2667+ func (s * RecordedTestSuite ) TestDirGetPropertiesWithCPK () {
2668+ _require := require .New (s .T ())
2669+ testName := s .T ().Name ()
2670+
2671+ filesystemName := testcommon .GenerateFileSystemName (testName )
2672+ fsClient , err := testcommon .GetFileSystemClient (filesystemName , s .T (), testcommon .TestAccountDatalake , nil )
2673+ _require .NoError (err )
2674+ defer testcommon .DeleteFileSystem (context .Background (), _require , fsClient )
2675+
2676+ _ , err = fsClient .Create (context .Background (), nil )
2677+ _require .NoError (err )
2678+
2679+ dirName := testcommon .GenerateDirName (testName )
2680+ dirClient , err := testcommon .GetDirClient (filesystemName , dirName , s .T (), testcommon .TestAccountDatalake , nil )
2681+ _require .NoError (err )
2682+
2683+ dirOpts := & directory.CreateOptions {CPKInfo : & testcommon .TestCPKByValue }
2684+ resp , err := dirClient .Create (context .Background (), dirOpts )
2685+ _require .NoError (err )
2686+ _require .NotNil (resp )
2687+
2688+ getPropertiesOpts := & directory.GetPropertiesOptions {CPKInfo : & testcommon .TestCPKByValue }
2689+ response , err := dirClient .GetProperties (context .Background (), getPropertiesOpts )
2690+ _require .NoError (err )
2691+ _require .NotNil (response )
2692+ _require .Equal (* (resp .IsServerEncrypted ), true )
2693+ _require .Equal (resp .EncryptionKeySHA256 , testcommon .TestCPKByValue .EncryptionKeySHA256 )
2694+ }
2695+
25512696func (s * UnrecordedTestSuite ) TestDirCreateDeleteUsingOAuth () {
25522697 _require := require .New (s .T ())
25532698 testName := s .T ().Name ()
0 commit comments