Something went wrong. Try again.
Monorepo for Tangled forked from tangled.org/core
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940package spindle
import ( "context" "errors" "fmt" "net/http" "path/filepath" "testing")
func loadWorkflowFiles(t *testing.T, files int) error { t.Helper() src := newSourceRepo(t, "sha1") for i := range files { writeTestFile(t, filepath.Join(src, fmt.Sprintf(".tangled/workflows/w%03d.yaml", i)), "when: []\n") } commitEverything(t, src) sha := gitInDir(t, src, "rev-parse", "HEAD") _, _, err := (&Spindle{}).loadPipeline(context.Background(), src, filepath.Join(t.TempDir(), "checkout"), sha) return err}
func TestLoadPipelineRefusesMoreWorkflowFilesThanItRuns(t *testing.T) { if err := loadWorkflowFiles(t, maxWorkflowFiles); err != nil { t.Fatalf("a repo with %d workflow files was refused: %v", maxWorkflowFiles, err) } if err := loadWorkflowFiles(t, maxWorkflowFiles+1); !errors.Is(err, errTooManyWorkflowFiles) { t.Fatalf("a repo with %d workflow files loaded with err = %v, want errTooManyWorkflowFiles", maxWorkflowFiles+1, err) }}
func TestTooManyWorkflowFilesCarryAStatusTheKnotDrops(t *testing.T) { err := refusedAsStatus(fmt.Errorf("loading pipeline: %w", errTooManyWorkflowFiles)) var coded interface{ HTTPStatus() int } if !errors.As(err, &coded) || coded.HTTPStatus() != http.StatusUnprocessableEntity { t.Fatalf("err = %v, want a 422", err) }}