cloud/lib/component: regression test for review/1502

Change-Id: I8050ce31d7e5c6bd3e85a3d085052442a473881d
Reviewed-on: https://review.monogon.dev/c/monogon/+/1504
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
Tested-by: Jenkins CI
diff --git a/cloud/bmaas/bmdb/migrations_test.go b/cloud/bmaas/bmdb/migrations_test.go
index 24d17a4..052d5e1 100644
--- a/cloud/bmaas/bmdb/migrations_test.go
+++ b/cloud/bmaas/bmdb/migrations_test.go
@@ -38,3 +38,22 @@
 		t.Fatalf("Second down migration failed: %v", err)
 	}
 }
+
+// TestMigrateTwice makes sure we don't hit https://review.monogon.dev/1502 again.
+func TestMigrateTwice(t *testing.T) {
+	// Start with an empty database.
+	b := dut()
+	_, err := b.Open(false)
+	if err != nil {
+		t.Fatalf("Starting empty database failed: %v", err)
+	}
+
+	// Migrations go up.
+	if err := b.Database.MigrateUp(); err != nil {
+		t.Fatalf("Initial up migration failed: %v", err)
+	}
+	// Migrations go up again.
+	if err := b.Database.MigrateUp(); err != nil {
+		t.Fatalf("Initial up migration failed: %v", err)
+	}
+}