Skip to content
Snippets Groups Projects
Select Git revision
  • 7424b9aca56ec5f4d818b1bed9861856ecd9d859
  • master default protected
  • v1.16.5
  • v1.16.4
  • v1.16.3
  • v1.16.2
  • v1.16.1
  • v1.16.0
  • v1.15.0
  • v1.14.0
  • v1.13.2
  • v1.13.1
  • v1.13.0
  • v1.12.0
  • v1.11.0
  • v1.10.2
  • v1.10.1
  • v1.10.0
  • v1.9.0
  • v1.8.3
  • v1.8.2
  • v1.8.1
22 results

command_test.go

Blame
  • database-7_test.go 1.31 KiB
    // Copyright 2024 schukai GmbH
    // SPDX-License-Identifier: AGPL-3.0
    
    package jobqueue
    
    import (
    	"github.com/stretchr/testify/assert"
    	"gorm.io/driver/sqlite"
    	"gorm.io/gorm"
    	"testing"
    )
    
    func TestCreateOrUpdateJob(t *testing.T) {
    	gormDB, err := gorm.Open(sqlite.Open("file:unique_id?mode=memory&cache=shared"), &gorm.Config{})
    	if err != nil {
    		t.Fatalf("an error occurred while opening the database: %v", err)
    	}
    	t.Cleanup(func() {
    		sqlDB, err := gormDB.DB()
    		if err != nil {
    			t.Fatalf("failed to get generic database object from GORM DB: %v", err)
    		}
    		_ = sqlDB.Close()
    	})
    
    	db := gormDB
    
    	// Migrate the schema
    	assert.NoError(t, db.AutoMigrate(&JobPersistence{}, &JobLog{}, &JobStats{}))
    
    	runner := &CounterRunnable{}
    	job := NewJob[CounterResult]("job1", runner)
    
    	assert.NoError(t, saveJob(job.GetPersistence(), db))
    
    	var jobPersistence JobPersistence
    	assert.NoError(t, db.First(&jobPersistence, "id = ?", job.GetID()).Error)
    	assert.Equal(t, job.GetID(), jobPersistence.ID)
    
    	assert.Equal(t, "", jobPersistence.Description)
    	assert.Equal(t, Priority(1), jobPersistence.Priority)
    	job.description = "Updated description"
    	assert.NoError(t, saveJob(job.GetPersistence(), db))
    	assert.NoError(t, db.First(&jobPersistence, "id = ?", job.GetID()).Error)
    	assert.Equal(t, "Updated description", jobPersistence.Description)
    
    }