Skip to content
Snippets Groups Projects
Select Git revision
  • 735375b2dd2079722cad506ebecce5ecbec097f3
  • 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

runnable-sftp_test.go

Blame
  • job-syncer_test.go 1.19 KiB
    //go:build !runOnTask
    
    // Copyright 2023 schukai GmbH
    // SPDX-License-Identifier: AGPL-3.0
    package jobqueue
    
    import (
    	"gorm.io/gorm"
    	"testing"
    	"time"
    
    	"github.com/stretchr/testify/assert"
    	"gorm.io/driver/sqlite"
    )
    
    func TestSaveJobWithSQLite(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()
    	})
    
    	manager := &Manager{database: gormDB}
    	//saver := NewJobSyncer(manager)
    
    	// Starte den DBSaver
    	saver := NewJobSyncer(manager)
    
    	jobID := JobID("testJob")
    	job := NewJob[CounterResult](jobID, &CounterRunnable{})
    
    	saver.Sync(job)
    
    	time.Sleep(100 * time.Millisecond)
    
    	manager.WaitSync()
    
    	var count int64
    	gormDB.Model(&JobPersistence{}).Count(&count)
    	assert.Equal(t, int64(1), count, "It should be 1 job in the database")
    
    	// get job from database
    	var jobFromDB JobPersistence
    	gormDB.First(&jobFromDB, "id = ?", jobID)
    	assert.Equal(t, jobID, jobFromDB.ID, "JobID should be the same")
    
    }