private VaultFileRepository CreateDefault()
        {
            VaultFileRepository vault = new VaultFileRepository(FileSystemMock.Object,
                                                                VaultStorageFolder,
                                                                VaultFileExtension,
                                                                SymetricCryptographerMock.Object,
                                                                SerializerMock.Object,
                                                                ClockProvider.Object,
                                                                VaultFileMetadataHandler.Object);

            ClockProvider.Setup(mock => mock.GetNow()).Returns(DateTime.Now);

            return(vault);
        }
        public IVaultRepository CreateInstance()
        {
            var fileRepository = new VaultFileRepository(FileSystem, ServerConfigurationReader.GetConfiguration().VaultsFolder, Constants.VAULT_FILE_NAME_EXTENSION,
                                                         SymetricCryptographer, Serializer, ClockProvider, VaultFileMetadataHandler);

            if (string.IsNullOrWhiteSpace(ServerConfigurationReader.GetConfiguration().BackupFolder))
            {
                //No backup
                return(fileRepository);
            }
            else
            {
                return(new VaultFileBackupRepositoryDecorator(fileRepository, ServerConfigurationReader.GetConfiguration().BackupFolder, Constants.VAULT_FILE_NAME_EXTENSION,
                                                              Serializer, FileSystem, SymetricCryptographer, ClockProvider, VaultFileMetadataHandler));
            }
        }