Skip to content
Snippets Groups Projects
Select Git revision
  • dd8967a88c88bd37cbc1a99b52544b33de204fd1
  • master default protected
  • 1.31
  • 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
  • 4.22.2
  • 4.22.1
  • 4.22.0
  • 4.21.0
  • 4.20.1
  • 4.20.0
  • 4.19.0
  • 4.18.0
  • 4.17.0
23 results

common.mjs

Blame
  • runnable-shell_test.go 1.13 KiB
    // Copyright 2023 schukai GmbH
    // SPDX-License-Identifier: AGPL-3.0
    
    package jobqueue
    
    import (
    	"context"
    	"os"
    	"path"
    	"testing"
    )
    
    func TestShellRunnable_Run(t *testing.T) {
    	// Erstellen einer temporären Shell-Datei#
    	tmpDir := t.TempDir()
    	tmpFile := "example.sh"
    	tmpPath := path.Join(tmpDir, tmpFile)
    
    	fp, err := os.Create(tmpPath)
    	if err != nil {
    		t.Fatal(err)
    	}
    	defer fp.Close()
    
    	content := []byte("#!/bin/sh\necho 'Hello, world!'\n")
    	if _, err := fp.Write(content); err != nil {
    		t.Fatal(err)
    	}
    
    	// ShellRunnable mit dem Pfad der temporären Datei initialisieren
    	shellRunnable := ShellRunnable{ScriptPath: fp.Name()}
    
    	// Run-Methode aufrufen
    	ctx := context.Background()
    	result, err := shellRunnable.Run(ctx)
    
    	// Überprüfungen
    	if err != nil {
    		t.Errorf("Run() failed with error: %v", err)
    	}
    	if result.Status != ResultStatusSuccess {
    		t.Errorf("Expected status Success, got %v", result.Status)
    	}
    
    	if result.Data.Output != "Hello, world!" {
    		t.Errorf("Expected output 'Hello, world!', got '%v'", result.Data.Output)
    	}
    	if result.Data.ExitCode != 0 {
    		t.Errorf("Expected exit code 0, got %v", result.Data.ExitCode)
    	}
    }