Extract CliTestCase

This commit is contained in:
David Heinemeier Hansson
2023-02-02 15:37:41 +01:00
parent 08908c3925
commit f88685a525
5 changed files with 30 additions and 49 deletions

View File

@@ -1,22 +1,6 @@
require "test_helper" require_relative "cli_test_case"
require "active_support/testing/stream"
require "mrsk/cli"
class CliAccessoryTest < ActiveSupport::TestCase
include ActiveSupport::Testing::Stream
setup do
ENV["VERSION"] = "999"
ENV["RAILS_MASTER_KEY"] = "123"
ENV["MYSQL_ROOT_PASSWORD"] = "secret123"
end
teardown do
ENV.delete("RAILS_MASTER_KEY")
ENV.delete("MYSQL_ROOT_PASSWORD")
ENV.delete("VERSION")
end
class CliAccessoryTest < CliTestCase
test "upload" do test "upload" do
assert_match "test/fixtures/files/my.cnf app-mysql/etc/mysql/my.cnf", run_command("upload", "mysql") assert_match "test/fixtures/files/my.cnf app-mysql/etc/mysql/my.cnf", run_command("upload", "mysql")
end end

View File

@@ -1,22 +1,6 @@
require "test_helper" require_relative "cli_test_case"
require "active_support/testing/stream"
require "mrsk/cli"
class CliAppTest < ActiveSupport::TestCase
include ActiveSupport::Testing::Stream
setup do
ENV["VERSION"] = "999"
ENV["RAILS_MASTER_KEY"] = "123"
ENV["MYSQL_ROOT_PASSWORD"] = "secret123"
end
teardown do
ENV.delete("RAILS_MASTER_KEY")
ENV.delete("MYSQL_ROOT_PASSWORD")
ENV.delete("VERSION")
end
class CliAppTest < CliTestCase
test "boot" do test "boot" do
assert_match /Running docker run -d --restart unless-stopped --name app-999/, run_command("boot") assert_match /Running docker run -d --restart unless-stopped --name app-999/, run_command("boot")
end end

24
test/cli/cli_test_case.rb Normal file
View File

@@ -0,0 +1,24 @@
require "test_helper"
require "active_support/testing/stream"
require "mrsk/cli"
class CliTestCase < ActiveSupport::TestCase
include ActiveSupport::Testing::Stream
setup do
ENV["VERSION"] = "999"
ENV["RAILS_MASTER_KEY"] = "123"
ENV["MYSQL_ROOT_PASSWORD"] = "secret123"
end
teardown do
ENV.delete("RAILS_MASTER_KEY")
ENV.delete("MYSQL_ROOT_PASSWORD")
ENV.delete("VERSION")
end
private
def stdouted
capture(:stdout) { yield }.strip
end
end

View File

@@ -1,13 +1,6 @@
require "test_helper" require_relative "cli_test_case"
require "active_support/testing/stream"
require "mrsk/cli"
class CliMainTest < ActiveSupport::TestCase
include ActiveSupport::Testing::Stream
setup do
end
class CliMainTest < CliTestCase
test "version" do test "version" do
version = stdouted { Mrsk::Cli::Main.new.version } version = stdouted { Mrsk::Cli::Main.new.version }
assert_equal Mrsk::VERSION, version assert_equal Mrsk::VERSION, version

View File

@@ -9,8 +9,4 @@ ActiveSupport::LogSubscriber.logger = ActiveSupport::Logger.new(STDOUT) if ENV["
SSHKit.config.backend = SSHKit::Backend::Printer SSHKit.config.backend = SSHKit::Backend::Printer
class ActiveSupport::TestCase class ActiveSupport::TestCase
private
def stdouted
capture(:stdout) { yield }.strip
end
end end