Files
ubicloud/spec/routes/api/cli/pg/restore_spec.rb
Jeremy Evans cbf2d95cbb Revert the backout of the CLI support
This reverts commit b741fe9005.

This was backed out as problems started occuring shortly after
a large CLI pull request was merged.  However, log analysis
shows that the CLI was unrelated to the problems.
2025-02-11 16:09:46 -08:00

24 lines
1.1 KiB
Ruby

# frozen_string_literal: true
require_relative "../spec_helper"
RSpec.describe Clover, "cli pg restore" do
before do
expect(Config).to receive(:postgres_service_project_id).and_return(@project.id).at_least(:once)
end
it "schedules a restore of the database to the given time" do
backup = Struct.new(:key, :last_modified)
restore_target = Time.now.utc
expect(MinioCluster).to receive(:[]).and_return(instance_double(MinioCluster, url: "dummy-url", root_certs: "dummy-certs")).at_least(:once)
expect(Minio::Client).to receive(:new).and_return(instance_double(Minio::Client, list_objects: [backup.new("basebackups_005/backup_stop_sentinel.json", restore_target - 10 * 60)])).at_least(:once)
cli(%w[pg eu-central-h1/test-pg create])
expect(PostgresResource.select_order_map(:name)).to eq %w[test-pg]
body = cli(%w[pg eu-central-h1/test-pg restore test-pg-2] << Time.now.utc)
expect(PostgresResource.select_order_map(:name)).to eq %w[test-pg test-pg-2]
pg = PostgresResource.first(name: "test-pg-2")
expect(body).to eq "Restored PostgreSQL database scheduled for creation with id: #{pg.ubid}"
end
end