test/general.rb in runeblog-0.0.77 vs test/general.rb in runeblog-0.0.78

- old
+ new

@@ -139,21 +139,76 @@ end def test_012_create_remove_post! @blog.change_view("beta_view") assert @blog.view.to_s == "beta_view", "Expected beta_view" - before = @blog.posts.size + nposts = @blog.posts.size + ndrafts = @blog.drafts.size meta = OpenStruct.new meta.title = "Uninteresting title" num = @blog.create_new_post(meta, true) - assert @blog.posts.size == before + 1, "Don't see new post" + + assert @blog.posts.size == nposts + 1, "Don't see new post" @blog.remove_post(num) - @blog.delete_draft(num) # Hmm - assert @blog.posts.size == before, "Failed to delete post" + assert @blog.posts.size == nposts, "Failed to delete post" + + assert @blog.drafts.size == ndrafts + 1, "Don't see new draft" + @blog.delete_draft(num) + assert @blog.drafts.size == ndrafts, "Failed to delete draft" @blog.change_view("alpha_view") end - def test_013_kill_posts! - # Must think about this. + def test_013_slug_tests + hash = { "abcxyz" => "abcxyz", # 0-based + "abc'xyz" => "abcxyz", + 'abc"xyz' => "abcxyz", + '7%sol' => "7sol", + "only a test" => "only-a-test", + "abc xyz" => "abc--xyz", # change this behavior? + "ABCxyZ" => "abcxyz", + } + hash.each_pair.with_index do |keys, i| + real, fixed = *keys + result = @blog.make_slug(real)[1][5..-1] # weird? returns [99, "0099-whatever"] + assert result == fixed, "Case #{i}: expected: #{fixed.inspect}, got #{result.inspect}" + end end + + def test_014_remove_nonexistent_post! + @blog.change_view("alpha_view") + out = cmd_remove_post(99) + assert out =~ /Post 99 not found/, "Expected error about nonexistent post, got: #{out}" + end + + def test_015_kill_multiple_posts! + @blog.change_view("alpha_view") + out = cmd_list_posts(nil) + before = out.split("\n").length + out = cmd_kill("1 2 7") + out = cmd_list_posts(nil) + after = out.split("\n").length + assert after == before - 3, "list_posts saw #{before} posts, now #{after} (not #{before-3})" + system("ruby test/make_blog.rb") # This is hellish, I admit + end + + def test_016_can_deploy + dep = RuneBlog::Deployment.new("root", "rubyhacker.com", "/var/www", "whatever") + result = dep.remote_login? + assert result == true, "Valid login doesn't work" + result = dep.remote_permissions? + assert result == true, "Valid mkdir doesn't work" + end + + def test_017_cannot_deploy_wrong_user + dep = RuneBlog::Deployment.new("bad_user", "rubyhacker.com", "/var/www", "whatever") + result = dep.remote_login? + assert result.nil?, "Expected to detect login error (bad user)" + end + + def test_018_cannot_deploy_bad_server + dep = RuneBlog::Deployment.new("root", "nonexistent123.com", "/var/www", "whatever") + result = dep.remote_login? + assert result.nil?, "Expected to detect login error (bad server)" + end + end