diff --git a/app.rb b/app.rb index dd2caf7..c8d8a2e 100644 --- a/app.rb +++ b/app.rb @@ -1,10 +1,15 @@ +# frozen_string_literal: true require "roda" class App < Roda route do |r| - r.on do - "Hello World!" + r.root do + "My Homepage" + end + + r.get 'about' do + "About This Site" end end diff --git a/myapp.service b/myapp.service index ff766c0..f6eb0f6 100644 --- a/myapp.service +++ b/myapp.service @@ -8,10 +8,15 @@ Group=myapp WorkingDirectory=/opt/myapp Environment=RACK_ENV=production -ExecStart=/usr/bin/puma +ExecStart=/opt/myapp/bin/puma TimeoutStopSec=300 KillMode=mixed Restart=on-failure [Install] WantedBy=multi-user.target + +# Can copy this unit file into /etc/systemd/system/ +# then edit for your installation details (user, group, directory, exec, app name) +# run "sudo systemctl daemon-reload", +# then "sudo systemctl enable --now -q myapp.service" diff --git a/test_app.rb b/test_app.rb index d06a959..20ff798 100644 --- a/test_app.rb +++ b/test_app.rb @@ -19,8 +19,27 @@ class AppTest < Minitest::Test assert true end + # Make sure not just responding to every path + def test_random_page_does_not__exist + visit '/skdjflksjdflkzxbjslkdjqweooiumnbvjslkdjflk' + refute_equal 200, page.status_code + end + def test_home_page_exists visit '/' assert_equal 200, page.status_code end + + # Can change the checked content as your site evolves: + def test_home_page_has_content + visit '/' + assert_content "My Homepage" + end + + def test_about_page_exists_and_has_content + visit '/about' + assert_equal 200, page.status_code + assert_content "About This Site" + end + end