diff --git a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt index a072bad15..561426777 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt +++ b/sdk/keyvault/azure-security-keyvault-secrets/CMakeLists.txt @@ -67,7 +67,7 @@ target_include_directories( target_link_libraries(azure-security-keyvault-secrets PUBLIC Azure::azure-core) # coverage. Has no effect if BUILD_CODE_COVERAGE is OFF -create_code_coverage(keyvault-secrets azure-security-keyvault-secrets azure-security-keyvault-secrets-test) +create_code_coverage(keyvault azure-security-keyvault-secrets azure-security-keyvault-secrets-test) get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") generate_documentation(azure-security-keyvault-secrets ${AZ_LIBRARY_VERSION}) diff --git a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/keyvault_secrets.hpp b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/keyvault_secrets.hpp index 761328406..775dab572 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/keyvault_secrets.hpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/inc/azure/keyvault/keyvault_secrets.hpp @@ -14,5 +14,6 @@ #include "azure/keyvault/secrets/keyvault_operations.hpp" #include "azure/keyvault/secrets/keyvault_options.hpp" #include "azure/keyvault/secrets/keyvault_secret.hpp" +#include "azure/keyvault/secrets/keyvault_secret_paged_response.hpp" #include "azure/keyvault/secrets/keyvault_secret_properties.hpp" #include "azure/keyvault/secrets/secret_client.hpp" diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample1-basic-operations/sample1-basic-operations.cpp b/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample1-basic-operations/sample1-basic-operations.cpp index b62201dbf..42a5481f9 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample1-basic-operations/sample1-basic-operations.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/test/samples/sample1-basic-operations/sample1-basic-operations.cpp @@ -12,7 +12,6 @@ * - AZURE_CLIENT_SECRET: The client secret. * */ - #if defined(_MSC_VER) #define _CRT_SECURE_NO_WARNINGS #endif diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/CMakeLists.txt b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/CMakeLists.txt index cbeb35bfb..a03b653fd 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/CMakeLists.txt +++ b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/CMakeLists.txt @@ -9,6 +9,9 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) include(GoogleTest) +# Export the test folder for recordings access. +add_compile_definitions(AZURE_TEST_RECORDING_DIR="${CMAKE_CURRENT_LIST_DIR}") + add_executable ( azure-security-keyvault-secrets-test macro_guard.cpp @@ -19,13 +22,15 @@ add_executable ( secret_update_properties_test.cpp secret_backup_deserialize_test.cpp secret_backup_deserialize_test.hpp - "secret_paged_deserialize_test.cpp" "secret_paged_deserialize_test.hpp") + secret_paged_deserialize_test.cpp + secret_paged_deserialize_test.hpp + secret_client_base_test.hpp) if (MSVC) target_compile_options(azure-security-keyvault-secrets-test PUBLIC /wd6326 /wd26495 /wd26812) endif() -target_link_libraries(azure-security-keyvault-secrets-test PRIVATE azure-security-keyvault-secrets azure-identity gtest gtest_main gmock) +target_link_libraries(azure-security-keyvault-secrets-test PRIVATE azure-security-keyvault-secrets azure-identity azure-core-test-fw gtest gtest_main gmock) # Adding private headers so we can test the private APIs with no relative paths include. target_include_directories (azure-security-keyvault-secrets-test PRIVATE $) diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.BackupRestore.json b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.BackupRestore.json new file mode 100644 index 000000000..ef570903a --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.BackupRestore.json @@ -0,0 +1,351 @@ +{ + "networkCallRecords": [ + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "4316c6df-60ab-490d-63d4-f92556a48623" + }, + "Method": "PUT", + "Response": { + "BODY": "{\"value\":\"secretValue\",\"id\":\"https://REDACTED.vault.azure.net/secrets/BackupRestore/9fd67df5bcea42cdacf61c9ea52ddcf1\",\"attributes\":{\"enabled\":true,\"created\":1629853132,\"updated\":1629853132,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "256", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:52 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "4316c6df-60ab-490d-63d4-f92556a48623", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "f95376ab-838d-4260-865a-d5674167dfcb", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/BackupRestore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "89e6cc90-bce5-4f42-49c0-3b5240b496b6" + }, + "Method": "POST", + "Response": { + "BODY": "{\"value\":\"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUl5WVdabU5tRmhNUzAzTm1Ka0xUUTBZVGN0WVRjek5DMDJaalZoWkRCaU5XRTRPVGdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJbjAuTnJzRG14b0lUbUt0OG91Rkx3dktlZE9zREdWQ0lRZG5DdmVLb0daZ1hlTGVteGhsV0l0Z0pZUl9IRVlvZlZtV2EtYm0zZTFrUk9ibHdHcng3M29pMlAzVGhtS29BS3dIWlp3QTZDN1Nra2hzMWtpc2V4eDNsVTVhWEdpajdwOTZDNkN4Y2lWQUpabzdseExqYmt0elljNmtyeElscTV6T2JSWVNXUGs1alBPbThsb21RcGZnblhlSjlXUUlJdGVtRDRpdkU3REJtZWZyNXJsN1lBUkJ2Z1l5dlpJbzEtRmRERjVwYjZXMUx2VndnN1JKRlhKSHRVNTh2ZThMaDJmcy1Hd0d4dTR4WEs4MU9CNjdTbHRYQ1haakgyelVwLXF4OUQtRWhsbGJOa2dyRDhQYkdDVFJwenRDVDFCdDk5aHQzeDk1N1I0Mi1tdmtUWnN1V2FDMC13LngtaThvRlkySS1lQlZyTVp6OUtEdWcudk9FLXozWG5ZZFhsMHBjQXN0NXFuMlVQbEVXT3NUbXJLLTNyNnllNmt2Mk5QMlMyMnhzWG4zTDlKNDV5c3hUMjJ1blhKdklEcEJpQjFnUzkwNEhaU3RvMzFyeWpWOHJiTGpOdFYwQlRhdGZFc1haOGpUdWVCcXY3dDZPclpRVUVfTEVWRWtfSnMwYzBaV25kN2RWWWF2N2R2WkVibDJhdnJ1aThMU2tqSFNMSzBMbVA3QXZIUEpLbk1wa1JHbm9QZ1RYSTBEOF81WGsxUU93QzgxXzV3TnZXTlJlSUJibGRiOUFqWjl0QS1iaHBQbElZR05VM0kzaGJFaWJSaVhXbnZzclUzUUppMm15YjQ5STZDRXpLZjB0Tno0clYzemdhRVFIZVdmOTZIc3dIbThTQWJkX0xFYTZ2Tlh2QmE3MWlOQ3pzRGpjUnZVeGJvMFMwYzhxN2lCTVF3LTZTWFhzVDBDWGpRQzA1WU9uXzFhbnhEdFk2c2xVeERBSUdYYmg3WkJMRkNpYzJWNEJZQko3WWdiNjhfN1o4SGpORi1jQW5NTGpXVkEzRUhCTTE0YlBBNjlRSS1OcjJUazZmdjFkblFOOUxNdlBqMmstNEVGYlFMbVNwRV9jamJmRG5vb0g4akRuUVpVLTM2eFJQSVR6WTktaGtTS3hIek5WMFB1Y29paFpNZTh3QnVOM1JEbDNtZklRaHdodWQ3UUtUWDdsWnZvNlJ1QXdWanJuV3NGZDdKVFB6WURkMi1JU2VEeTltelJVN2dyVVR2ZmRwamJzOTFyWEYzUnJ2S0Y1Z3hwbWpQdmp4ckk0VGpqVkU3aXZGdktlb2FKUy1WbWhNMVNKR013TlVhU3dXUU5kLUxmU3RPNWRZeG92NmlCbk1KY19EVTRyNVdoa1hHMTk1ekxlTDYzT0VaMmlLMVBpbzdwTUlsbWljTC1QVzRtWGJPajY4NC1RX0ZPRkNtbHZJOTJhbk5BcDNZZlRySmVIcGlaQ1lwc0RwQXdXdWRUUzlKb29mX2dYOGtKbUFBTXQxWUpYaS1GRTBzQUkyWEdkR3BldXNqZHFzZXFaWGNhclhGT3V1azNZdWc2TnRXQ09DOVM4N2JFUDdBQ3Q2M3BfNXVJLW12eWJWRkYzcmdmV214dUVwZUE2NUliU19UR255Ymt6LWZiWEFER2o3bkVFZ2RfeEJmZ0g5RzRBOHhOUEYxQ215VVZFUXY3WTNURG5DRWJHRzNod1pzVjhiOGREazJOYjV0UUFpdUEyRzEzODNPaHRxWUpFaEU4Wm5QZUs3dklIRHREUGhnRDVpM0loaTNJMVBXVm10TUlDUlZ0STFQejdrNGptSmF3NW1kQnlieW5iek1yZFdsRW9XU0RDQkZpVkFzWWRhNUNpOGdWNEVmX3EwaDVTbzFFeEFzX1lSc1IyWG5YYXRJaVdaQS16MGh2ODUxZjNEMGhBUWlYZ3NCNFpEaGk1aEY3eVJNRGlPWi1GTG5UUUdna0k3UFJaVE1WWURoZW9VZU9feEIyeWVZajczV3R1LS1JSTVCeC1yT0NrazMtLXFuUVZ3RXQwZW9WTXZJX0xMTkx3c0tMZlJPNEVURFJOdm4zZTk2cmhVUTg4TnYzREl6X3o0ajNVQzAteWVybkdZaXhpX01FYldtTzRQX0NxUENLQ2RMTGZXdmpieEpqYzlNQWZIaTNPQnpzN0FSQXBleHk3TzZhbDROUVdVUzN1Wlc2eElnLXN5SU5JbTVpUmMzMHVLSzJlM0t5azgtQmx3RzU3bFVCaWtycEV6a25pMmw4ZmZYdVpyamdvWVdLTXVJNl95M21GdnRNZm8xZ0h1VmhQZDNXckREbFJaWHdZRkJvS0J1LXlZM2dhVmliLXM3YkJsZHBHR3k2R3BRUVR2RjI4TFprV0ljaVpYSGhqVUpoQU54eXROMHVfUS16OUswRkhSQnJyUDZxRVdOb1NQRnUzQlByamFCX3ctRXdudW1fRXk4UmhPNUNRZzRBa2s2QjlGX2hUamotNjRyNnVoX1lGZjltVmJRb1QwQk9EOVN1c1NoRHIteXJyQkNxYzlYeVJQa01qaGJfbnVjamtQM2k1NjRSNEJZWXdHZjVZR1N5Y3B6SzNwRElQMXp3WnpQTFFLRDc5UDdvX095X1BiMDB2ZWs2Vnk2c2xPWElVV2EybFFNc2ZqOGY3NndBQm5tNDRzYVdnb3RVeDNfTkpPanJmUWRvbzVidkVocEJSNF9za2c2cFVCOUx1ZUpYQWg1dkxDVFNNdHRyM2Q4RHlDRkhLUk5HdnNhUE1qbWU4TVdRdWt0dVlkYzUxb2tfUGRXdGxFdXdRdlozel9HT2l3NkE5aURYUC1zdGVzWjhwV0JNTFZmSG9Wa1I3bXRIV044LWp5ZDhsQnlpNjBLeGE2X1lfWTlpOVA5dk95WUdKUUNSVDUyNkIzMnhJOFlRdUlzbkFLY3JOeEdRT1VIY2R3YUcxV1hKNnhLSkQ3OXBBMnEyTUpfVUxnYXcxUzhxd0dCTy04dGp6WkR6RTZQR2dvTVUxREt6bGc5VjRGa0R0UUs4UGlyRDFrd2RuRVV3MWtlbFRzaVlpNHluOWVRQlc1SXF5VTVsV3hDRHJ4ZkRlQnlEVEt4ZXg4OUtKalJLZEdRUGJZWFJYZm83Uy01d05QTmxwekNGR0U2Z2IyWnpsWjdjaWtnM0k5cXFRNXNwd3R2bEhHVXM4ZllKbzFaQVRRM0E0emI0dzFLMjd4cmtwaF9fTm45Mkc4ajNJSnpJRzhxRHk3anBSb1FSMzBqWFVkWjRDZXFheU1UbGxlNmlud0dLRkNKU0JBXzI1UjlIanNmMDRFVVN4d1A1Ul9sSWlDTWp6RjYzbG5wX3Vnek1tWERocHlRT3NsTnV3dXBlNVR2bUNCRDZzR3FSMEIwYUFvZDRLWGdsZ09HZHlIS0RPUWU1UXlVTjRXa3F6bkcybFNnUW84emlzUmRjbTlmSnFOZ0VNM2xaRG9LNnZSYmV5NEpkalRvUGZKc0hzRHNudzNreUtwZWJmQk4wWVBSX1p5UXFldlVBSW56ZWhWVExVSENhdlpWYU9aQ2tsS0JzVjBobUkxQVdUMWlwLU5BdUduMGZDV0RQNTZFdjhWX2F0cHNLbnlIc0xUd01ONUVFemp2elhiLVpsbEdQbUV2YVM3bnpzZzZPS1dlempQVnF0Q0xMcWlZT2Y4cU9mVjExTUxZZGJGUnc1c2pnQnV4bV9MajhzS19rMWs5Q3pJWUNxTHExaFVuWEMzYVlnZGFjQnRrT1ZVeTQzMnNQcml1T2g4WXppQ3ljWC1udVlZN2k1SmxkbzhRMWVEamZDdEtfb1ZXbE95dXk5WlhfYXY4aHJ0bTVxdTVTcXBoRVUyNzlOOTlvbVVaeWsyRllzWjdZSDA4OG5Xcnp0RFNndkVxM2l2Yk1vaDRrZWJzbWpKYjFyYjNoZEdWSURkQmVDdzdiWGIxcVBwallwS0VpYlFlME9vdU9URmMwWUxpUDZOZTRtX2NsblRpaERhT2RxRVVZalpjeFRmSURVM2NXSEZRYkhBOEhhUlVKMGFSMnZ1VXI2SXpsbG5ET2RYLTBpdkFoeVZlN2tubDhlMUZReXprZWR4VVdoLVlaTDJYclYtV1U4czhEYXo4SXFwRkVvdngtWERvTHdseXF6WTJVSERmWnNudndrZUtrOGZyM3JlUzZiQ2NzQnhxalpHZk03NXh6bDJFTEcxb3cwWlVob1lmWko0MHludXNFaEswNndhdGQ5dk1sWUZQaXJXdWRvdEZxV0pUdUVzcU9oLWc4Z0xTUkJ1c2JRZ1BrenJiNkExZk5YaHhkSGNOcGFBd3kyVEYxcHJlMzVROVhVbGZyWmo0QWJyTVZwcWlNc2l1RVBYRkpNellJY3M5S2xyczZlLXVnTnBRYlF5dndvajFuYjNscm5IemJLZDJEYWM0cXE4WEh5V3RVaWdRNFZNVmN1NVR3X2J0dF9sSmVPU3puNGIwalpYOXdfUEg3NGk0MDg1MkhYamlONnZqSjgtRmtJSXhIT0NrZ1ZCY1ZfaHBNRGdEdXUxVDBEUG0zX0Q5WnFRQ0M2MGhjX19KNWE0TVNMM2UwQlV6eGFERjNBdmdoYlNILTFWWjJkekxhS3dNamFCb3d3dFYtNk1qY1JIdXZlNkxJSkZUdktNOFQxeE43d3FjQkV4bmpEc2lDcHhqMHhTWkF5R2JZWW11SVFhSi1BdDZjQm0yN2pOWER0ZTE1bEd2V1dkS1FPMUpsSE1QS0xJZDRtcG9BTmJLaTY0NnhaeDY2aDhWQWZGLVlfLV8tdjg4WlR4eU50R0F2SGQwNzZyWHlVUk9TYXR2emV5anZLaEpzWmFLaXVTdnhvS3FuNmlBeEYwOTIwUmw2dGFrVmw1dG5Fb3ozZFZmZ3VCUnpyZXZRZmt5THJFMW80aW5oMUY1dHNnYUdUd0EyT3hjM3pCWURiVk45akNEZEcxSGVNQmYyVzNKUWtrSkl4X0dUb2xkZVFpaVhiWllnWXg1enRoRVZOcjRNYmlJalJ4VEdQZG1YaXlPbnJBclV4eWFFbDZLRV9TMVp1WWlhT1RoWTk1THNXNElkYTNIMV92N0NXdUQ5NXN0Q2JoOEdFNHYzRlI4MDA3ZDJtQkItcXZSYjU1VXJRLW9IWXZIZlhsc0ZyVmdQeDc2RUM3emNTM2pNTVpsS1BDTjNkRjFXYnFhS3EtRElDdnpqWERQSkU0YWl4VXZwX1lzeFJvajRLNUMtdjBJWGEwWnBsV1lWOE5NS2xVQzFwU2t5d3JhcWNWbDZwQ21fTXVDeGdyZXBhUHM3MXhFVERkVk11eVMtMlVDaERzTml4MUVRZW9wWGRqcWVLOTJEUjhfZFc3anN4Q1NFTXpuMVYzSlRfMzROWEJ4Rm1QazE2MDg1QjdFNW8tdjcxVnZjcWdMN2FzLTZvblBTRDU3LTJWZmZTczh2S1FIanNwTHhEQjhvTVo4Mk9rbGZJQklGVGE2d0NwOTdpMlJhdWRMd0JxYXhDYlNabXhTWklsZWdaaDdpSlUzMzU1SjV5VzNTa3QxbXFLS0RrbmJFQnRpcVQ5eEFOZmJGYnlRbGVGT1drRnFxRm9nS0ZoZ1dZLTVJb0pxemp2QVI3X0pMZVJQdWs1d2JqUDhYd0RuZ2o2OGEyRWVIbjgxaVM3a0ZWNmNyR0J2Ulhpb0trWDl2ZnJMWU1JU0JCSzNham14UncwMDFwVGh6RXd6QUFTLWM0Q0hDVVo4YVltQkQ0YlREXzlzRTBYQkR4aHJiSDRMX09Bbk1XeHpUOW80UXczV2cwdjQycFZLX3Z5aWVObExGTDE4UmNCSHh6QWdHQUhzTG05RzV2QWNXaHBQWEVDeUNzS09NWGoxZ1A2c2ZuZ1FBelBQVXVLcGN6YUxBclc3TDRPX3llMVNvWW9wbFN2SDNoV1p1bG40T3k5bFNWVWxQVEtwNXJickEtNnB2SldMQ0J1bUVwU2d4VFEzNFlKY2tvZ0YyMWNQMUZ2T29VNVljOE9NVEhnZTJtdkZtaWxrZjlUSzZRRWZ5YkpnQkxuX0RvSzlOcE93R3ZGMWpnZ0ticnNFbUlXX2pucGp2Ml9TR1ZXeVh0dEw5TWRQaHBweUplQ1VIamxSUmg4b2R0cnd3ZWxHODhPemZ4VVFHRFlNZWFKZ3YtYUhRQnpLWFBTcElDTjRKandGbEFYbEJONVNCV2tmQmc2TUdwTVR1ekp1Snp6NkZPRzlmc1BWWEZXUzRzcVBFZXdCN3RCWG05N3l0SGdVTmR3QWN6WGVRbGVNSlpqZThfUUdsb3FzN01XNDRyVVQ1MDQtTkcteWJwTFpScVJmb2pUN3BnUUFLdUQ1NGV3a1ZKRDVWRnhhRy1ndGhZUnFjUmFYdVljZkp6ZmZEUnM3c1k0LVB4TjlyMzVHN09zZk1NUmtDWldNM2w5S2MxSFBueS1qcDB5TVlwc3MwZmxlM1dQXzRESmJqbkk0dk5KRU5MTUF6UHFPejZicVJMdEdfU1E2NzNNUXZXR3lFWktJdzNXdk5KdGFvVS1hMXBXRF9HZFltbHk5SEFJN3l0U09GajZWblZoTWpjMDZVeEpHY1hJTmFaUm9BN21FdGlPMnVLUDFTWVVKbkRsSHFvQlN0dTkwX04tVkVvSWVDSGZHMFVxbW1FQ0lBYVc2TWJMcUk2bDNYUG42cXdBY0c4TFoxU2kyWUNrajhJSGc4OVc4UEFLVWtLeWJLcGxFMkM1RlNIUFBnSmFueGxoRE02MGhLRkthQXhROG1KWDBBVWdIZVNnOVQ5YzI3enJzTmhrbk1mQ3d0UXlraUZNR210QVl0aVpod2dWTzVsaHMxYUVraEhNdHo4ZWR3WUgzU1pZZ2hCNTlDRGh4QVRxU25oaWlBWC1MMk1FalQ0RzVqajByemcycGhlcV9MNXFvQ1NYQk5kdnFFTGdLazZwZ1Izbk9Jal8wbmNBdzA0aE5XUHNING9ISUFwXzNteXpMY2Zhd0F1SmEzeDYtZGFWSmJqcHp5UXBXcVd5cHlNdWx6UzZqVDVvVjJCbFk4eWV6R1NWNG5RT1NrcXBNS1BMWmtEUzBHRTF4TGR3eVFkaEg5TmlaNDNmcDd2cW5Od2xJNWZoWjJyUk4wcUc1UUlpLTNOVjZDTkxjN1dfQTBTTThHM1ZLc1RJZEhEUjFQZVpac21UeW52WlpsU1ZFUE9UNGJ3dURoeFVKQ25jQU1DUXZtaC1uRUM2TnlMeHJnbHQzRk5uQ0h0cG12TEV3cVRRaVlabFFoN1JNZ3c5em5WdDNJQkUxdWtnelpQWkVzZ0VGNDNRQUxZcVM5Z2tRdmh0a05rZzZxYXZjeXAxM3lCME9UY1FEaVdtT2V5aVcySFc2dEh5LnhjSUdVV09jRTNrNlBOVG1Scm04c3VHMlVKTlBncGUtZ0hqLUZzOWM3aWM\"}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "7687", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:52 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "89e6cc90-bce5-4f42-49c0-3b5240b496b6", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "ba30c423-9412-4cfd-8440-cb9be2acde92", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/BackupRestore/backup?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "a3f54f5b-afd0-4878-5f3b-0e4764859e31" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore\",\"deletedDate\":1629853133,\"scheduledPurgeDate\":1637629133,\"id\":\"https://REDACTED.vault.azure.net/secrets/BackupRestore/9fd67df5bcea42cdacf61c9ea52ddcf1\",\"attributes\":{\"enabled\":true,\"created\":1629853132,\"updated\":1629853132,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "373", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:52 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "a3f54f5b-afd0-4878-5f3b-0e4764859e31", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "fa272403-fd11-4641-aee0-a25c3e68ba14", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/BackupRestore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "6a63a721-bea4-479d-5c86-c696200570bf" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: BackupRestore\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "87", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:52 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "6a63a721-bea4-479d-5c86-c696200570bf", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "d6f92fde-f576-46d0-963b-207e613bd5ee", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "970c66b2-0290-48ca-57ab-920ade90077c" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore\",\"deletedDate\":1629853133,\"scheduledPurgeDate\":1637629133,\"id\":\"https://REDACTED.vault.azure.net/secrets/BackupRestore/9fd67df5bcea42cdacf61c9ea52ddcf1\",\"attributes\":{\"enabled\":true,\"created\":1629853132,\"updated\":1629853132,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "373", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:59:22 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "970c66b2-0290-48ca-57ab-920ade90077c", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "b0a593ec-6523-4ec7-89e0-4528e1aaea0d", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "32a975a8-ca0c-4c42-7014-fddd321489fd" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore\",\"deletedDate\":1629853133,\"scheduledPurgeDate\":1637629133,\"id\":\"https://REDACTED.vault.azure.net/secrets/BackupRestore/9fd67df5bcea42cdacf61c9ea52ddcf1\",\"attributes\":{\"enabled\":true,\"created\":1629853132,\"updated\":1629853132,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "373", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:59:22 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "32a975a8-ca0c-4c42-7014-fddd321489fd", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "6efb06c6-95ef-46c9-86bc-7b24998b8ef1", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "924dd1fa-b628-4ca8-7ab9-060b73f1e936" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 25 Aug 2021 00:59:23 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "924dd1fa-b628-4ca8-7ab9-060b73f1e936", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "88a61f20-ec78-4c05-b44b-7af7047a4d03", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "338f3014-909c-4eb5-7f8d-67fe1fae7712" + }, + "Method": "POST", + "Response": { + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/secrets/BackupRestore/9fd67df5bcea42cdacf61c9ea52ddcf1\",\"attributes\":{\"enabled\":true,\"created\":1629853132,\"updated\":1629853132,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "234", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:59:53 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "338f3014-909c-4eb5-7f8d-67fe1fae7712", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "221bfac0-0882-4b01-bb86-e7cab76844a3", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/restore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "f27faacd-5749-4dcc-47ee-1d66581ff693" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore\",\"deletedDate\":1629853193,\"scheduledPurgeDate\":1637629193,\"id\":\"https://REDACTED.vault.azure.net/secrets/BackupRestore/9fd67df5bcea42cdacf61c9ea52ddcf1\",\"attributes\":{\"enabled\":true,\"created\":1629853132,\"updated\":1629853132,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "373", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:59:53 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "f27faacd-5749-4dcc-47ee-1d66581ff693", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "90776b81-3da6-4023-9a9a-c70fbaba4b58", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/BackupRestore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "5bf50f69-10f5-4d56-7479-754a12d2e803" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: BackupRestore\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "87", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:59:53 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "5bf50f69-10f5-4d56-7479-754a12d2e803", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "5ac8762e-92bd-43cc-97c3-7711262ae379", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "9cdadd07-dcf3-4ba2-76f0-0b00da7f1086" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore\",\"deletedDate\":1629853193,\"scheduledPurgeDate\":1637629193,\"id\":\"https://REDACTED.vault.azure.net/secrets/BackupRestore/9fd67df5bcea42cdacf61c9ea52ddcf1\",\"attributes\":{\"enabled\":true,\"created\":1629853132,\"updated\":1629853132,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "373", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:00:23 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "9cdadd07-dcf3-4ba2-76f0-0b00da7f1086", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "f3d38cb2-5493-4b26-a3af-1d92e1753899", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "71bec330-8e3e-4b43-5bd0-8e3ad1e29267" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore\",\"deletedDate\":1629853193,\"scheduledPurgeDate\":1637629193,\"id\":\"https://REDACTED.vault.azure.net/secrets/BackupRestore/9fd67df5bcea42cdacf61c9ea52ddcf1\",\"attributes\":{\"enabled\":true,\"created\":1629853132,\"updated\":1629853132,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "373", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:00:23 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "71bec330-8e3e-4b43-5bd0-8e3ad1e29267", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "5e752b66-2b9e-4aab-afa5-f3c93c8984a9", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "7f471246-c2bb-43e8-606d-bad929e08522" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 25 Aug 2021 01:00:23 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "7f471246-c2bb-43e8-606d-bad929e08522", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "806cf287-a483-4e34-b173-7973ef15e061", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/BackupRestore?api-version=7.2" + } + ] +} diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.FirstCreateTest.json b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.FirstCreateTest.json new file mode 100644 index 000000000..2f73b1ae1 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.FirstCreateTest.json @@ -0,0 +1,191 @@ +{ + "networkCallRecords": [ + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "b3129259-ee3a-4a2b-4942-1d8454c1726d" + }, + "Method": "PUT", + "Response": { + "BODY": "{\"value\":\"secretValue\",\"id\":\"https://REDACTED.vault.azure.net/secrets/FirstCreateTest/56aac59e2d59404abf1c2a6bd5e790e1\",\"attributes\":{\"enabled\":true,\"created\":1629853039,\"updated\":1629853039,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "258", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:57:18 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "b3129259-ee3a-4a2b-4942-1d8454c1726d", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "c1ee6aa3-ae1f-4172-859e-e3a0bffcc4f1", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/FirstCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "9d0b8a93-ea22-4e6e-659f-d1e4a5c343b3" + }, + "Method": "GET", + "Response": { + "BODY": "{\"value\":\"secretValue\",\"id\":\"https://REDACTED.vault.azure.net/secrets/FirstCreateTest/56aac59e2d59404abf1c2a6bd5e790e1\",\"attributes\":{\"enabled\":true,\"created\":1629853039,\"updated\":1629853039,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "258", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:57:18 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "9d0b8a93-ea22-4e6e-659f-d1e4a5c343b3", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "b91b6851-23c7-4023-ace6-aa864b159824", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/FirstCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "a01b1272-e9a6-4b6d-7061-49d3b04d1277" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/FirstCreateTest\",\"deletedDate\":1629853039,\"scheduledPurgeDate\":1637629039,\"id\":\"https://REDACTED.vault.azure.net/secrets/FirstCreateTest/56aac59e2d59404abf1c2a6bd5e790e1\",\"attributes\":{\"enabled\":true,\"created\":1629853039,\"updated\":1629853039,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "377", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:57:18 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "a01b1272-e9a6-4b6d-7061-49d3b04d1277", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "33b73bd3-05c6-440b-aa53-cfbcd14721d7", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/FirstCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "c3f6ad31-a8ea-4a96-6e18-7e8c441ae18d" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: FirstCreateTest\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "89", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:57:18 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "c3f6ad31-a8ea-4a96-6e18-7e8c441ae18d", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "96fcfff0-4731-4abd-bb9c-14d1ea61cfff", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/FirstCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "4b8519f8-39eb-4917-6d4f-b60f4b21284e" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/FirstCreateTest\",\"deletedDate\":1629853039,\"scheduledPurgeDate\":1637629039,\"id\":\"https://REDACTED.vault.azure.net/secrets/FirstCreateTest/56aac59e2d59404abf1c2a6bd5e790e1\",\"attributes\":{\"enabled\":true,\"created\":1629853039,\"updated\":1629853039,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "377", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:57:49 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "4b8519f8-39eb-4917-6d4f-b60f4b21284e", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "4c68a5b3-c195-4e1b-8d97-d6b16f340e02", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/FirstCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "4f39f466-a211-40fd-5a48-0f53cce86fb3" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/FirstCreateTest\",\"deletedDate\":1629853039,\"scheduledPurgeDate\":1637629039,\"id\":\"https://REDACTED.vault.azure.net/secrets/FirstCreateTest/56aac59e2d59404abf1c2a6bd5e790e1\",\"attributes\":{\"enabled\":true,\"created\":1629853039,\"updated\":1629853039,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "377", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:57:49 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "4f39f466-a211-40fd-5a48-0f53cce86fb3", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "6ecaab0b-01e1-4472-b3df-581f6e4cbb2b", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/FirstCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "80ddbf36-0707-4ed3-4c3e-bf24b3caf67d" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 25 Aug 2021 00:57:49 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "80ddbf36-0707-4ed3-4c3e-bf24b3caf67d", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "cec4bc4a-e1cd-4077-baaa-bf82313f1f8e", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/FirstCreateTest?api-version=7.2" + } + ] +} diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.GetProperties.json b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.GetProperties.json new file mode 100644 index 000000000..8c7600bc7 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.GetProperties.json @@ -0,0 +1,324 @@ +{ + "networkCallRecords": [ + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "ee77a2e1-d03e-41d0-5659-6963af7d42bc" + }, + "Method": "PUT", + "Response": { + "BODY": "{\"value\":\"secretValue\",\"id\":\"https://REDACTED.vault.azure.net/secrets/GetProperties/c8fbd222f76d4e07b3cade8c946274db\",\"attributes\":{\"enabled\":true,\"created\":1629853317,\"updated\":1629853317,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "256", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:01:56 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "ee77a2e1-d03e-41d0-5659-6963af7d42bc", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "2fbbe426-51bb-4fa0-937c-e4d5cf850ef0", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/GetProperties?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "2743a78a-2c75-41a9-7fc3-1313b5d2e9d9" + }, + "Method": "PUT", + "Response": { + "BODY": "{\"value\":\"secretValue2\",\"id\":\"https://REDACTED.vault.azure.net/secrets/GetProperties2/70c1e752e6c04146aafeef3ca06c9dc9\",\"attributes\":{\"enabled\":true,\"created\":1629853317,\"updated\":1629853317,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "258", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:01:57 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "2743a78a-2c75-41a9-7fc3-1313b5d2e9d9", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "b67bba1f-d74c-4dd9-aae7-1f4fc6ffa99f", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/GetProperties2?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "c3eb37df-d68f-42cd-5527-e8b33357b85f" + }, + "Method": "GET", + "Response": { + "BODY": "{\"value\":[{\"id\":\"https://REDACTED.vault.azure.net/secrets/GetProperties\",\"attributes\":{\"enabled\":true,\"created\":1629853317,\"updated\":1629853317,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}},{\"id\":\"https://REDACTED.vault.azure.net/secrets/GetProperties2\",\"attributes\":{\"enabled\":true,\"created\":1629853317,\"updated\":1629853317,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}],\"nextLink\":null}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "432", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:01:57 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "c3eb37df-d68f-42cd-5527-e8b33357b85f", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "87735ddc-e758-4498-b663-3d881e7f5669", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "5357ef17-a511-4e28-7eb4-ef0165aa89df" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/GetProperties\",\"deletedDate\":1629853317,\"scheduledPurgeDate\":1637629317,\"id\":\"https://REDACTED.vault.azure.net/secrets/GetProperties/c8fbd222f76d4e07b3cade8c946274db\",\"attributes\":{\"enabled\":true,\"created\":1629853317,\"updated\":1629853317,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "373", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:01:57 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "5357ef17-a511-4e28-7eb4-ef0165aa89df", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "199ac992-8ffa-4857-bb29-d35034c181b1", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/GetProperties?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "ce4025a5-abbc-4b53-74cc-d27114bc1c0f" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: GetProperties\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "87", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:01:57 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "ce4025a5-abbc-4b53-74cc-d27114bc1c0f", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "4589e9ad-2ba2-49ad-b2b3-dd367b5f43d7", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/GetProperties?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "787bda0e-18ee-448b-4a35-c15f5b23c111" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/GetProperties\",\"deletedDate\":1629853317,\"scheduledPurgeDate\":1637629317,\"id\":\"https://REDACTED.vault.azure.net/secrets/GetProperties/c8fbd222f76d4e07b3cade8c946274db\",\"attributes\":{\"enabled\":true,\"created\":1629853317,\"updated\":1629853317,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "373", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:02:27 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "787bda0e-18ee-448b-4a35-c15f5b23c111", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "258b602a-c8a8-41e2-b7b8-b9f86007b933", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/GetProperties?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "90182806-7a15-4d4c-7a5f-67f517f6a551" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/GetProperties2\",\"deletedDate\":1629853348,\"scheduledPurgeDate\":1637629348,\"id\":\"https://REDACTED.vault.azure.net/secrets/GetProperties2/70c1e752e6c04146aafeef3ca06c9dc9\",\"attributes\":{\"enabled\":true,\"created\":1629853317,\"updated\":1629853317,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "375", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:02:27 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "90182806-7a15-4d4c-7a5f-67f517f6a551", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "79dec54f-1968-4aee-be7e-7a666c283fed", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/GetProperties2?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "15331201-68ee-4432-7701-661cc4e5f09f" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: GetProperties2\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "88", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:02:27 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "15331201-68ee-4432-7701-661cc4e5f09f", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "3fea359a-1177-4382-867b-a717142fbbef", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/GetProperties2?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "8bc27101-8046-4090-5dd5-1cec35270d9d" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/GetProperties2\",\"deletedDate\":1629853348,\"scheduledPurgeDate\":1637629348,\"id\":\"https://REDACTED.vault.azure.net/secrets/GetProperties2/70c1e752e6c04146aafeef3ca06c9dc9\",\"attributes\":{\"enabled\":true,\"created\":1629853317,\"updated\":1629853317,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "375", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:02:58 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "8bc27101-8046-4090-5dd5-1cec35270d9d", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "9eb64613-e3bd-462c-9a70-7016cb6a4171", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/GetProperties2?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "00573d0e-ee4a-4fb2-42bf-37a83fdb6722" + }, + "Method": "GET", + "Response": { + "BODY": "{\"value\":[{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/GetProperties\",\"deletedDate\":1629853317,\"scheduledPurgeDate\":1637629317,\"id\":\"https://REDACTED.vault.azure.net/secrets/GetProperties\",\"attributes\":{\"enabled\":true,\"created\":1629853317,\"updated\":1629853317,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}},{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/GetProperties2\",\"deletedDate\":1629853348,\"scheduledPurgeDate\":1637629348,\"id\":\"https://REDACTED.vault.azure.net/secrets/GetProperties2\",\"attributes\":{\"enabled\":true,\"created\":1629853317,\"updated\":1629853317,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}],\"nextLink\":null}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "711", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:02:58 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "00573d0e-ee4a-4fb2-42bf-37a83fdb6722", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "c054eaee-8f85-4b6f-9342-5b3fd3e76780", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "313edbc3-28a2-40ed-70ff-d3ed0700aff2" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 25 Aug 2021 01:02:58 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "313edbc3-28a2-40ed-70ff-d3ed0700aff2", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "6c197bf8-d6eb-4d16-862b-5261ed043bde", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/GetProperties?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "7228ceda-d49b-469a-7069-76ab501e8c63" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 25 Aug 2021 01:02:58 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "7228ceda-d49b-469a-7069-76ab501e8c63", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "f72db413-61ee-4dd0-a878-865f82600277", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/GetProperties2?api-version=7.2" + } + ] +} diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.Recover.json b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.Recover.json new file mode 100644 index 000000000..b85513d4c --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.Recover.json @@ -0,0 +1,380 @@ +{ + "networkCallRecords": [ + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "a91de568-0525-4737-5427-b246d277a96c" + }, + "Method": "PUT", + "Response": { + "BODY": "{\"value\":\"secretValue\",\"id\":\"https://REDACTED.vault.azure.net/secrets/Recover/d32d070c5e764f6383b45bcd39085e38\",\"attributes\":{\"enabled\":true,\"created\":1629853225,\"updated\":1629853225,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "250", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:00:24 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "a91de568-0525-4737-5427-b246d277a96c", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "89b90f4f-6727-4429-95df-800cae5deec0", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "75f41ce8-e450-4b36-50d9-09af3e8e93f0" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/Recover\",\"deletedDate\":1629853225,\"scheduledPurgeDate\":1637629225,\"id\":\"https://REDACTED.vault.azure.net/secrets/Recover/d32d070c5e764f6383b45bcd39085e38\",\"attributes\":{\"enabled\":true,\"created\":1629853225,\"updated\":1629853225,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "361", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:00:25 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "75f41ce8-e450-4b36-50d9-09af3e8e93f0", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "a51e5084-4782-4a02-82aa-1adb61f3f038", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "d0c01f77-2290-411a-5059-334cf5dd5340" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: Recover\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "81", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:00:25 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "d0c01f77-2290-411a-5059-334cf5dd5340", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "78810ad0-d46e-4ee6-8592-7c8db38fcdd8", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "5d217bfc-330f-48d5-74e9-800089281e02" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/Recover\",\"deletedDate\":1629853225,\"scheduledPurgeDate\":1637629225,\"id\":\"https://REDACTED.vault.azure.net/secrets/Recover/d32d070c5e764f6383b45bcd39085e38\",\"attributes\":{\"enabled\":true,\"created\":1629853225,\"updated\":1629853225,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "361", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:00:55 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "5d217bfc-330f-48d5-74e9-800089281e02", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "753bc4ce-ba78-4cf5-8762-6e3ebd7d0d5b", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "405d246e-4736-44e2-5a0f-b08ca0031c17" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/Recover\",\"deletedDate\":1629853225,\"scheduledPurgeDate\":1637629225,\"id\":\"https://REDACTED.vault.azure.net/secrets/Recover/d32d070c5e764f6383b45bcd39085e38\",\"attributes\":{\"enabled\":true,\"created\":1629853225,\"updated\":1629853225,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "361", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:00:55 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "405d246e-4736-44e2-5a0f-b08ca0031c17", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "24e2f4f8-b1d6-4972-b88e-bd93bceba90a", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "0384db4e-5be9-43a8-69ee-454be90bdb27" + }, + "Method": "POST", + "Response": { + "BODY": "{\"id\":\"https://REDACTED.vault.azure.net/secrets/Recover/d32d070c5e764f6383b45bcd39085e38\",\"attributes\":{\"enabled\":true,\"created\":1629853225,\"updated\":1629853225,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "228", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:00:55 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "0384db4e-5be9-43a8-69ee-454be90bdb27", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "a9efab38-3b22-4f52-8f68-1c72c4c19b5c", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/Recover/recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "aeeb5c6c-ad5f-448b-6ddc-27517a5bf487" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"A secret with (name/id) Recover was not found in this key vault. If you recently deleted this secret you may be able to recover it using the correct recovery command. For help resolving this issue, please see https://go.microsoft.com/fwlink/?linkid=2125182\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "304", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:00:56 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "aeeb5c6c-ad5f-448b-6ddc-27517a5bf487", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "c301912a-6cb9-49c4-a68e-c64c750fdc29", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "d8f9aa20-0340-4a66-773a-c2f83384cae2" + }, + "Method": "GET", + "Response": { + "BODY": "{\"value\":\"secretValue\",\"id\":\"https://REDACTED.vault.azure.net/secrets/Recover/d32d070c5e764f6383b45bcd39085e38\",\"attributes\":{\"enabled\":true,\"created\":1629853225,\"updated\":1629853225,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "250", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:01:25 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "d8f9aa20-0340-4a66-773a-c2f83384cae2", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "426b7f0e-b192-4868-9d68-bb1a43220c6d", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "fe6dec39-78aa-40cd-7112-6e3f6088c900" + }, + "Method": "GET", + "Response": { + "BODY": "{\"value\":\"secretValue\",\"id\":\"https://REDACTED.vault.azure.net/secrets/Recover/d32d070c5e764f6383b45bcd39085e38\",\"attributes\":{\"enabled\":true,\"created\":1629853225,\"updated\":1629853225,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "250", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:01:25 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "fe6dec39-78aa-40cd-7112-6e3f6088c900", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "05fe4634-5f0f-4964-9721-3b78ad5ff655", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "c85d657b-78f2-42f3-7ca0-fddae564fb50" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/Recover\",\"deletedDate\":1629853286,\"scheduledPurgeDate\":1637629286,\"id\":\"https://REDACTED.vault.azure.net/secrets/Recover/d32d070c5e764f6383b45bcd39085e38\",\"attributes\":{\"enabled\":true,\"created\":1629853225,\"updated\":1629853225,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "361", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:01:26 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "c85d657b-78f2-42f3-7ca0-fddae564fb50", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "adead180-fa7c-4aed-877e-103c40ebdb28", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "81de6b1e-45cc-4c00-4394-54e82f3e6c64" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: Recover\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "81", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:01:26 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "81de6b1e-45cc-4c00-4394-54e82f3e6c64", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "9c210dc4-e92c-4f9f-848d-e6a16080518f", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "cea2f5db-4697-4d06-5c4d-e1dabc5949e1" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/Recover\",\"deletedDate\":1629853286,\"scheduledPurgeDate\":1637629286,\"id\":\"https://REDACTED.vault.azure.net/secrets/Recover/d32d070c5e764f6383b45bcd39085e38\",\"attributes\":{\"enabled\":true,\"created\":1629853225,\"updated\":1629853225,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "361", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:01:56 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "cea2f5db-4697-4d06-5c4d-e1dabc5949e1", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "8333c6e8-5da2-4e9f-8916-13cc8975dbfa", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "1dc721fd-c78b-421b-41e8-532430abde4d" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/Recover\",\"deletedDate\":1629853286,\"scheduledPurgeDate\":1637629286,\"id\":\"https://REDACTED.vault.azure.net/secrets/Recover/d32d070c5e764f6383b45bcd39085e38\",\"attributes\":{\"enabled\":true,\"created\":1629853225,\"updated\":1629853225,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "361", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 01:01:56 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "1dc721fd-c78b-421b-41e8-532430abde4d", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "a49ac560-111c-496a-8136-dcb0a95ad726", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/Recover?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "94dbec06-4d69-41ce-4188-eedb5a74392c" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 25 Aug 2021 01:01:56 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "94dbec06-4d69-41ce-4188-eedb5a74392c", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "ca041a32-c35b-456c-a8c3-d15c266ad684", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/Recover?api-version=7.2" + } + ] +} diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.SecondCreateTest.json b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.SecondCreateTest.json new file mode 100644 index 000000000..c47d80fb2 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.SecondCreateTest.json @@ -0,0 +1,218 @@ +{ + "networkCallRecords": [ + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "f45c48bd-a813-4cbd-7471-f6b938b6c810" + }, + "Method": "PUT", + "Response": { + "BODY": "{\"value\":\"secretValue\",\"id\":\"https://REDACTED.vault.azure.net/secrets/SecondCreateTest/af19856a9ff74be6bf08fa3e5935f633\",\"attributes\":{\"enabled\":true,\"created\":1629853070,\"updated\":1629853070,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "259", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:57:49 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "f45c48bd-a813-4cbd-7471-f6b938b6c810", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "790839ef-be30-4a87-ac37-110c5c914028", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/SecondCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "96d58dad-32ac-43d9-7ff1-a1b8fd35b0cf" + }, + "Method": "PUT", + "Response": { + "BODY": "{\"value\":\"secretValue2\",\"id\":\"https://REDACTED.vault.azure.net/secrets/SecondCreateTest/9f5f5da65dc940be89d55a9712e4dc0b\",\"attributes\":{\"enabled\":true,\"created\":1629853070,\"updated\":1629853070,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "260", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:57:49 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "96d58dad-32ac-43d9-7ff1-a1b8fd35b0cf", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "ea11f0b5-7e78-434e-995e-d78067763a67", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/SecondCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "282f7f6a-1359-48e7-65ee-339eb8bd8e28" + }, + "Method": "GET", + "Response": { + "BODY": "{\"value\":[{\"id\":\"https://REDACTED.vault.azure.net/secrets/SecondCreateTest/9f5f5da65dc940be89d55a9712e4dc0b\",\"attributes\":{\"enabled\":true,\"created\":1629853070,\"updated\":1629853070,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}},{\"id\":\"https://REDACTED.vault.azure.net/secrets/SecondCreateTest/af19856a9ff74be6bf08fa3e5935f633\",\"attributes\":{\"enabled\":true,\"created\":1629853070,\"updated\":1629853070,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}],\"nextLink\":null}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "503", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:57:49 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "282f7f6a-1359-48e7-65ee-339eb8bd8e28", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "8bbc61a3-d6d9-4f96-9b55-cd4e1e06f109", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/SecondCreateTest/versions?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "f8efcda3-5a66-4679-6add-aeeb0b05d7fd" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/SecondCreateTest\",\"deletedDate\":1629853070,\"scheduledPurgeDate\":1637629070,\"id\":\"https://REDACTED.vault.azure.net/secrets/SecondCreateTest/9f5f5da65dc940be89d55a9712e4dc0b\",\"attributes\":{\"enabled\":true,\"created\":1629853070,\"updated\":1629853070,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "379", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:57:49 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "f8efcda3-5a66-4679-6add-aeeb0b05d7fd", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "73f94cfd-da41-4955-8c96-45963f9deaa8", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/SecondCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "f0b66db3-fadc-4631-667f-11215c3f46d5" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: SecondCreateTest\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "90", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:57:49 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "f0b66db3-fadc-4631-667f-11215c3f46d5", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "d1cdcc40-7a5f-48e8-a45b-b54b8def9513", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/SecondCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "be182b8a-afc4-4f59-5b2b-7cd9c99e8e5e" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/SecondCreateTest\",\"deletedDate\":1629853070,\"scheduledPurgeDate\":1637629070,\"id\":\"https://REDACTED.vault.azure.net/secrets/SecondCreateTest/9f5f5da65dc940be89d55a9712e4dc0b\",\"attributes\":{\"enabled\":true,\"created\":1629853070,\"updated\":1629853070,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "379", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:20 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "be182b8a-afc4-4f59-5b2b-7cd9c99e8e5e", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "2de470e1-bc8e-46f9-92b0-05dd111122df", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/SecondCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "61d1909d-33b1-4d71-7d69-0d249d41298d" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/SecondCreateTest\",\"deletedDate\":1629853070,\"scheduledPurgeDate\":1637629070,\"id\":\"https://REDACTED.vault.azure.net/secrets/SecondCreateTest/9f5f5da65dc940be89d55a9712e4dc0b\",\"attributes\":{\"enabled\":true,\"created\":1629853070,\"updated\":1629853070,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "379", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:20 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "61d1909d-33b1-4d71-7d69-0d249d41298d", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "a383ccaa-7ae8-4be6-9ac9-217e26495662", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/SecondCreateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "920db049-605a-4cdc-755f-d52437116b69" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 25 Aug 2021 00:58:20 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "920db049-605a-4cdc-755f-d52437116b69", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "bdc91da2-4533-44f3-bf2d-8c4bc4e9d7a2", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/SecondCreateTest?api-version=7.2" + } + ] +} diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.UpdateTest.json b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.UpdateTest.json new file mode 100644 index 000000000..2608bd5d0 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/recordings/KeyVaultSecretClientTest.UpdateTest.json @@ -0,0 +1,218 @@ +{ + "networkCallRecords": [ + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "860a7f72-645e-4af9-42d4-86a178f9a7e0" + }, + "Method": "PUT", + "Response": { + "BODY": "{\"value\":\"secretValue\",\"id\":\"https://REDACTED.vault.azure.net/secrets/UpdateTest/62909adf7f044dc8b1838da90306af40\",\"attributes\":{\"enabled\":true,\"created\":1629853101,\"updated\":1629853101,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "253", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:20 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "860a7f72-645e-4af9-42d4-86a178f9a7e0", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "abc88304-587a-419f-886d-b6e218cdc885", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/UpdateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "5c97e748-2385-4aa6-71bb-3c5f6196922b" + }, + "Method": "GET", + "Response": { + "BODY": "{\"value\":\"secretValue\",\"id\":\"https://REDACTED.vault.azure.net/secrets/UpdateTest/62909adf7f044dc8b1838da90306af40\",\"attributes\":{\"enabled\":true,\"created\":1629853101,\"updated\":1629853101,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "253", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:20 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "5c97e748-2385-4aa6-71bb-3c5f6196922b", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "53074230-cf36-419e-923e-1e994622c11f", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/UpdateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "68fd4f00-7d1c-4541-7316-1ae4210a3ede" + }, + "Method": "PATCH", + "Response": { + "BODY": "{\"contentType\":\"xyz\",\"id\":\"https://REDACTED.vault.azure.net/secrets/UpdateTest/62909adf7f044dc8b1838da90306af40\",\"attributes\":{\"enabled\":true,\"created\":1629853101,\"updated\":1629853101,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "261", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:21 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "68fd4f00-7d1c-4541-7316-1ae4210a3ede", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "20bdea20-2b0e-45c6-80f7-5bc3cb3d0aaf", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/UpdateTest/62909adf7f044dc8b1838da90306af40?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "18cb8b2e-dc81-46ee-5009-65756e5ed08a" + }, + "Method": "DELETE", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/UpdateTest\",\"deletedDate\":1629853101,\"scheduledPurgeDate\":1637629101,\"contentType\":\"xyz\",\"id\":\"https://REDACTED.vault.azure.net/secrets/UpdateTest/62909adf7f044dc8b1838da90306af40\",\"attributes\":{\"enabled\":true,\"created\":1629853101,\"updated\":1629853101,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "397", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:21 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "18cb8b2e-dc81-46ee-5009-65756e5ed08a", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "d5175712-3734-4756-88b2-6362ca8dac03", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/secrets/UpdateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "515489fd-ca27-48ef-494b-d8cac0f7ed58" + }, + "Method": "GET", + "Response": { + "BODY": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: UpdateTest\"}}", + "STATUS_CODE": "404", + "cache-control": "no-cache", + "content-length": "84", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:21 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "515489fd-ca27-48ef-494b-d8cac0f7ed58", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "862db230-939c-412c-8d6e-c2e057de5505", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/UpdateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "974e8b60-93d0-4f2a-4e20-bde5c1022c2d" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/UpdateTest\",\"deletedDate\":1629853101,\"scheduledPurgeDate\":1637629101,\"contentType\":\"xyz\",\"id\":\"https://REDACTED.vault.azure.net/secrets/UpdateTest/62909adf7f044dc8b1838da90306af40\",\"attributes\":{\"enabled\":true,\"created\":1629853101,\"updated\":1629853101,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "397", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:51 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "974e8b60-93d0-4f2a-4e20-bde5c1022c2d", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "7b406f0e-7781-4dd0-8a13-39823f7f8d9f", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/UpdateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "e9f78660-c0d0-4069-7755-4e16ea1fe2a2" + }, + "Method": "GET", + "Response": { + "BODY": "{\"recoveryId\":\"https://REDACTED.vault.azure.net/deletedsecrets/UpdateTest\",\"deletedDate\":1629853101,\"scheduledPurgeDate\":1637629101,\"contentType\":\"xyz\",\"id\":\"https://REDACTED.vault.azure.net/secrets/UpdateTest/62909adf7f044dc8b1838da90306af40\",\"attributes\":{\"enabled\":true,\"created\":1629853101,\"updated\":1629853101,\"recoveryLevel\":\"Recoverable+Purgeable\",\"recoverableDays\":90},\"tags\":{}}", + "STATUS_CODE": "200", + "cache-control": "no-cache", + "content-length": "397", + "content-type": "application/json; charset=utf-8", + "date": "Wed, 25 Aug 2021 00:58:51 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "e9f78660-c0d0-4069-7755-4e16ea1fe2a2", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "24e12a7c-a69c-42dd-a6bf-c8923a19bb68", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/UpdateTest?api-version=7.2" + }, + { + "Headers": { + "content-type": "application/json", + "user-agent": "azsdk-cpp-keyvault-secrets/7.2 (Windows 10 Enterprise 6.3 19043 19041.1.amd64fre.vb_release.191206-1406)", + "x-ms-client-request-id": "009adbf7-a137-413d-4b28-10f79c48616e" + }, + "Method": "DELETE", + "Response": { + "BODY": "", + "STATUS_CODE": "204", + "cache-control": "no-cache", + "date": "Wed, 25 Aug 2021 00:58:51 GMT", + "expires": "-1", + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-client-request-id": "009adbf7-a137-413d-4b28-10f79c48616e", + "x-ms-keyvault-network-info": "conn_type=Ipv4;addr=24.22.157.72;act_addr_fam=InterNetwork;", + "x-ms-keyvault-region": "westus2", + "x-ms-keyvault-service-version": "1.9.79.1", + "x-ms-request-id": "32a52b11-d7af-41c4-baef-101377e968a7", + "x-powered-by": "ASP.NET" + }, + "Url": "https://REDACTED.vault.azure.net/deletedsecrets/UpdateTest?api-version=7.2" + } + ] +} diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/secret_client_base_test.hpp b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/secret_client_base_test.hpp new file mode 100644 index 000000000..fe586495c --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/secret_client_base_test.hpp @@ -0,0 +1,221 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// SPDX-License-Identifier: MIT + +/** + * @file + * @brief The base class to construct and init a Key Vault client. + * + */ +#include + +#include +#include +#include + +using namespace std::chrono_literals; + +namespace Azure { namespace Security { namespace KeyVault { namespace Secrets { namespace _test { + /** + * @brief Client Secret Credential authenticates with the Azure services using a Tenant ID, Client + * ID and a client secret. + * + */ + class TestClientSecretCredential final : public Core::Credentials::TokenCredential { + public: + Core::Credentials::AccessToken GetToken( + Core::Credentials::TokenRequestContext const& tokenRequestContext, + Core::Context const& context) const override + { + Core::Credentials::AccessToken accessToken; + accessToken.Token = "magicToken"; + accessToken.ExpiresOn = DateTime::max(); + + if (context.IsCancelled() || tokenRequestContext.Scopes.size() == 0) + { + accessToken.ExpiresOn = DateTime::min(); + } + + return accessToken; + } + }; + class KeyVaultSecretClientTest : public Azure::Core::Test::TestBase, + public ::testing::WithParamInterface { + private: + std::unique_ptr m_client; + std::string GetEnv(const std::string& name, std::string const& defaultValue = std::string()) + { +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable : 4996) + const char* ret = std::getenv(name.data()); +#pragma warning(pop) +#else + const char* ret = std::getenv(name.data()); +#endif + + if (!ret) + { + if (!defaultValue.empty()) + { + return defaultValue; + } + + throw std::runtime_error( + name + " is required to run the tests but not set as an environment variable."); + } + + return std::string(ret); + } + + protected: + int m_testPollingTimeOutMinutes = 20; + std::chrono::minutes m_testPollingIntervalMinutes = std::chrono::minutes(1); + std::shared_ptr m_credential; + std::shared_ptr m_testCredential; + std::string m_keyVaultUrl; + std::string m_keyVaultHsmUrl; + std::chrono::milliseconds m_defaultWait; + + Azure::Security::KeyVault::Secrets::SecretClient const& GetClientForTest( + std::string const& testName) + { + //_putenv_s("AZURE_TEST_MODE", "PLAYBACK"); + // keep this here to quickly switch between test modes + InitializeClient(); + // set the interceptor for the current test + m_testContext.RenameTest(testName); + return *m_client; + } + + // Create + void InitializeClient() + { + // Init interceptor from PlayBackRecorder + std::string recordingPath(AZURE_TEST_RECORDING_DIR); + recordingPath.append("/recordings"); + Azure::Core::Test::TestBase::SetUpBase(recordingPath); + + std::string tenantId = GetEnv("AZURE_TENANT_ID", "tenant"); + std::string clientId = GetEnv("AZURE_CLIENT_ID", "client"); + std::string secretId = GetEnv("AZURE_CLIENT_SECRET", "secret"); + + m_keyVaultUrl = GetEnv("AZURE_KEYVAULT_URL", "https://REDACTED.vault.azure.net/"); + m_keyVaultHsmUrl = GetEnv("AZURE_KEYVAULT_HSM_URL", "https://REDACTED.vault.azure.net/"); + + // Create default client for the test + SecretClientOptions options; + // Replace default transport adapter for playback + if (m_testContext.IsPlaybackMode()) + { + options.Transport.Transport = m_interceptor->GetPlaybackClient(); + } + // Insert Recording policy when Record mode is on (non playback and non LiveMode) + else if (!m_testContext.IsLiveMode()) + { + // AZURE_TEST_RECORDING_DIR is exported by CMAKE + options.PerRetryPolicies.push_back(m_interceptor->GetRecordPolicy()); + } + + if (m_testContext.IsPlaybackMode()) + { // inject fake token client here if it's test + m_testCredential = std::make_shared(); + m_client = std::make_unique(m_keyVaultUrl, m_testCredential, options); + // we really dont need to wait for results + m_defaultWait = 1ms; + } + else + { + m_credential = std::make_shared( + tenantId, clientId, secretId); + m_client = std::make_unique(m_keyVaultUrl, m_credential, options); + m_defaultWait = 30s; + } + + // When running live tests, service can return 429 error response if the client is sending + // multiple requests per second. This can happen if the network is fast and tests are running + // without any delay between them. + auto avoidTestThrottled = GetEnv("AZURE_KEYVAULT_AVOID_THROTTLED", "0"); + + if (avoidTestThrottled != "0") + { + std::cout << "- Wait to avoid server throttled..." << std::endl; + // 10 sec should be enough to prevent from 429 error + std::this_thread::sleep_for(std::chrono::seconds(10)); + } + } + + public: + template + static inline void CheckValidResponse( + Azure::Response& response, + Azure::Core::Http::HttpStatusCode expectedCode = Azure::Core::Http::HttpStatusCode::Ok) + { + auto const& rawResponse = response.RawResponse; + EXPECT_EQ( + static_cast::type>( + rawResponse->GetStatusCode()), + static_cast::type>( + expectedCode)); + } + + static inline std::string GetUniqueName() { return Azure::Core::Uuid::CreateUuid().ToString(); } + + static inline void CleanUpKeyVault(SecretClient const& secretClient) + { + + std::vector deletedSecrets; + for (auto secretResponse = secretClient.GetDeletedSecrets(); secretResponse.HasPage(); + secretResponse.MoveToNextPage()) + { + for (auto& secret : secretResponse.Items) + { + deletedSecrets.emplace_back(secret); + } + } + if (deletedSecrets.size() > 0) + { + for (auto& deletedSecret : deletedSecrets) + { + secretClient.PurgeDeletedSecret(deletedSecret.Name); + } + // Wait for purge is completed + std::this_thread::sleep_for(std::chrono::minutes(1)); + } + } + + static inline void RemoveAllSecretsFromVault( + SecretClient const& secretClient, + bool waitForPurge = true) + { + std::vector deletedSecrets; + GetPropertiesOfSecretsOptions options; + for (auto secretResponse = secretClient.GetPropertiesOfSecrets(); secretResponse.HasPage(); + secretResponse.MoveToNextPage()) + { + for (auto& secret : secretResponse.Items) + { + deletedSecrets.emplace_back(secretClient.StartDeleteSecret(secret.Name)); + } + } + if (deletedSecrets.size() > 0) + { + std::cout << std::endl + << "Cleaning vault. " << deletedSecrets.size() + << " Will be deleted and purged now..."; + for (auto& deletedSecret : deletedSecrets) + { + auto readyToPurgeSecret = deletedSecret.PollUntilDone(std::chrono::minutes(1)); + secretClient.PurgeDeletedSecret(readyToPurgeSecret.Value.Name); + std::cout << std::endl << "Deleted and purged secret: " + readyToPurgeSecret.Value.Name; + } + std::cout << std::endl << "Complete purge operation."; + // Wait for purge is completed + if (waitForPurge) + { + std::this_thread::sleep_for(std::chrono::minutes(1)); + } + } + } + }; + +}}}}} // namespace Azure::Security::KeyVault::Secrets::_test diff --git a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/secret_client_test.cpp b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/secret_client_test.cpp index 8c9e7ec7b..8851bf1fd 100644 --- a/sdk/keyvault/azure-security-keyvault-secrets/test/ut/secret_client_test.cpp +++ b/sdk/keyvault/azure-security-keyvault-secrets/test/ut/secret_client_test.cpp @@ -1,16 +1,14 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // SPDX-License-Identifier: MIT -#include "azure/core/context.hpp" #include "azure/identity/client_secret_credential.hpp" -#include "azure/keyvault/secrets/secret_client.hpp" - -#include +#include "secret_client_base_test.hpp" +#include #include -#include +using namespace std::chrono_literals; using namespace Azure::Security::KeyVault::Secrets; - +using namespace Azure::Security::KeyVault::Secrets::_test; TEST(SecretClient, InitClient) { auto credential @@ -52,3 +50,280 @@ TEST(SecretClient, GetUrl) SecretClient secretClient(url, credential); EXPECT_EQ(url, secretClient.GetUrl()); } + +TEST_F(KeyVaultSecretClientTest, FirstCreateTest) +{ + auto secretName = "FirstCreateTest"; + auto const& client + = GetClientForTest(::testing::UnitTest::GetInstance()->current_test_info()->name()); + + { + auto secretResponse = client.SetSecret(secretName, "secretValue"); + CheckValidResponse(secretResponse); + auto secret = secretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + // Now get the key + auto secretResponse = client.GetSecret(secretName); + CheckValidResponse(secretResponse); + auto secret = secretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + auto operation = client.StartDeleteSecret(secretName); + operation.PollUntilDone(m_defaultWait); + auto deletedSecretResponse = client.GetDeletedSecret(secretName); + CheckValidResponse(deletedSecretResponse); + auto secret = deletedSecretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + auto purgedResponse = client.PurgeDeletedSecret(secretName); + CheckValidResponse(purgedResponse, Azure::Core::Http::HttpStatusCode::NoContent); + } +} + +TEST_F(KeyVaultSecretClientTest, SecondCreateTest) +{ + auto secretName = "SecondCreateTest"; + auto const& client + = GetClientForTest(::testing::UnitTest::GetInstance()->current_test_info()->name()); + std::string version1; + std::string version2; + { + auto secretResponse = client.SetSecret(secretName, "secretValue"); + CheckValidResponse(secretResponse); + auto secret = secretResponse.Value; + version1 = secret.Properties.Version; + EXPECT_EQ(secret.Name, secretName); + } + { + auto secretResponse = client.SetSecret(secretName, "secretValue2"); + CheckValidResponse(secretResponse); + auto secret = secretResponse.Value; + version2 = secret.Properties.Version; + EXPECT_EQ(secret.Name, secretName); + } + { + auto secretResponse = client.GetPropertiesOfSecretsVersions(secretName); + EXPECT_EQ(secretResponse.Items.size(), size_t(2)); + EXPECT_TRUE( + secretResponse.Items[0].Version == version1 || secretResponse.Items[0].Version == version2); + EXPECT_TRUE( + secretResponse.Items[1].Version == version1 || secretResponse.Items[1].Version == version2); + } + { + auto operation = client.StartDeleteSecret(secretName); + operation.PollUntilDone(m_defaultWait); + auto deletedSecretResponse = client.GetDeletedSecret(secretName); + CheckValidResponse(deletedSecretResponse); + auto secret = deletedSecretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + auto purgedResponse = client.PurgeDeletedSecret(secretName); + CheckValidResponse(purgedResponse, Azure::Core::Http::HttpStatusCode::NoContent); + } +} + +TEST_F(KeyVaultSecretClientTest, UpdateTest) +{ + auto secretName = "UpdateTest"; + SecretProperties properties; + auto const& client + = GetClientForTest(::testing::UnitTest::GetInstance()->current_test_info()->name()); + { + auto secretResponse = client.SetSecret(secretName, "secretValue"); + CheckValidResponse(secretResponse); + auto secret = secretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + // Now get the key + auto secretResponse = client.GetSecret(secretName); + CheckValidResponse(secretResponse); + auto secret = secretResponse.Value; + properties = secret.Properties; + EXPECT_EQ(secret.Name, secretName); + } + { + properties.ContentType = "xyz"; + UpdateSecretPropertiesOptions options; + auto props = properties; + auto secretResponse = client.UpdateSecretProperties(properties); + CheckValidResponse(secretResponse); + auto secret = secretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + EXPECT_EQ(secret.Properties.ContentType.Value(), properties.ContentType.Value()); + } + { + auto operation = client.StartDeleteSecret(secretName); + operation.PollUntilDone(m_defaultWait); + auto deletedSecretResponse = client.GetDeletedSecret(secretName); + CheckValidResponse(deletedSecretResponse); + auto secret = deletedSecretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + auto purgedResponse = client.PurgeDeletedSecret(secretName); + CheckValidResponse(purgedResponse, Azure::Core::Http::HttpStatusCode::NoContent); + } +} + +TEST_F(KeyVaultSecretClientTest, BackupRestore) +{ + auto secretName = "BackupRestore"; + BackupSecretResult backupData; + auto const& client + = GetClientForTest(::testing::UnitTest::GetInstance()->current_test_info()->name()); + + { + auto secretResponse = client.SetSecret(secretName, "secretValue"); + CheckValidResponse(secretResponse); + auto secret = secretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + auto backup = client.BackupSecret(secretName); + CheckValidResponse(backup); + backupData = backup.Value; + } + { + auto operation = client.StartDeleteSecret(secretName); + operation.PollUntilDone(m_defaultWait); + auto deletedSecretResponse = client.GetDeletedSecret(secretName); + CheckValidResponse(deletedSecretResponse); + auto secret = deletedSecretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + auto purgedResponse = client.PurgeDeletedSecret(secretName); + CheckValidResponse(purgedResponse, Azure::Core::Http::HttpStatusCode::NoContent); + std::this_thread::sleep_for(m_defaultWait); + } + { + auto restore = client.RestoreSecretBackup(backupData); + CheckValidResponse(restore); + auto restored = restore.Value; + EXPECT_EQ(restored.Name, secretName); + } + { + auto operation = client.StartDeleteSecret(secretName); + operation.PollUntilDone(m_defaultWait); + auto deletedSecretResponse = client.GetDeletedSecret(secretName); + CheckValidResponse(deletedSecretResponse); + auto secret = deletedSecretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + auto purgedResponse = client.PurgeDeletedSecret(secretName); + CheckValidResponse(purgedResponse, Azure::Core::Http::HttpStatusCode::NoContent); + } +} + +TEST_F(KeyVaultSecretClientTest, Recover) +{ + auto secretName = "Recover"; + std::vector backupData; + auto const& client + = GetClientForTest(::testing::UnitTest::GetInstance()->current_test_info()->name()); + + { + auto secretResponse = client.SetSecret(secretName, "secretValue"); + CheckValidResponse(secretResponse); + auto secret = secretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + auto operation = client.StartDeleteSecret(secretName); + operation.PollUntilDone(m_defaultWait); + EXPECT_EQ(operation.GetResumeToken(), secretName); + EXPECT_EQ(operation.HasValue(), true); + auto operationResult = operation.Value(); + auto deletedSecretResponse = client.GetDeletedSecret(secretName); + CheckValidResponse(deletedSecretResponse); + auto secret = deletedSecretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + EXPECT_EQ(operationResult.Name, secretName); + EXPECT_EQ(operation.GetRawResponse().GetStatusCode(), Azure::Core::Http::HttpStatusCode::Ok); + } + { + auto operation = client.StartRecoverDeletedSecret(secretName); + operation.PollUntilDone(m_defaultWait); + EXPECT_EQ(operation.GetResumeToken(), secretName); + EXPECT_EQ(operation.HasValue(), true); + auto operationResult = operation.Value(); + auto restoredSecret = client.GetSecret(secretName); + auto secret = restoredSecret.Value; + EXPECT_EQ(secret.Name, secretName); + EXPECT_EQ(operationResult.Name, secretName); + EXPECT_EQ(operation.GetRawResponse().GetStatusCode(), Azure::Core::Http::HttpStatusCode::Ok); + } + { + auto operation = client.StartDeleteSecret(secretName); + operation.PollUntilDone(m_defaultWait); + auto deletedSecretResponse = client.GetDeletedSecret(secretName); + CheckValidResponse(deletedSecretResponse); + auto secret = deletedSecretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + auto purgedResponse = client.PurgeDeletedSecret(secretName); + CheckValidResponse(purgedResponse, Azure::Core::Http::HttpStatusCode::NoContent); + } +} +TEST_F(KeyVaultSecretClientTest, GetProperties) +{ + auto secretName = "GetProperties"; + auto secretName2 = "GetProperties2"; + + auto const& client + = GetClientForTest(::testing::UnitTest::GetInstance()->current_test_info()->name()); + { + auto secretResponse = client.SetSecret(secretName, "secretValue"); + CheckValidResponse(secretResponse); + auto secret = secretResponse.Value; + EXPECT_EQ(secret.Name, secretName); + } + { + auto secretResponse = client.SetSecret(secretName2, "secretValue2"); + CheckValidResponse(secretResponse); + auto secret = secretResponse.Value; + EXPECT_EQ(secret.Name, secretName2); + } + { + auto secretResponse = client.GetPropertiesOfSecrets(); + EXPECT_EQ(secretResponse.Items.size(), size_t(2)); + EXPECT_TRUE( + secretResponse.Items[0].Name == secretName || secretResponse.Items[0].Name == secretName2); + EXPECT_TRUE( + secretResponse.Items[1].Name == secretName || secretResponse.Items[1].Name == secretName2); + } + { + auto operation = client.StartDeleteSecret(secretName); + operation.PollUntilDone(m_defaultWait); + } + { + auto operation = client.StartDeleteSecret(secretName2); + operation.PollUntilDone(m_defaultWait); + } + { + auto deletedResponse = client.GetDeletedSecrets(); + EXPECT_EQ(deletedResponse.Items.size(), size_t(2)); + EXPECT_TRUE( + deletedResponse.Items[0].Name == secretName + || deletedResponse.Items[0].Name == secretName2); + EXPECT_TRUE( + deletedResponse.Items[1].Name == secretName + || deletedResponse.Items[1].Name == secretName2); + } + { + auto purgedResponse = client.PurgeDeletedSecret(secretName); + CheckValidResponse(purgedResponse, Azure::Core::Http::HttpStatusCode::NoContent); + } + { + auto purgedResponse = client.PurgeDeletedSecret(secretName2); + CheckValidResponse(purgedResponse, Azure::Core::Http::HttpStatusCode::NoContent); + } +} diff --git a/sdk/keyvault/test-resources.json b/sdk/keyvault/test-resources.json index 71c8cf4c1..99d7aa2a8 100644 --- a/sdk/keyvault/test-resources.json +++ b/sdk/keyvault/test-resources.json @@ -195,20 +195,7 @@ "keySize": "[parameters('keySize')]", "curveName": "[parameters('curveName')]" } - }, - { - "type": "Microsoft.KeyVault/vaults/secrets", - "apiVersion": "2019-09-01", - "name": "[concat(parameters('baseName'), '/', parameters('secretName'))]", - "location": "[parameters('location')]", - "dependsOn": [ - "[resourceId('Microsoft.KeyVault/vaults', parameters('baseName'))]" - ], - "properties": { - "value": "azbxyzabcxyz" - } } - ], "outputs": { "AZURE_KEYVAULT_URL": {