using Dpz.Core.Infrastructure;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
namespace Dpz.Core.Backup.Test;
public class BackupRestoreTest
{
private IConfiguration? _configuration;
[SetUp]
public void Setup()
{
var objectSerializer = new ObjectSerializer(_ => true);
BsonSerializer.RegisterSerializer(objectSerializer);
var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.Test.json")
.Build();
_configuration = config;
}
[Test]
public async Task BackupTest()
{
ILogger<BackupRestore> logger = new Logger<BackupRestore>(new NullLoggerFactory());
IBackupRestore backupRestore = new BackupRestore(logger, _configuration!);
var connectionString = "mongodb://localhost:27017,localhost:37017/dpz";
await backupRestore.BackupAsync(connectionString);
}
[Test]
public async Task RestoreTest()
{
ILogger<BackupRestore> logger = new Logger<BackupRestore>(new NullLoggerFactory());
IBackupRestore backupRestore = new BackupRestore(logger, _configuration!);
var connectionString = "mongodb://localhost:27017,localhost:37017/dpz";
await backupRestore.RestoreAsync(connectionString);
}
}