Skip to content

Commit 8c397d9

Browse files
henrybarretogustavosbarreto
authored andcommitted
tests(api): readd removed test to migration 99
1 parent 2e6b661 commit 8c397d9

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package migrations
2+
3+
import (
4+
"context"
5+
"testing"
6+
7+
"github.com/stretchr/testify/assert"
8+
"github.com/stretchr/testify/require"
9+
migrate "github.com/xakep666/mongo-migrate"
10+
"go.mongodb.org/mongo-driver/bson"
11+
)
12+
13+
func TestMigration99Up(t *testing.T) {
14+
ctx := context.Background()
15+
16+
cases := []struct {
17+
description string
18+
setup func() error
19+
verify func(tt *testing.T)
20+
}{
21+
{
22+
description: "mark recorded to false for sessions without event types",
23+
setup: func() error {
24+
if _, err := c.
25+
Database("test").
26+
Collection("sessions").
27+
InsertOne(ctx, bson.M{
28+
"uid": "first",
29+
"recorded": true,
30+
"events": bson.M{"types": []any{}},
31+
}); err != nil {
32+
return err
33+
}
34+
35+
if _, err := c.
36+
Database("test").
37+
Collection("sessions").
38+
InsertOne(ctx, bson.M{
39+
"uid": "second",
40+
"recorded": true,
41+
"events": bson.M{"types": []any{
42+
"shell",
43+
}},
44+
}); err != nil {
45+
return err
46+
}
47+
48+
return nil
49+
},
50+
verify: func(tt *testing.T) {
51+
sessions := []map[string]any{}
52+
53+
cursor, err := c.Database("test").Collection("sessions").Find(ctx, bson.M{})
54+
require.NoError(tt, err)
55+
56+
ctx := context.Background()
57+
58+
err = cursor.All(ctx, &sessions)
59+
require.NoError(tt, err)
60+
61+
recorded, ok := sessions[0]["recorded"]
62+
require.True(tt, ok)
63+
require.Equal(tt, false, recorded)
64+
65+
recorded, ok = sessions[1]["recorded"]
66+
require.True(tt, ok)
67+
require.Equal(tt, true, recorded)
68+
},
69+
},
70+
}
71+
72+
for _, tc := range cases {
73+
t.Run(tc.description, func(tt *testing.T) {
74+
tt.Cleanup(func() {
75+
assert.NoError(tt, srv.Reset())
76+
})
77+
78+
require.NoError(tt, tc.setup())
79+
80+
migrates := migrate.NewMigrate(c.Database("test"), GenerateMigrations()[98])
81+
require.NoError(tt, migrates.Up(ctx, migrate.AllAvailable))
82+
83+
tc.verify(tt)
84+
})
85+
}
86+
}

0 commit comments

Comments
 (0)