@@ -3,21 +3,12 @@ package inspect
3
3
import (
4
4
"context"
5
5
"fmt"
6
+ "io/fs"
6
7
"testing"
7
8
8
9
"github.com/jackc/pgconn"
9
10
"github.com/spf13/afero"
10
11
"github.com/stretchr/testify/assert"
11
- "github.com/supabase/cli/internal/inspect/bloat"
12
- "github.com/supabase/cli/internal/inspect/blocking"
13
- "github.com/supabase/cli/internal/inspect/calls"
14
- "github.com/supabase/cli/internal/inspect/db_stats"
15
- "github.com/supabase/cli/internal/inspect/index_stats"
16
- "github.com/supabase/cli/internal/inspect/locks"
17
- "github.com/supabase/cli/internal/inspect/long_running_queries"
18
- "github.com/supabase/cli/internal/inspect/outliers"
19
- "github.com/supabase/cli/internal/inspect/replication_slots"
20
- "github.com/supabase/cli/internal/inspect/vacuum_stats"
21
12
"github.com/supabase/cli/pkg/pgtest"
22
13
)
23
14
@@ -31,38 +22,32 @@ var dbConfig = pgconn.Config{
31
22
32
23
func TestReportCommand (t * testing.T ) {
33
24
t .Run ("runs all queries" , func (t * testing.T ) {
34
- // Setup in-memory fs
35
25
fsys := afero .NewMemMapFs ()
36
- // Setup mock postgres
37
26
conn := pgtest .NewConn ()
38
27
defer conn .Close (t )
39
- conn .Query (wrapQuery (bloat .BloatQuery )).
40
- Reply ("COPY 0" ).
41
- Query (wrapQuery (blocking .BlockingQuery )).
42
- Reply ("COPY 0" ).
43
- Query (wrapQuery (calls .CallsQuery )).
44
- Reply ("COPY 0" ).
45
- Query (wrapQuery (locks .LocksQuery )).
46
- Reply ("COPY 0" ).
47
- Query (wrapQuery (long_running_queries .LongRunningQueriesQuery )).
48
- Reply ("COPY 0" ).
49
- Query (wrapQuery (outliers .OutliersQuery )).
50
- Reply ("COPY 0" ).
51
- Query (wrapQuery (replication_slots .ReplicationSlotsQuery )).
52
- Reply ("COPY 0" ).
53
- Query (wrapQuery (db_stats .DBStatsQuery )).
54
- Reply ("COPY 0" ).
55
- Query (wrapQuery (index_stats .IndexStatsQuery )).
56
- Reply ("COPY 0" ).
57
- Query (wrapQuery (vacuum_stats .VacuumStatsQuery )).
58
- Reply ("COPY 0" )
59
- // Run test
60
- err := Report (context .Background (), "." , dbConfig , fsys , conn .Intercept )
61
- // Check error
28
+ // Iterate over all embedded SQL files
29
+ var sqlCount int
30
+ err := fs .WalkDir (queries , "." , func (path string , d fs.DirEntry , err error ) error {
31
+ if err != nil {
32
+ return err
33
+ }
34
+ if d .IsDir () {
35
+ return nil
36
+ }
37
+ data , err := queries .ReadFile (path )
38
+ if err != nil {
39
+ return err
40
+ }
41
+ conn .Query (wrapQuery (string (data ))).Reply ("COPY 0" )
42
+ sqlCount ++
43
+ return nil
44
+ })
62
45
assert .NoError (t , err )
63
- matches , err := afero . Glob ( fsys , "*.csv" )
46
+ err = Report ( context . Background () , "." , dbConfig , fsys , conn . Intercept )
64
47
assert .NoError (t , err )
65
- assert .Len (t , matches , 20 )
48
+ matches , err := afero .Glob (fsys , "*/*.csv" )
49
+ assert .NoError (t , err )
50
+ assert .Len (t , matches , sqlCount )
66
51
})
67
52
}
68
53
0 commit comments