Skip to content
Snippets Groups Projects
Select Git revision
  • 9e4f7dc34d470a34272ab3f7eb89a8b18d5f8d3e
  • master default protected
  • v1.23.2
  • v1.23.1
  • v1.23.0
  • v1.22.0
  • v1.21.1
  • v1.21.0
  • v1.20.3
  • v1.20.2
  • v1.20.1
  • v1.20.0
  • v1.19.4
  • v1.19.3
  • v1.19.2
  • v1.19.1
  • v1.19.0
  • v1.18.2
  • v1.18.1
  • v1.18.0
  • v1.17.0
  • v1.16.1
22 results

database-3_test.go

Blame
  • Volker Schukai's avatar
    Volker Schukai authored
    527975cd
    History
    database-3_test.go 1.18 KiB
    //go:build !runOnTask
    
    // Copyright 2023 schukai GmbH
    // SPDX-License-Identifier: AGPL-3.0
    package jobqueue
    
    import (
    	"github.com/stretchr/testify/assert"
    	"gorm.io/driver/sqlite"
    	"gorm.io/gorm"
    	"testing"
    	"time"
    )
    
    func TestWriteToDB3(t *testing.T) {
    
    	db, err := gorm.Open(sqlite.Open("file::memory:?cache=shared"), &gorm.Config{})
    	if err != nil {
    		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))
    	assert.Nil(t, err)
    
    	err = manager.Start()
    	assert.Nil(t, err)
    	runner := &CounterRunnable{}
    	job := NewJob[CounterResult]("job2", runner)
    
    	scheduler := &InstantScheduler{}
    	err = manager.ScheduleJob(job, scheduler)
    	assert.Nil(t, err)
    
    	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)
    
    	// test is job in database
    	var tmpJob JobPersistence
    	err = db.First(&tmpJob, "id = ?", "job2").Error
    	assert.NotNil(t, err)
    
    }