public async Task WhenEncryptionKeyIsNullOrEmpty_DoesNotEncryptHMACSecretInFile(string nullOrEmpty)
            {
                using (var sut = new FileSystemClientStore(_fileManager, _signatureAlgorithmDataRecordConverter, nullOrEmpty)) {
                    var hmac   = new HMACSignatureAlgorithm("s3cr3t", HashAlgorithmName.SHA384);
                    var client = new Client(
                        "c1",
                        "app one",
                        hmac,
                        TimeSpan.FromMinutes(1),
                        TimeSpan.FromMinutes(2),
                        RequestTargetEscaping.RFC2396,
                        new Claim("company", "Dalion"),
                        new Claim("scope", "HttpMessageSigning"));
                    await sut.Register(client);

                    var dataRecords = await _fileManager.Read();

                    var loaded = dataRecords.Single(r => r.Id == client.Id);

                    loaded.SigAlg.Param.Should().NotBeNullOrEmpty();
                    var unencryptedKey = Encoding.UTF8.GetString(hmac.Key);
                    loaded.SigAlg.Param.Should().Be($"<Secret>{unencryptedKey}</Secret>");
                    loaded.SigAlg.Encrypted.Should().BeFalse();
                }
            }
        public FileSystemClientStoreTests()
        {
            var tempFilePath = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".xml");

            _fileManager = new ClientsFileManager(
                new FileReader(),
                new FileWriter(),
                tempFilePath,
                new ClientDataRecordSerializer());
            var encryptionKey = new SharedSecretEncryptionKey("The_Big_Secret");

            _signatureAlgorithmDataRecordConverter = new SignatureAlgorithmDataRecordConverter(new FakeStringProtectorFactory());
            _sut = new FileSystemClientStore(_fileManager, _signatureAlgorithmDataRecordConverter, encryptionKey);
        }