github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/gcs/targetFolderHandler_test.go (about)

     1  //go:build unit
     2  // +build unit
     3  
     4  package gcs
     5  
     6  import (
     7  	"fmt"
     8  	"testing"
     9  )
    10  
    11  func TestGetTargetFolder(t *testing.T) {
    12  	tests := []struct {
    13  		folderPath     string
    14  		stepResultType string
    15  		subFolder      string
    16  		expected       string
    17  	}{
    18  		{folderPath: "folder/path/", stepResultType: "general", subFolder: "sub/folder", expected: "folder/path/general/sub/folder"},
    19  		{folderPath: "folder/path/", subFolder: "sub/folder", expected: "folder/path/sub/folder"},
    20  		{folderPath: "folder/path/", stepResultType: "general", expected: "folder/path/general"},
    21  		{folderPath: "folder1", stepResultType: "general", subFolder: "folder2/", expected: "folder1/general/folder2"}}
    22  
    23  	for key, tt := range tests {
    24  		t.Run(fmt.Sprintf("Row %v", key+1), func(t *testing.T) {
    25  			actualTargetFolder := GetTargetFolder(tt.folderPath, tt.stepResultType, tt.subFolder)
    26  			if actualTargetFolder != tt.expected {
    27  				t.Errorf("Expected '%v' was '%v'", tt.expected, actualTargetFolder)
    28  			}
    29  		})
    30  	}
    31  }