Skip to content
Snippets Groups Projects
Select Git revision
  • 56f174e768b25966a3bc1678f6ea659b6913b0b1
  • master default protected
  • 0.5.9
  • 0.5.8
  • 0.5.7
  • 0.5.6
  • 0.5.5
  • 0.5.4
  • 0.5.3
  • 0.5.2
  • 0.5.1
  • 0.5.0
  • 0.4.17
  • 0.4.16
  • 0.4.15
  • 0.4.14
  • 0.4.13
  • 0.4.12
  • 0.4.11
  • 0.4.10
  • 0.4.9
  • 0.4.8
22 results

directories-go-lib.mk

Blame
  • runnable-gorm_test.go 1.18 KiB
    package jobqueue
    
    import (
    	"github.com/DATA-DOG/go-sqlmock"
    	"gorm.io/driver/mysql"
    	"gorm.io/gorm"
    	"testing"
    )
    
    func TestDBRunnable_Run(t *testing.T) {
    	// Mock-DB erstellen
    	db, mock, err := sqlmock.New()
    	if err != nil {
    		t.Fatalf("Could not create mock: %s", err)
    	}
    	gormDB, _ := gorm.Open(mysql.New(mysql.Config{
    		Conn:                      db,
    		SkipInitializeWithVersion: true,
    	}), &gorm.Config{})
    
    	//existsRows := sqlmock.NewRows([]string{"exists"}).
    	//	AddRow(true)
    
    	//mock.ExpectQuery("SELECT EXISTS \\( SELECT 1 FROM information_schema\\.tables WHERE table_schema = 'public' AND table_name = 'myTable3' \\);").
    	//	WillReturnRows(existsRows)
    
    	mock.ExpectExec("SELECT \\* FROM table_name").WillReturnResult(sqlmock.NewResult(1, 1))
    
    	// Erstellen Sie die zu testende Instanz
    	runnable := &DBRunnable{
    		Type:  "mysql",
    		db:    gormDB, // Injizierte Mock-DB
    		Query: "SELECT * FROM table_name",
    	}
    
    	// Rufen Sie die Run()-Methode auf und überprüfen Sie die Ergebnisse
    	result, err := runnable.Run()
    
    	// Überprüfungen hier
    	if err != nil {
    		t.Fatalf("Failed to run: %s", err)
    	}
    	if result.Status != ResultStatusSuccess {
    		t.Fatalf("Expected success, got: %d", result.Status)
    	}
    }