MCPcopy Create free account
hub / github.com/exercism/cli / TestSubmitFilesFromDifferentSolutions

Function TestSubmitFilesFromDifferentSolutions

cmd/submit_test.go:461–497  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

459}
460
461func TestSubmitFilesFromDifferentSolutions(t *testing.T) {
462 tmpDir, err := os.MkdirTemp("", "dir-1-submit")
463 defer os.RemoveAll(tmpDir)
464 assert.NoError(t, err)
465
466 dir1 := filepath.Join(tmpDir, "bogus-track", "bogus-exercise-1")
467 os.MkdirAll(dir1, os.FileMode(0755))
468 writeFakeMetadata(t, dir1, "bogus-track", "bogus-exercise-1")
469
470 dir2 := filepath.Join(tmpDir, "bogus-track", "bogus-exercise-2")
471 os.MkdirAll(dir2, os.FileMode(0755))
472 writeFakeMetadata(t, dir2, "bogus-track", "bogus-exercise-2")
473
474 file1 := filepath.Join(dir1, "file-1.txt")
475 err = os.WriteFile(file1, []byte("This is file 1."), os.FileMode(0755))
476 assert.NoError(t, err)
477
478 file2 := filepath.Join(dir2, "file-2.txt")
479 err = os.WriteFile(file2, []byte("This is file 2."), os.FileMode(0755))
480 assert.NoError(t, err)
481
482 v := viper.New()
483 v.Set("token", "abc123")
484 v.Set("workspace", tmpDir)
485 v.Set("apibaseurl", "http://api.example.com")
486
487 cfg := config.Config{
488 Persister: config.InMemoryPersister{},
489 Dir: tmpDir,
490 UserViperConfig: v,
491 }
492
493 err = runSubmit(cfg, pflag.NewFlagSet("fake", pflag.PanicOnError), []string{file1, file2})
494 if assert.Error(t, err) {
495 assert.Regexp(t, "different solutions", err.Error())
496 }
497}
498
499func fakeSubmitServer(t *testing.T, submittedFiles map[string]string) *httptest.Server {
500 handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {

Callers

nothing calls this directly

Calls 3

writeFakeMetadataFunction · 0.85
runSubmitFunction · 0.85
ErrorMethod · 0.45

Tested by

no test coverage detected