@@ -25,7 +25,7 @@ var _ = Describe("Migrations Provider", func() {
25
25
})
26
26
27
27
It ("returns a list of migrations to perform" , func () {
28
- migrationsToPerform , err := migrationsProvider .MigrationsToPerform ()
28
+ migrationsToPerform , err := migrationsProvider .MigrationsToPerform (false )
29
29
Expect (err ).ToNot (HaveOccurred ())
30
30
expectedMigrations := migrations.PolicyServerMigrations {
31
31
migrations .V1ModifiedMigrationsToPerform [0 ],
@@ -47,32 +47,51 @@ var _ = Describe("Migrations Provider", func() {
47
47
48
48
It ("returns a helpful error message for V1MigrationOccurred errors" , func () {
49
49
migrationStore .HasV1MigrationOccurredReturns (false , errors .New ("I AM ERROR" ))
50
- _ , err := migrationsProvider .MigrationsToPerform ()
50
+ _ , err := migrationsProvider .MigrationsToPerform (false )
51
51
52
52
Expect (err ).To (MatchError ("failed to check V1 Migration status: I AM ERROR" ))
53
53
})
54
54
55
55
It ("returns a helpful error message for V2MigrationOccurred errors" , func () {
56
56
migrationStore .HasV2MigrationOccurredReturns (false , errors .New ("I AM ERROR" ))
57
- _ , err := migrationsProvider .MigrationsToPerform ()
57
+ _ , err := migrationsProvider .MigrationsToPerform (false )
58
58
59
59
Expect (err ).To (MatchError ("failed to check V2 Migration status: I AM ERROR" ))
60
60
})
61
61
62
62
It ("returns a helpful error message for V3MigrationOccurred errors" , func () {
63
63
migrationStore .HasV3MigrationOccurredReturns (false , errors .New ("I AM ERROR" ))
64
- _ , err := migrationsProvider .MigrationsToPerform ()
64
+ _ , err := migrationsProvider .MigrationsToPerform (false )
65
65
66
66
Expect (err ).To (MatchError ("failed to check V3 Migration status: I AM ERROR" ))
67
67
})
68
68
69
+ Context ("when a migration is set to skip on mysql 5.7" , func () {
70
+ Context ("and the database is not mysql 5.7" , func () {
71
+ It ("lists the migration" , func () {
72
+ migrationsToPerform , err := migrationsProvider .MigrationsToPerform (false )
73
+ Expect (err ).ToNot (HaveOccurred ())
74
+ Expect (migrationsToPerform ).To (ContainElement (migrations .MigrationsToPerform [78 ]))
75
+ Expect (migrationsToPerform ).To (ContainElement (migrations .MigrationsToPerform [79 ]))
76
+ })
77
+ })
78
+ Context ("and the database is mysql 5.7" , func () {
79
+ It ("doesn't list the migration" , func () {
80
+ migrationsToPerform , err := migrationsProvider .MigrationsToPerform (true )
81
+ Expect (err ).ToNot (HaveOccurred ())
82
+ Expect (migrationsToPerform ).ToNot (ContainElement (migrations .MigrationsToPerform [78 ]))
83
+ Expect (migrationsToPerform ).ToNot (ContainElement (migrations .MigrationsToPerform [79 ]))
84
+ })
85
+ })
86
+ })
87
+
69
88
Context ("when legacy v1 migration has already occurred" , func () {
70
89
BeforeEach (func () {
71
90
migrationStore .HasV1MigrationOccurredReturns (true , nil )
72
91
})
73
92
74
93
It ("returns a legacy v1 migration in the list of migrations to perform" , func () {
75
- migrationsToPerform , err := migrationsProvider .MigrationsToPerform ()
94
+ migrationsToPerform , err := migrationsProvider .MigrationsToPerform (false )
76
95
Expect (err ).ToNot (HaveOccurred ())
77
96
expectedMigrations := migrations.PolicyServerMigrations {
78
97
migrations .V1LegacyMigrationsToPerform [0 ],
@@ -99,7 +118,7 @@ var _ = Describe("Migrations Provider", func() {
99
118
})
100
119
101
120
It ("returns a legacy v2 migration in the list of migrations to perform" , func () {
102
- migrationsToPerform , err := migrationsProvider .MigrationsToPerform ()
121
+ migrationsToPerform , err := migrationsProvider .MigrationsToPerform (false )
103
122
Expect (err ).ToNot (HaveOccurred ())
104
123
expectedMigrations := migrations.PolicyServerMigrations {
105
124
migrations .V2LegacyMigrationsToPerform [0 ],
@@ -123,7 +142,7 @@ var _ = Describe("Migrations Provider", func() {
123
142
})
124
143
125
144
It ("returns a legacy v3 migration in the list of migrations to perform" , func () {
126
- migrationsToPerform , err := migrationsProvider .MigrationsToPerform ()
145
+ migrationsToPerform , err := migrationsProvider .MigrationsToPerform (false )
127
146
Expect (err ).ToNot (HaveOccurred ())
128
147
expectedMigrations := migrations.PolicyServerMigrations {
129
148
migrations .V3LegacyMigrationsToPerform [0 ],
0 commit comments