func AppendMigration(migration migration.Migration) { for _, m := range Migrations { if m.Version() == migration.Version() { panic("cannot have two migrations with the same version") } } Migrations = append(Migrations, migration) }
encryptionKey, err := encryption.NewKey("label", "passphrase") Expect(err).NotTo(HaveOccurred()) keyManager, err := encryption.NewKeyManager(encryptionKey, nil) Expect(err).NotTo(HaveOccurred()) cryptor = encryption.NewCryptor(keyManager, rand.Reader) serializer = format.NewSerializer(cryptor) migration = migrations.NewBase64ProtobufEncode() }) It("appends itself to the migration list", func() { Expect(migrations.Migrations).To(ContainElement(migration)) }) Describe("Version", func() { It("returns the timestamp from which it was created", func() { Expect(migration.Version()).To(BeEquivalentTo(1441411196)) }) }) Describe("Up", func() { var ( expectedDesiredLRP *models.DesiredLRP expectedActualLRP, expectedEvacuatingActualLRP *models.ActualLRP expectedTask *models.Task migrationErr error ) BeforeEach(func() { // DesiredLRP expectedDesiredLRP = model_helpers.NewValidDesiredLRP("process-guid") jsonValue, err := json.Marshal(expectedDesiredLRP)
encryptionKey, err := encryption.NewKey("label", "passphrase") Expect(err).NotTo(HaveOccurred()) keyManager, err := encryption.NewKeyManager(encryptionKey, nil) Expect(err).NotTo(HaveOccurred()) cryptor = encryption.NewCryptor(keyManager, rand.Reader) serializer = format.NewSerializer(cryptor) migration = migrations.NewSplitDesiredLRP() }) It("appends itself to the migration list", func() { Expect(migrations.Migrations).To(ContainElement(migration)) }) Describe("Version", func() { It("returns the timestamp from which it was created", func() { Expect(migration.Version()).To(BeEquivalentTo(1442529338)) }) }) var newValidDesiredLRP = func(guid string) *models.DesiredLRP { myRouterJSON := json.RawMessage(`{"foo":"bar"}`) modTag := models.NewModificationTag("epoch", 0) desiredLRP := &models.DesiredLRP{ ProcessGuid: guid, Domain: "some-domain", RootFs: "some:rootfs", Instances: 1, EnvironmentVariables: []*models.EnvironmentVariable{{Name: "FOO", Value: "bar"}}, Setup: models.WrapAction(&models.RunAction{Path: "ls", User: "******"}), Action: models.WrapAction(&models.RunAction{Path: "ls", User: "******"}), DeprecatedStartTimeoutS: 15,
Expect(err).NotTo(HaveOccurred()) keyManager, err := encryption.NewKeyManager(encryptionKey, nil) Expect(err).NotTo(HaveOccurred()) cryptor = encryption.NewCryptor(keyManager, rand.Reader) serializer = format.NewSerializer(cryptor) migration = migrations.NewTimeoutMilliseconds() db = etcddb.NewETCD(format.ENCRYPTED_PROTO, 1, 1, 1*time.Minute, cryptor, storeClient, fakeClock) }) It("appends itself to the migration list", func() { Expect(migrations.Migrations).To(ContainElement(migration)) }) Describe("Version", func() { It("returns the timestamp from which it was created", func() { Expect(migration.Version()).To(BeEquivalentTo(1451635200)) }) }) Describe("Down", func() { It("returns a not implemented error", func() { Expect(migration.Down(logger)).To(HaveOccurred()) }) }) Describe("Up", func() { var ( task *models.Task migrationErr error )
migration = migrations.NewETCDToSQL() serializer = format.NewSerializer(cryptor) rawSQLDB.Exec("DROP TABLE domains;") rawSQLDB.Exec("DROP TABLE tasks;") rawSQLDB.Exec("DROP TABLE desired_lrps;") rawSQLDB.Exec("DROP TABLE actual_lrps;") }) It("appends itself to the migration list", func() { Expect(migrations.Migrations).To(ContainElement(migration)) }) Describe("Version", func() { It("returns the timestamp from which it was created", func() { Expect(migration.Version()).To(BeEquivalentTo(1461790966)) }) }) Describe("Up", func() { JustBeforeEach(func() { migration.SetStoreClient(storeClient) migration.SetRawSQLDB(rawSQLDB) migration.SetCryptor(cryptor) migration.SetClock(fakeClock) migration.SetDBFlavor(sqlRunner.DriverName()) migrationErr = migration.Up(logger) }) Context("when there is existing data in the database", func() { BeforeEach(func() {