Harden alpha8 publication safety
This commit is contained in:
44
test/example_test.rb
Normal file
44
test/example_test.rb
Normal file
@@ -0,0 +1,44 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "test_helper"
|
||||
require "ripper"
|
||||
|
||||
class ExampleTest < Minitest::Test
|
||||
PATH = File.expand_path("../examples/rails_integration.rb", __dir__)
|
||||
SOURCE = File.read(PATH)
|
||||
|
||||
def test_example_parses
|
||||
assert Ripper.sexp(SOURCE)
|
||||
end
|
||||
|
||||
def test_example_uses_turn_collaborator_contracts
|
||||
assert_includes SOURCE, "def perform(assistant_message, user_message)"
|
||||
assert_includes SOURCE, "session_for: session"
|
||||
assert_includes SOURCE, "system_context: ->(record)"
|
||||
assert_includes SOURCE, "agent_name: ->(_record)"
|
||||
assert_includes SOURCE, '{ "build" }'
|
||||
assert_includes SOURCE, "def watch(reply)"
|
||||
assert_includes SOURCE, "include Opencode::ReplyObserver"
|
||||
assert_includes SOURCE, 'ActiveSupport::Notifications.instrument("assistant.#{name}", payload)'
|
||||
refute_includes SOURCE, 'Opencode::Tracer.new(prefix: "opencode.")'
|
||||
refute_includes SOURCE, ".order(:created_at).last"
|
||||
end
|
||||
|
||||
def test_example_uses_reply_indexes_for_dom_identity
|
||||
assert_includes SOURCE, 'target: "part_#{index}_message_#{@message.id}"'
|
||||
assert_includes SOURCE, "locals: { part: part, index: index, message: @message }"
|
||||
refute_includes SOURCE, "part['id']"
|
||||
end
|
||||
|
||||
def test_example_does_not_claim_unimplemented_mid_stream_persistence
|
||||
refute_includes SOURCE, "Mid-stream parts_json snapshotting"
|
||||
refute_includes SOURCE, "update_columns"
|
||||
end
|
||||
|
||||
def test_example_uses_current_fail_closed_permission_rules
|
||||
refute_match(/\{\s*type:/, SOURCE)
|
||||
assert_includes SOURCE, '{ permission: "bash", pattern: "*", action: "deny" }'
|
||||
assert_includes SOURCE, '{ permission: "external_directory", pattern: "*", action: "deny" }'
|
||||
assert_includes SOURCE, '{ permission: "edit", pattern: "*", action: "deny" }'
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user