middleware_test.go

 1package cmd
 2
 3import (
 4	"os"
 5	"testing"
 6
 7	"github.com/charmbracelet/soft-serve/config"
 8	sconfig "github.com/charmbracelet/soft-serve/server/config"
 9	"github.com/charmbracelet/wish/testsession"
10	"github.com/gliderlabs/ssh"
11	"github.com/matryer/is"
12)
13
14var ()
15
16func TestMiddleware(t *testing.T) {
17	t.Cleanup(func() {
18		os.RemoveAll("testmiddleware")
19	})
20	is := is.New(t)
21	appCfg, err := config.NewConfig(&sconfig.Config{
22		Host: "localhost",
23		SSH: sconfig.SSHConfig{
24			Port: 22223,
25		},
26		DataPath: "testmiddleware",
27	})
28	is.NoErr(err)
29	_ = testsession.New(t, &ssh.Server{
30		Handler: Middleware(appCfg)(func(s ssh.Session) {
31			t.Run("TestCatConfig", func(t *testing.T) {
32				_, err := s.Write([]byte("cat config/config.json"))
33				if err == nil {
34					t.Errorf("Expected error, got nil")
35				}
36			})
37		}),
38	}, nil)
39}