Add adaptive packet loss handling
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using Microsoft.Data.Sqlite;
|
||||
using VoiceCat.Server.Data;
|
||||
using Voicecat.V1;
|
||||
|
||||
namespace VoiceCat.Tests;
|
||||
|
||||
@@ -56,7 +57,7 @@ public sealed class AccountStoreTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void VersionTwoDatabaseMigratesDredAsDisabled()
|
||||
public void VersionTwoDatabaseMigratesDredAndAdaptiveLossAsDisabled()
|
||||
{
|
||||
string directory = Path.Combine(Path.GetTempPath(), "voicecat-v2-" + Guid.NewGuid().ToString("N"));
|
||||
Directory.CreateDirectory(directory);
|
||||
@@ -68,18 +69,22 @@ public sealed class AccountStoreTests
|
||||
{
|
||||
connection.Open();
|
||||
using var command = connection.CreateCommand();
|
||||
command.CommandText = "ALTER TABLE channels DROP COLUMN audio_dred; UPDATE server_meta SET value='2' WHERE key='schema_version';";
|
||||
command.CommandText = "ALTER TABLE channels DROP COLUMN audio_dred; ALTER TABLE channels DROP COLUMN audio_packet_loss_mode; UPDATE server_meta SET value='2' WHERE key='schema_version';";
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
|
||||
using (var migrated = new AccountStore(path))
|
||||
Assert.All(migrated.LoadChannels(), channel => Assert.False(channel.Audio.Dred));
|
||||
Assert.All(migrated.LoadChannels(), channel =>
|
||||
{
|
||||
Assert.False(channel.Audio.Dred);
|
||||
Assert.Equal(PacketLossMode.PacketLossManual, channel.Audio.PacketLossMode);
|
||||
});
|
||||
|
||||
using var verify = new SqliteConnection(new SqliteConnectionStringBuilder { DataSource = path, Pooling = false }.ToString());
|
||||
verify.Open();
|
||||
using var query = verify.CreateCommand();
|
||||
query.CommandText = "SELECT value FROM server_meta WHERE key='schema_version'";
|
||||
Assert.Equal("3", query.ExecuteScalar());
|
||||
Assert.Equal("4", query.ExecuteScalar());
|
||||
}
|
||||
finally { Directory.Delete(directory, true); }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user