diff options
Diffstat (limited to 'spec/tasks')
-rw-r--r-- | spec/tasks/run-all-models.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/spec/tasks/run-all-models.rb b/spec/tasks/run-all-models.rb new file mode 100644 index 0000000..a7f4570 --- /dev/null +++ b/spec/tasks/run-all-models.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require 'dotenv/load' + +require 'yaml' + +require_relative '../../ports/dsl/nano-bots' +require_relative '../../logic/helpers/hash' + +def run_model!(cartridge, stream = true) + if stream == false + cartridge[:provider][:options] = {} unless cartridge[:provider].key?(:options) + cartridge[:provider][:options][:stream] = false + + cartridge[:provider][:settings] = {} unless cartridge[:provider].key?(:settings) + cartridge[:provider][:settings][:stream] = false + end + + puts "\n#{cartridge[:meta][:symbol]} #{cartridge[:meta][:name]}\n\n" + + bot = NanoBot.new(cartridge:) + + output = bot.eval('Hi!') do |_content, fragment, _finished, _meta| + print fragment unless fragment.nil? + end + puts '' + puts '-' * 20 + puts '' + puts output + puts '' + puts '*' * 20 +end + +puts '[NO STREAM]' + +Dir['spec/data/cartridges/models/*/*.yml'].each do |path| + run_model!( + NanoBot::Logic::Helpers::Hash.symbolize_keys( + YAML.safe_load_file(path, permitted_classes: [Symbol]) + ), + false + ) +end + +puts "\n[STREAM]" + +Dir['spec/data/cartridges/models/*/*.yml'].each do |path| + run_model!( + NanoBot::Logic::Helpers::Hash.symbolize_keys( + YAML.safe_load_file(path, permitted_classes: [Symbol]) + ) + ) +end |