1 files changed, 35 insertions, 0 deletions
diff --git a/testFrontend/SafeNSound.FakeUser/RandomAlarmService.cs b/testFrontend/SafeNSound.FakeUser/RandomAlarmService.cs
new file mode 100644
index 0000000..7835f89
--- /dev/null
+++ b/testFrontend/SafeNSound.FakeUser/RandomAlarmService.cs
@@ -0,0 +1,35 @@
+namespace SafeNSound.FakeUser;
+
+public class RandomAlarmService(UserStore userStore): IHostedService {
+ private Task? _listenerTask;
+ private readonly CancellationTokenSource _cts = new();
+
+ public async Task StartAsync(CancellationToken cancellationToken) {
+ _listenerTask = Run(_cts.Token);
+ }
+
+ private async Task Run(CancellationToken cancellationToken) {
+ while (!cancellationToken.IsCancellationRequested) {
+ try {
+ var user = userStore.GetRandomUser();
+ if (Random.Shared.Next(100) > 90) {
+ await user.Client!.SetAlarm(new Sdk.AlarmDto {
+ Reason = "fall"
+ });
+ }
+ else {
+ await user.Client!.DeleteAlarm();
+ }
+ }
+ catch (Exception ex) {
+ Console.WriteLine($"Error setting/deleting alarm: {ex.Message}");
+ }
+
+ await Task.Delay(TimeSpan.FromMilliseconds(100), cancellationToken);
+ }
+ }
+
+ public async Task StopAsync(CancellationToken cancellationToken) {
+ await _cts.CancelAsync();
+ }
+}
\ No newline at end of file
|