From 527975cd1d6802cb8cdc2af687c81bb9e415e5e7 Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Tue, 19 Mar 2024 20:31:26 +0100
Subject: [PATCH] fix: race

---
 database-3_test.go | 11 +++++++++++
 database-5_test.go |  3 +++
 manager.go         |  1 -
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/database-3_test.go b/database-3_test.go
index b46304d..cdf2df9 100644
--- a/database-3_test.go
+++ b/database-3_test.go
@@ -19,6 +19,8 @@ func TestWriteToDB3(t *testing.T) {
 		t.Fatalf("a error occurred while opening the database: %v", err)
 	}
 
+	db.Logger = db.Logger.LogMode(4)
+
 	manager := NewManager()
 	manager.SetDB(db)
 	err = manager.AddWorker(NewLocalWorker(1))
@@ -35,6 +37,15 @@ func TestWriteToDB3(t *testing.T) {
 
 	time.Sleep(1 * time.Second)
 
+	// test is job in database
+	var tmpJob1 JobPersistence
+	r := db.First(&tmpJob1, "id = ?", "job2")
+
+	assert.Nil(t, r.Error)
+	assert.Equal(t, JobID("job2"), tmpJob1.ID)
+
+	time.Sleep(1 * time.Second)
+
 	err = manager.DeleteJob(job.GetID())
 	assert.Nil(t, err)
 
diff --git a/database-5_test.go b/database-5_test.go
index febe77c..bdd667a 100644
--- a/database-5_test.go
+++ b/database-5_test.go
@@ -7,6 +7,7 @@ import (
 	"gorm.io/driver/sqlite"
 	"gorm.io/gorm"
 	"testing"
+	"time"
 )
 
 func TestWriteToDB5(t *testing.T) {
@@ -35,6 +36,8 @@ func TestWriteToDB5(t *testing.T) {
 
 	sameIDJob := NewJob[CounterResult]("jobSameID", runner)
 
+	time.Sleep(500 * time.Millisecond)
+
 	// Trying to save a job with the same ID should do nothing
 	mgr.mu.Lock()
 	mgr.jobSyncer.AddJob(sameIDJob)
diff --git a/manager.go b/manager.go
index 70307a3..848458b 100644
--- a/manager.go
+++ b/manager.go
@@ -389,7 +389,6 @@ func (m *Manager) RemoveWorker(worker Worker) error {
 
 // Start starts the manager
 func (m *Manager) Start() error {
-	//var err error
 
 	m.mu.Lock()
 	defer m.mu.Unlock()
-- 
GitLab