patbef-ServiceOutside/ServiceOutsideTests/Database.cs

100 lines
4.5 KiB
C#
Raw Normal View History

2024-01-29 16:27:34 +01:00
using NUnit.Framework;
using ServiceShared.Crypto;
using System;
using static ServiceShared.Models.Database.Device;
using static ServiceShared.Models.Database.Results;
namespace ServiceOutsideTests
{
public class Database : Controllers.BaseTestController
{
// [Test]
public void Insert10kResults()
{
KeyPair keyPair = Curve25519.GenerateKeyPair();
ServiceShared.Database.Controllers.Results dbResults = new ServiceShared.Database.Controllers.Results(this.dbContext);
ServiceShared.Database.Controllers.Traces dbTraces = new ServiceShared.Database.Controllers.Traces(this.dbContext);
int dbResultsCount = this.DbCountResults();
int dbTraceCount = this.DbCountTraces();
int numer_tests = 10000;
for (int i = 0; i < numer_tests; i++)
{
ServiceShared.Models.Database.Results results = new ServiceShared.Models.Database.Results();
results.Available = true;
results.AvailableTS = DateTime.Now;
results.Status = ResultsStatus.COMPLETED;
results.NotifiedTS = DateTime.Now;
results.Notified = true;
results.PGS = SHA512.Encrypt(Guid.NewGuid().ToString());
results.DeviceType = DeviceTypes.IOS;
results.VerificationHash = ServiceShared.Crypto.SHA512.HMAC("Test", AES.GetKey("TEST"));
results.UDID = Guid.NewGuid().ToString().Substring(0, 25);
results.DeviceToken = this.DeviceToken;
results.ClientPublicKey = keyPair.PublicKey;
dbResults.Create(results);
}
for (int i = 0; i < numer_tests; i++)
{
ServiceShared.Models.Database.Traces traces = new ServiceShared.Models.Database.Traces();
traces.Message = "testing";
traces.PGS = SHA512.Encrypt(Guid.NewGuid().ToString());
traces.UDID = Guid.NewGuid().ToString().Substring(0, 25);
dbTraces.Create(traces);
}
int dbResultsCountAfter = this.DbCountResults();
int dbTraceCountAfter = this.DbCountTraces();
Assert.IsTrue(dbResultsCountAfter == (dbResultsCount + numer_tests));
Assert.IsTrue(dbTraceCountAfter == (dbTraceCount + numer_tests));
}
//[Test]
public void InsertsMultitrades()
{
KeyPair keyPair = Curve25519.GenerateKeyPair();
ServiceShared.Database.Controllers.Results dbResults = new ServiceShared.Database.Controllers.Results(this.dbContext);
ServiceShared.Database.Controllers.Traces dbTraces = new ServiceShared.Database.Controllers.Traces(this.dbContext);
int dbResultsCount = this.DbCountResults();
int dbTraceCount = this.DbCountTraces();
int numer_tests = 100000;
for (int i = 0; i < numer_tests; i++)
{
ServiceShared.Models.Database.Results results = new ServiceShared.Models.Database.Results();
results.Available = true;
results.AvailableTS = DateTime.Now;
results.Status = ResultsStatus.COMPLETED;
results.NotifiedTS = DateTime.Now;
results.Notified = true;
results.PGS = SHA512.Encrypt(Guid.NewGuid().ToString());
results.DeviceType = DeviceTypes.IOS;
results.VerificationHash = ServiceShared.Crypto.SHA512.HMAC("Test", AES.GetKey("TEST"));
results.UDID = Guid.NewGuid().ToString().Substring(0, 25);
results.DeviceToken = this.DeviceToken;
results.ClientPublicKey = keyPair.PublicKey;
dbResults.Create(results);
}
for (int i = 0; i < numer_tests; i++)
{
ServiceShared.Models.Database.Traces traces = new ServiceShared.Models.Database.Traces();
traces.Message = "testing";
traces.PGS = SHA512.Encrypt(Guid.NewGuid().ToString());
traces.UDID = Guid.NewGuid().ToString().Substring(0, 25);
dbTraces.Create(traces);
}
int dbResultsCountAfter = this.DbCountResults();
int dbTraceCountAfter = this.DbCountTraces();
Assert.IsTrue(dbResultsCountAfter == (dbResultsCount + numer_tests));
Assert.IsTrue(dbTraceCountAfter == (dbTraceCount + numer_tests));
}
}
}