Skip to content
Snippets Groups Projects
Select Git revision
  • cd6f8a804c96b40483ae799804683cfb54e38518
  • master default protected
  • 1.31
  • 4.28.0
  • 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
23 results

README.md

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