Currently, response bodies mix trailing newline and no trailing newline, and it kind of works because bin/ubi is written in Ruby and uses IO#puts, which will automatically add a newline if the string being printed does not end with a newline. However, other languages may not have similar behavior, and for consistency, it is best if the server always uses newlines in cli responses.
21 lines
812 B
Ruby
21 lines
812 B
Ruby
# frozen_string_literal: true
|
|
|
|
require_relative "../spec_helper"
|
|
|
|
RSpec.describe Clover, "cli pg add-firewall-rule" do
|
|
before do
|
|
expect(Config).to receive(:postgres_service_project_id).and_return(@project.id).at_least(:once)
|
|
end
|
|
|
|
it "adds a firewall rule to the database" do
|
|
cli(%w[pg eu-central-h1/test-pg create])
|
|
pg = PostgresResource.first
|
|
expect(pg.firewall_rules_dataset.select_order_map(:cidr).map(&:to_s)).to eq %w[0.0.0.0/0]
|
|
expect(cli(%w[pg eu-central-h1/test-pg add-firewall-rule 1.2.3.0/24])).to eq <<~END
|
|
Firewall rule added to PostgreSQL database.
|
|
rule id: #{pg.firewall_rules_dataset.first(cidr: "1.2.3.0/24").ubid}, cidr: 1.2.3.0/24
|
|
END
|
|
expect(pg.firewall_rules_dataset.select_order_map(:cidr).map(&:to_s)).to eq %w[0.0.0.0/0 1.2.3.0/24]
|
|
end
|
|
end
|