Skip to content
Snippets Groups Projects
Select Git revision
  • e0e55fb2e7130af696dde002c9950a02ee2aad12
  • master default protected
  • 1.31
  • 4.27.0
  • 4.26.0
  • 4.25.5
  • 4.25.4
  • 4.25.3
  • 4.25.2
  • 4.25.1
  • 4.25.0
  • 4.24.3
  • 4.24.2
  • 4.24.1
  • 4.24.0
  • 4.23.6
  • 4.23.5
  • 4.23.4
  • 4.23.3
  • 4.23.2
  • 4.23.1
  • 4.23.0
  • 4.22.3
23 results

139.html

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)
    
    }